Generate conjuncts for all members in the recognizer of the structures.
(defstruct-gen-recognizer-all-conjuncts memtypes) → terms
This calls defstruct-gen-recognizer-conjuncts on all the members. See that function for details on the conjuncts.
Function:
(defun defstruct-gen-recognizer-all-conjuncts (memtypes) (declare (xargs :guard (member-type-listp memtypes))) (let ((__function__ 'defstruct-gen-recognizer-all-conjuncts)) (declare (ignorable __function__)) (cond ((endp memtypes) nil) (t (append (defstruct-gen-recognizer-conjuncts (car memtypes)) (defstruct-gen-recognizer-all-conjuncts (cdr memtypes)))))))
Theorem:
(defthm true-listp-of-defstruct-gen-recognizer-all-conjuncts (b* ((terms (defstruct-gen-recognizer-all-conjuncts memtypes))) (true-listp terms)) :rule-classes :rewrite)
Theorem:
(defthm defstruct-gen-recognizer-all-conjuncts-of-member-type-list-fix-memtypes (equal (defstruct-gen-recognizer-all-conjuncts (member-type-list-fix memtypes)) (defstruct-gen-recognizer-all-conjuncts memtypes)))
Theorem:
(defthm defstruct-gen-recognizer-all-conjuncts-member-type-list-equiv-congruence-on-memtypes (implies (member-type-list-equiv memtypes memtypes-equiv) (equal (defstruct-gen-recognizer-all-conjuncts memtypes) (defstruct-gen-recognizer-all-conjuncts memtypes-equiv))) :rule-classes :congruence)