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