(transunit-try-split-fn-when tunit triggers transunits) → (mv er? found tunit$)
Function:
(defun transunit-try-split-fn-when (tunit triggers transunits) (declare (xargs :guard (and (transunitp tunit) (ident-setp triggers) (transunit-ensemblep transunits)))) (b* (((reterr) nil (c$::irr-transunit)) ((transunit tunit) tunit) ((erp found extdecls) (ext-declon-list-try-split-fn-when tunit.declons triggers transunits))) (retok found (make-transunit :comment nil :declons extdecls :info tunit.info))))
Theorem:
(defthm maybe-msgp-of-transunit-try-split-fn-when.er? (b* (((mv ?er? ?found ?tunit$) (transunit-try-split-fn-when tunit triggers transunits))) (maybe-msgp er?)) :rule-classes :rewrite)
Theorem:
(defthm booleanp-of-transunit-try-split-fn-when.found (b* (((mv ?er? ?found ?tunit$) (transunit-try-split-fn-when tunit triggers transunits))) (booleanp found)) :rule-classes :type-prescription)
Theorem:
(defthm transunitp-of-transunit-try-split-fn-when.tunit$ (b* (((mv ?er? ?found ?tunit$) (transunit-try-split-fn-when tunit triggers transunits))) (transunitp tunit$)) :rule-classes :rewrite)