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