(nat-bool-list-nats x) → *
Function:
(defun nat-bool-list-nats (x) (declare (xargs :guard (nat-bool-listp x))) (let ((__function__ 'nat-bool-list-nats)) (declare (ignorable __function__)) (if (atom x) nil (if (booleanp (car x)) (nat-bool-list-nats (cdr x)) (cons (lnfix (car x)) (nat-bool-list-nats (cdr x)))))))
Theorem:
(defthm nat-bool-list-nats-of-list-fix (equal (nat-bool-list-nats (list-fix x)) (nat-bool-list-nats x)))
Theorem:
(defthm nat-bool-list-nats-of-aig-sterm (equal (nat-bool-list-nats (aig-sterm x)) (if (booleanp x) nil (list (nfix x)))))
Theorem:
(defthm nat-bool-list-nats-of-aig-scons-bool (implies (booleanp x) (equal (nat-bool-list-nats (aig-scons x y)) (nat-bool-list-nats y))))
Theorem:
(defthm nat-bool-list-nats-of-aig-scons-nat (implies (and (natp x) (not (member x (nat-bool-list-nats y)))) (equal (nat-bool-list-nats (aig-scons x y)) (cons x (nat-bool-list-nats y)))))