(aig-not x) constructs an AIG representing
(aig-not x) → aig
This could be implemented as
Function:
(defun aig-not (x) (declare (xargs :guard t)) (let ((__function__ 'aig-not)) (declare (ignorable __function__)) (cond ((eq x nil) t) ((eq x t) nil) ((and (not (aig-atom-p x)) (eq (cdr x) nil)) (car x)) (t (hons x nil)))))
Theorem:
(defthm aig-eval-not (equal (aig-eval (aig-not x) env) (not (aig-eval x env))))