Process the inputs and generate the events.
(split-fn-when-process-inputs-and-gen-everything
const-old const-new triggers wrld)
→
(mv er? event)Function:
(defun split-fn-when-process-inputs-and-gen-everything (const-old const-new triggers wrld) (declare (xargs :guard (plist-worldp wrld))) (b* (((reterr) '(_)) ((erp code const-new triggers) (split-fn-when-process-inputs const-old const-new triggers wrld)) ((erp event) (split-fn-when-gen-everything code const-new triggers))) (retok event)))
Theorem:
(defthm maybe-msgp-of-split-fn-when-process-inputs-and-gen-everything.er? (b* (((mv ?er? acl2::?event) (split-fn-when-process-inputs-and-gen-everything const-old const-new triggers wrld))) (maybe-msgp er?)) :rule-classes :rewrite)
Theorem:
(defthm pseudo-event-formp-of-split-fn-when-process-inputs-and-gen-everything.event (b* (((mv ?er? acl2::?event) (split-fn-when-process-inputs-and-gen-everything const-old const-new triggers wrld))) (pseudo-event-formp event)) :rule-classes :rewrite)