other
(in-package "ACL2")
remove-first-hyp-cpfunction
(defun remove-first-hyp-cp (clause) (if (consp clause) (list (cdr clause)) (list clause)))
other
(defevaluator remove-hyp-ev remove-hyp-ev-lst ((if a b c)))
remove-first-hyp-cp-correcttheorem
(defthm remove-first-hyp-cp-correct (implies (and (pseudo-term-listp x) (alistp a) (remove-hyp-ev (conjoin-clauses (remove-first-hyp-cp x)) a)) (remove-hyp-ev (disjoin x) a)) :rule-classes :clause-processor)
remove-hyp-cpfunction
(defun remove-hyp-cp (clause hyp) (list (remove-equal hyp clause)))
disjoin-of-remove-equaltheorem
(defthm disjoin-of-remove-equal (implies (not (remove-hyp-ev (disjoin x) a)) (not (remove-hyp-ev (disjoin (remove hyp x)) a))) :hints (("Goal" :in-theory (enable remove))))
remove-hyp-cp-correcttheorem
(defthm remove-hyp-cp-correct (implies (and (pseudo-term-listp x) (alistp a) (remove-hyp-ev (conjoin-clauses (remove-hyp-cp x hyp)) a)) (remove-hyp-ev (disjoin x) a)) :rule-classes :clause-processor)