Generate all the events.
(split-fn-gen-everything code const-new target new-fn split-point) → (mv er? event)
Function:
(defun split-fn-gen-everything (code const-new target new-fn split-point) (declare (xargs :guard (and (code-ensemblep code) (symbolp const-new) (identp target) (identp new-fn) (natp split-point)))) (b* (((reterr) '(_)) ((erp code) (split-fn-code-ensemble target new-fn code split-point)) (defconst-event (cons 'defconst (cons const-new (cons (cons 'quote (cons code 'nil)) 'nil))))) (retok defconst-event)))
Theorem:
(defthm maybe-msgp-of-split-fn-gen-everything.er? (b* (((mv ?er? acl2::?event) (split-fn-gen-everything code const-new target new-fn split-point))) (maybe-msgp er?)) :rule-classes :rewrite)
Theorem:
(defthm pseudo-event-formp-of-split-fn-gen-everything.event (b* (((mv ?er? acl2::?event) (split-fn-gen-everything code const-new target new-fn split-point))) (pseudo-event-formp event)) :rule-classes :rewrite)