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