(fgl-ev-congruence-rulelist-correct-p x) recognizes lists where every element satisfies fgl-ev-congruence-rule-correct-p.
(fgl-ev-congruence-rulelist-correct-p x) → std::bool
This is an ordinary deflist. It is
"loose" in that it does not care whether
Function:
(defun fgl-ev-congruence-rulelist-correct-p (x) (declare (xargs :guard (congruence-rulelist-p x))) (let ((__function__ 'fgl-ev-congruence-rulelist-correct-p)) (declare (ignorable __function__)) (if (consp x) (and (fgl-ev-congruence-rule-correct-p (car x)) (fgl-ev-congruence-rulelist-correct-p (cdr x))) t)))
Theorem:
(defthm fgl-ev-congruence-rulelist-correct-p-of-congruence-rulelist-fix-x (equal (fgl-ev-congruence-rulelist-correct-p (congruence-rulelist-fix x)) (fgl-ev-congruence-rulelist-correct-p x)))
Theorem:
(defthm fgl-ev-congruence-rulelist-correct-p-congruence-rulelist-equiv-congruence-on-x (implies (congruence-rulelist-equiv x x-equiv) (equal (fgl-ev-congruence-rulelist-correct-p x) (fgl-ev-congruence-rulelist-correct-p x-equiv))) :rule-classes :congruence)