(aabf-scons b v) → res
Function:
(defun aabf-scons (b v) (declare (xargs :guard (true-listp v))) (declare (xargs :guard (and))) (let ((__function__ 'aabf-scons)) (declare (ignorable __function__)) (b* ((v (llist-fix v))) (if (atom v) (if (aabf-syntactically-equal b (aabf-false)) (list (aabf-false)) (list b (aabf-false))) (if (s-endp v) (if (aabf-syntactically-equal b (car v)) v (cons b v)) (cons b v))))))
Theorem:
(defthm trivial-theorem-about-aabf-scons (b* nil (b* ((?ignore (aabf-scons b v))) t)) :rule-classes nil)
Theorem:
(defthm true-listp-of-aabf-scons.res (b* ((?res (aabf-scons b v))) (true-listp res)) :rule-classes :type-prescription)
Theorem:
(defthm aabf-p-of-aabf-scons (b* ((res (aabf-scons b v))) (implies (and (aabf-p b man) (aabflist-p v man)) (and (aabflist-p res man)))))
Theorem:
(defthm aabf-eval-of-aabf-scons (b* ((res (aabf-scons b v))) (implies (and (aabf-p b man) (aabflist-p v man)) (and (equal (bools->int (aabflist-eval res env man)) (intcons (aabf-eval b env man) (bools->int (aabflist-eval v env man))))))))
Theorem:
(defthm aabf-pred-of-aabf-scons (b* ((res (aabf-scons b v))) (implies (and (aabf-p b man) (aabflist-p v man) (aabf-pred b man) (aabflist-pred v man)) (and (aabflist-pred res man)))))