(f-aig-not a) negates the FAIG
(f-aig-not a) → *
Function:
(defun f-aig-not (a) (declare (xargs :guard t)) (let ((__function__ 'f-aig-not)) (declare (ignorable __function__)) (b* (((faig a1 a0) a)) (cons (aig-not (aig-and a1 (aig-not a0))) (aig-not (aig-and a0 (aig-not a1)))))))
Theorem:
(defthm faig-eval-of-f-aig-not (equal (faig-eval (f-aig-not a) env) (f-aig-not (faig-eval a env))))
Theorem:
(defthm faig-fix-equiv-implies-equal-f-aig-not-1 (implies (faig-fix-equiv a a-equiv) (equal (f-aig-not a) (f-aig-not a-equiv))) :rule-classes (:congruence))
Theorem:
(defthm faig-equiv-implies-faig-equiv-f-aig-not-1 (implies (faig-equiv a a-equiv) (faig-equiv (f-aig-not a) (f-aig-not a-equiv))) :rule-classes (:congruence))