(sv::aig-logapp-nss n a b) → a-app-b
Function:
(defun sv::aig-logapp-nss (n a b) (declare (xargs :guard (and (natp n) (true-listp a) (true-listp b)))) (let ((__function__ 'sv::aig-logapp-nss)) (declare (ignorable __function__)) (b* (((when (zp n)) (llist-fix b)) ((mv first rest &) (first/rest/end a))) (sv::aig-scons first (sv::aig-logapp-nss (1- n) rest b)))))
Theorem:
(defthm sv::true-listp-of-aig-logapp-nss (b* ((a-app-b (sv::aig-logapp-nss n a b))) (true-listp a-app-b)) :rule-classes :type-prescription)
Theorem:
(defthm sv::aig-logapp-nss-correct (b* ((a-app-b (sv::aig-logapp-nss n a b))) (and (equal (sv::aig-list->s a-app-b env) (logapp (nfix n) (sv::aig-list->s a env) (sv::aig-list->s b env))))))