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