(match-aig-not x) → (mv okp arg)
Function:
(defun match-aig-not$inline (x) (declare (xargs :guard t)) (let ((__function__ 'match-aig-not)) (declare (ignorable __function__)) (if (and (not (aig-atom-p x)) (not (cdr x))) (mv t (car x)) (mv nil nil))))
Theorem:
(defthm match-aig-not-correct (b* (((mv okp arg) (match-aig-not x))) (implies okp (equal (aig-eval x env) (not (aig-eval arg env))))))
Theorem:
(defthm acl2-count-of-match-aig-not-weak (b* (((mv ?okp arg) (match-aig-not x))) (<= (acl2-count arg) (acl2-count x))) :rule-classes ((:rewrite) (:linear)))
Theorem:
(defthm acl2-count-of-match-aig-not-strong (b* (((mv okp arg) (match-aig-not x))) (implies okp (< (acl2-count arg) (acl2-count x)))) :rule-classes ((:rewrite) (:linear)))