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