(aabf-logapp-nss n a b) → a-app-b
Function:
(defun aabf-logapp-nss (n a b) (declare (xargs :guard (and (natp n) (true-listp a) (true-listp b)))) (declare (xargs :guard (and))) (let ((__function__ 'aabf-logapp-nss)) (declare (ignorable __function__)) (b* ((b1 (aabf-car b)) ((when (aabf-syntactically-signext-p (scdr b) b1)) (aabf-signext-nss n a b1))) (aabf-logapp-nss-aux n a b))))
Theorem:
(defthm trivial-theorem-about-aabf-logapp-nss (b* nil (b* ((?ignore (aabf-logapp-nss n a b))) t)) :rule-classes nil)
Theorem:
(defthm true-listp-of-aabf-logapp-nss.a-app-b (b* ((?a-app-b (aabf-logapp-nss n a b))) (true-listp a-app-b)) :rule-classes :type-prescription)
Theorem:
(defthm aabf-p-of-aabf-logapp-nss (b* ((a-app-b (aabf-logapp-nss n a b))) (implies (and (aabflist-p a man) (aabflist-p b man)) (and (aabflist-p a-app-b man)))))
Theorem:
(defthm aabf-eval-of-aabf-logapp-nss (b* ((a-app-b (aabf-logapp-nss n a b))) (implies (and (aabflist-p a man) (aabflist-p b man)) (and (equal (bools->int (aabflist-eval a-app-b env man)) (logapp (nfix n) (bools->int (aabflist-eval a env man)) (bools->int (aabflist-eval b env man))))))))
Theorem:
(defthm aabf-pred-of-aabf-logapp-nss (b* ((a-app-b (aabf-logapp-nss n a b))) (implies (and (aabflist-p a man) (aabflist-p b man) (aabflist-pred a man) (aabflist-pred b man)) (and (aabflist-pred a-app-b man)))))