Check if a list of constraints is well-formed, with respect to a list of relation definitions.
(constraint-list-wfp constrs defs) → yes/no
A list of constraints is well-formed iff all the constraints are well-formed.
Function:
(defun constraint-list-wfp (constrs defs) (declare (xargs :guard (and (constraint-listp constrs) (definition-listp defs)))) (let ((__function__ 'constraint-list-wfp)) (declare (ignorable __function__)) (or (endp constrs) (and (constraint-wfp (car constrs) defs) (constraint-list-wfp (cdr constrs) defs)))))
Theorem:
(defthm booleanp-of-constraint-list-wfp (b* ((yes/no (constraint-list-wfp constrs defs))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm constraint-list-wfp-of-constraint-list-fix-constrs (equal (constraint-list-wfp (constraint-list-fix constrs) defs) (constraint-list-wfp constrs defs)))
Theorem:
(defthm constraint-list-wfp-constraint-list-equiv-congruence-on-constrs (implies (constraint-list-equiv constrs constrs-equiv) (equal (constraint-list-wfp constrs defs) (constraint-list-wfp constrs-equiv defs))) :rule-classes :congruence)
Theorem:
(defthm constraint-list-wfp-of-definition-list-fix-defs (equal (constraint-list-wfp constrs (definition-list-fix defs)) (constraint-list-wfp constrs defs)))
Theorem:
(defthm constraint-list-wfp-definition-list-equiv-congruence-on-defs (implies (definition-list-equiv defs defs-equiv) (equal (constraint-list-wfp constrs defs) (constraint-list-wfp constrs defs-equiv))) :rule-classes :congruence)