Apply eval-bdd to a list of UBDDs.
The resulting list is honsed together.
BOZO why do we hons the list, I suspect it makes no sense to do so...
Function:
(defun eval-bdd-list (x values) (declare (xargs :guard t)) (if (consp x) (hons (eval-bdd (car x) values) (eval-bdd-list (cdr x) values)) nil))
Theorem:
(defthm eval-bdd-list-when-not-consp (implies (not (consp x)) (equal (eval-bdd-list x values) nil)))
Theorem:
(defthm eval-bdd-list-of-cons (equal (eval-bdd-list (cons a x) values) (cons (eval-bdd a values) (eval-bdd-list x values))))
Theorem:
(defthm consp-eval-bdd-list (equal (consp (eval-bdd-list x env)) (consp x)))