(t-aig-xor a b) xors together the FAIGs
(t-aig-xor a b) → *
Function:
(defun t-aig-xor (a b) (declare (xargs :guard t)) (let ((__function__ 't-aig-xor)) (declare (ignorable __function__)) (t-aig-or (t-aig-and a (t-aig-not b)) (t-aig-and (t-aig-not a) b))))
Theorem:
(defthm faig-eval-of-t-aig-xor (equal (faig-eval (t-aig-xor a b) env) (t-aig-xor (faig-eval a env) (faig-eval b env))))
Theorem:
(defthm faig-fix-equiv-implies-equal-t-aig-xor-1 (implies (faig-fix-equiv a a-equiv) (equal (t-aig-xor a b) (t-aig-xor a-equiv b))) :rule-classes (:congruence))
Theorem:
(defthm faig-fix-equiv-implies-equal-t-aig-xor-2 (implies (faig-fix-equiv b b-equiv) (equal (t-aig-xor a b) (t-aig-xor a b-equiv))) :rule-classes (:congruence))
Theorem:
(defthm faig-equiv-implies-faig-equiv-t-aig-xor-2 (implies (faig-equiv b b-equiv) (faig-equiv (t-aig-xor a b) (t-aig-xor a b-equiv))) :rule-classes (:congruence))
Theorem:
(defthm faig-equiv-implies-faig-equiv-t-aig-xor-1 (implies (faig-equiv a a-equiv) (faig-equiv (t-aig-xor a b) (t-aig-xor a-equiv b))) :rule-classes (:congruence))