other
(in-package "LRAT")
other
(include-book "lrat-checker")
other
(include-book "truth-monotone")
other
(defthm subsetp-equal-cons-lemma (implies (subsetp-equal x y) (subsetp-equal x (cons a y))))
other
(defthm subsetp-equal-reflexive (subsetp-equal x x))
other
(defthm subsetp-equal-cons (subsetp-equal x (cons a x)))
other
(defthm cons-preserves-evaluate-formula (implies (formula-truep formula a) (formula-truep formula (cons x a))) :hints (("Goal" :use ((:instance truth-monotone (a1 a) (a2 (cons x a)))) :in-theory (disable truth-monotone))))
other
(defthm clause-or-assignment-p-cons-is-unit-clause (implies (and (clause-or-assignment-p a1) (clause-or-assignment-p clause) (is-unit-clause clause a1) (not (equal (is-unit-clause clause a1) t))) (clause-or-assignment-p (cons (is-unit-clause clause a1) a1))) :hints (("Goal" :in-theory (enable clause-or-assignment-p))))
other
(defthm formula-truep-implies-evaluate-clause-t (implies (and (formula-truep formula assignment) (hons-assoc-equal index formula) (not (deleted-clause-p (cdr (hons-assoc-equal index formula))))) (equal (evaluate-clause (cdr (hons-assoc-equal index formula)) assignment) t)) :hints (("Goal" :use formula-truep-necc)))
other
(defthm evaluate-clause-t-implies-not-is-unit-clause (implies (and (clause-or-assignment-p clause) (equal (evaluate-clause clause assignment) t)) (not (is-unit-clause clause assignment))))
other
(defthm formula-truep-implies-not-is-unit-clause (implies (and (hons-assoc-equal index formula) (not (equal (cdr (hons-assoc-equal index formula)) *deleted-clause*)) (formula-p formula) (formula-truep formula assignment)) (not (is-unit-clause (cdr (hons-assoc-equal index formula)) assignment))) :hints (("Goal" :use formula-truep-necc)))