Basic theorems about faig-compose-alist.
Theorem:
(defthm faig-eval-alist-of-faig-compose-alist (equal (faig-eval-alist (faig-compose-alist x al1) al2) (faig-eval-alist x (aig-eval-alist al1 al2))))
Theorem:
(defthm lookup-in-faig-compose-alist (equal (hons-assoc-equal k (faig-compose-alist x env)) (and (hons-assoc-equal k x) (cons k (faig-compose (cdr (hons-assoc-equal k x)) env)))))
Theorem:
(defthm faig-alist-equiv-implies-faig-alist-equiv-faig-compose-alist-1 (implies (faig-alist-equiv x x-equiv) (faig-alist-equiv (faig-compose-alist x al) (faig-compose-alist x-equiv al))) :rule-classes (:congruence))
Theorem:
(defthm aig-alist-equiv-implies-faig-alist-equiv-faig-compose-alist-2 (implies (aig-alist-equiv al al-equiv) (faig-alist-equiv (faig-compose-alist x al) (faig-compose-alist x al-equiv))) :rule-classes (:congruence))
Theorem:
(defthm alist-equiv-implies-equal-faig-compose-alist-2 (implies (alist-equiv env env-equiv) (equal (faig-compose-alist x env) (faig-compose-alist x env-equiv))) :rule-classes (:congruence))