(aig-logcollapse-ns n x) → *
Function:
(defun aig-logcollapse-ns (n x) (declare (xargs :guard (and (natp n) (true-listp x)))) (let ((__function__ 'aig-logcollapse-ns)) (declare (ignorable __function__)) (b* ((n (lnfix n))) (aig-logior-ss (aig-loghead-ns n x) (aig-logapp-nss n nil (aig-scons (aig-not (aig-=-ss nil (aig-logtail-ns n x))) (aig-sterm nil)))))))
Theorem:
(defthm aig-logcollapse-ns-correct (equal (aig-list->s (aig-logcollapse-ns n x) env) (bitops::logcollapse n (aig-list->s x env))))
Theorem:
(defthm aig-logcollapse-ns-of-nfix-n (equal (aig-logcollapse-ns (nfix n) x) (aig-logcollapse-ns n x)))
Theorem:
(defthm aig-logcollapse-ns-nat-equiv-congruence-on-n (implies (nat-equiv n n-equiv) (equal (aig-logcollapse-ns n x) (aig-logcollapse-ns n-equiv x))) :rule-classes :congruence)
Theorem:
(defthm aig-logcollapse-ns-of-list-fix-x (equal (aig-logcollapse-ns n (list-fix x)) (aig-logcollapse-ns n x)))
Theorem:
(defthm aig-logcollapse-ns-list-equiv-congruence-on-x (implies (list-equiv x x-equiv) (equal (aig-logcollapse-ns n x) (aig-logcollapse-ns n x-equiv))) :rule-classes :congruence)