Generate all the events.
(defmake-self-gen-everything type/clique-name
parents-presentp parents
short-presentp short long-presentp
long print fty-table make-self-table)
→
(mv er? event)Function:
(defun defmake-self-gen-everything (type/clique-name parents-presentp parents short-presentp short long-presentp long print fty-table make-self-table) (declare (xargs :guard (and (symbolp type/clique-name) (booleanp parents-presentp) (booleanp short-presentp) (booleanp long-presentp) (acl2::evmac-input-print-p print) (alistp fty-table) (alistp make-self-table)))) (let ((__function__ 'defmake-self-gen-everything)) (declare (ignorable __function__)) (b* (((reterr) '(_)) (main-clique (or (flextypes-with-name type/clique-name fty-table) (flextypes-containing-flextype type/clique-name fty-table))) ((unless main-clique) (retmsg$ "No type (clique) with name ~x0." type/clique-name)) ((unless (flextypes-p main-clique)) (retmsg$ "Internal error: malformed type clique ~x0." main-clique)) (clique-name (flextypes->name main-clique)) ((unless (symbolp clique-name)) (retmsg$ "Internal error: malformed clique name ~x0." clique-name)) (clique-names (topo-dependencies clique-name fty-table)) ((erp make-self-events) (defmake-self-gen-cliques clique-names fty-table make-self-table)) (xdoc-name (defmake-self-gen-topic-name clique-name)) (xdoc-event (cons 'acl2::defxdoc+ (cons xdoc-name (append (and parents-presentp (cons ':parents (cons parents 'nil))) (append (and short-presentp (cons ':short (cons short 'nil))) (append (and long-presentp (cons ':long (cons long 'nil))) '(:order-subtopics t))))))) (encapsulate (cons 'encapsulate (cons 'nil (cons xdoc-event make-self-events))) ) (encapsulate (acl2::restore-output? (eq print :all) encapsulate) ) (print-result (if (member-eq print '(:result :info)) (cons (cons 'acl2::cw-event (cons '"~x0~|" (cons (cons 'quote (cons encapsulate 'nil)) 'nil))) 'nil) nil))) (retok (cons 'progn (append print-result (cons encapsulate '((value-triple :invisible)))))))))
Theorem:
(defthm maybe-msgp-of-defmake-self-gen-everything.er? (b* (((mv ?er? acl2::?event) (defmake-self-gen-everything type/clique-name parents-presentp parents short-presentp short long-presentp long print fty-table make-self-table))) (acl2::maybe-msgp er?)) :rule-classes :rewrite)
Theorem:
(defthm pseudo-event-formp-of-defmake-self-gen-everything.event (b* (((mv ?er? acl2::?event) (defmake-self-gen-everything type/clique-name parents-presentp parents short-presentp short long-presentp long print fty-table make-self-table))) (acl2::pseudo-event-formp event)) :rule-classes :rewrite)