(supergate-has-contradiction x) → contradictionp
Function:
(defun supergate-has-contradiction (x) (declare (xargs :guard (lit-listp x))) (declare (xargs :guard (consp x))) (let ((__function__ 'supergate-has-contradiction)) (declare (ignorable __function__)) (or (and (mbt (consp x)) (eql (lit-fix (car x)) 0)) (and (consp (cdr x)) (or (eql (lit-fix (car x)) (lit-negate (cadr x))) (supergate-has-contradiction (cdr x)))))))
Theorem:
(defthm supergate-has-contradiction-correct (b* nil (implies (supergate-has-contradiction x) (equal (aignet-eval-conjunction x invals regvals aignet) 0))))
Theorem:
(defthm supergate-has-contradiction-of-lit-list-fix-x (equal (supergate-has-contradiction (lit-list-fix x)) (supergate-has-contradiction x)))
Theorem:
(defthm supergate-has-contradiction-lit-list-equiv-congruence-on-x (implies (satlink::lit-list-equiv x x-equiv) (equal (supergate-has-contradiction x) (supergate-has-contradiction x-equiv))) :rule-classes :congruence)