Set of relation constraints in a list of constraints.
(constraint-list-constrels constrs) → crels
In essence, we select the relation constraints and we turn them into the constrel form.
Function:
(defun constraint-list-constrels (constrs) (declare (xargs :guard (constraint-listp constrs))) (let ((__function__ 'constraint-list-constrels)) (declare (ignorable __function__)) (cond ((endp constrs) nil) (t (union (constraint-constrels (car constrs)) (constraint-list-constrels (cdr constrs)))))))
Theorem:
(defthm constrel-setp-of-constraint-list-constrels (b* ((crels (constraint-list-constrels constrs))) (constrel-setp crels)) :rule-classes :rewrite)
Theorem:
(defthm constraint-list-constrels-of-constraint-list-fix-constrs (equal (constraint-list-constrels (constraint-list-fix constrs)) (constraint-list-constrels constrs)))
Theorem:
(defthm constraint-list-constrels-constraint-list-equiv-congruence-on-constrs (implies (constraint-list-equiv constrs constrs-equiv) (equal (constraint-list-constrels constrs) (constraint-list-constrels constrs-equiv))) :rule-classes :congruence)