Generate the ``make-self'' functions for a list of types.
(defmake-self-gen-types flexs mutrecp
member-names fty-table make-self-table)
→
eventsFunction:
(defun defmake-self-gen-types (flexs mutrecp member-names fty-table make-self-table) (declare (xargs :guard (and (true-listp flexs) (booleanp mutrecp) (symbol-listp member-names) (alistp fty-table) (alistp make-self-table)))) (let ((__function__ 'defmake-self-gen-types)) (declare (ignorable __function__)) (b* (((when (endp flexs)) nil) (events1 (defmake-self-gen-type (car flexs) mutrecp member-names fty-table make-self-table)) (events2 (defmake-self-gen-types (cdr flexs) mutrecp member-names fty-table make-self-table))) (append events1 events2))))
Theorem:
(defthm pseudo-event-form-listp-of-defmake-self-gen-types (b* ((events (defmake-self-gen-types flexs mutrecp member-names fty-table make-self-table))) (acl2::pseudo-event-form-listp events)) :rule-classes :rewrite)