Construct the NOT of a BFR.
(bfr-not x) → bfr
Function:
(defun bfr-not (x) (declare (xargs :guard t)) (let ((__function__ 'bfr-not)) (declare (ignorable __function__)) (mbe :logic (bfr-case :bdd (acl2::q-not x) :aig (acl2::aig-not x)) :exec (if (booleanp x) (not x) (bfr-case :bdd (acl2::q-not x) :aig (acl2::aig-not x))))))
Theorem:
(defthm bfr-eval-bfr-not (equal (bfr-eval (bfr-not x) env) (not (bfr-eval x env))))
Theorem:
(defthm bfr-equiv-implies-bfr-equiv-bfr-not-1 (implies (bfr-equiv x x-equiv) (bfr-equiv (bfr-not x) (bfr-not x-equiv))) :rule-classes (:congruence))