Set of (names of) relations in a list of constraints.
(constraint-list-rels constrs) → rels
We collect all the relation names.
Function:
(defun constraint-list-rels (constrs) (declare (xargs :guard (constraint-listp constrs))) (let ((__function__ 'constraint-list-rels)) (declare (ignorable __function__)) (cond ((endp constrs) nil) (t (union (constraint-rels (car constrs)) (constraint-list-rels (cdr constrs)))))))
Theorem:
(defthm string-setp-of-constraint-list-rels (b* ((rels (constraint-list-rels constrs))) (string-setp rels)) :rule-classes :rewrite)
Theorem:
(defthm constraint-list-rels-of-constraint-list-fix-constrs (equal (constraint-list-rels (constraint-list-fix constrs)) (constraint-list-rels constrs)))
Theorem:
(defthm constraint-list-rels-constraint-list-equiv-congruence-on-constrs (implies (constraint-list-equiv constrs constrs-equiv) (equal (constraint-list-rels constrs) (constraint-list-rels constrs-equiv))) :rule-classes :congruence)