Generate the table-events for a type clique with the given members.
(defmake-self-gen-table-events clique-name member-names) → events
Function:
(defun defmake-self-gen-table-events-loop (member-names) (declare (xargs :guard (symbol-listp member-names))) (let ((__function__ 'defmake-self-gen-table-events-loop)) (declare (ignorable __function__)) (b* (((when (endp member-names)) nil) (type (first member-names)) (make-self-name (defmake-self-gen-name (first member-names)))) (cons (cons 'table (cons 'make-self (cons (cons 'quote (cons type 'nil)) (cons (cons 'quote (cons make-self-name 'nil)) 'nil)))) (defmake-self-gen-table-events-loop (rest member-names))))))
Theorem:
(defthm pseudo-event-form-listp-of-defmake-self-gen-table-events-loop (b* ((events (defmake-self-gen-table-events-loop member-names))) (acl2::pseudo-event-form-listp events)) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-defmake-self-gen-table-events-loop (b* ((events (defmake-self-gen-table-events-loop member-names))) (true-listp events)) :rule-classes :type-prescription)
Function:
(defun defmake-self-gen-table-events (clique-name member-names) (declare (xargs :guard (and (symbolp clique-name) (symbol-listp member-names)))) (let ((__function__ 'defmake-self-gen-table-events)) (declare (ignorable __function__)) (b* ((member-table-events (defmake-self-gen-table-events-loop member-names))) (if (member-eq clique-name member-names) member-table-events (cons (cons 'table (cons 'make-self (cons (cons 'quote (cons clique-name 'nil)) '('nil)))) member-table-events)))))
Theorem:
(defthm pseudo-event-form-listp-of-defmake-self-gen-table-events (b* ((events (defmake-self-gen-table-events clique-name member-names))) (acl2::pseudo-event-form-listp events)) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-defmake-self-gen-table-events (b* ((events (defmake-self-gen-table-events clique-name member-names))) (true-listp events)) :rule-classes :type-prescription)