(filepath-transunit-map-try-split-fn-when map triggers transunits) → (mv er? found map$)
Function:
(defun filepath-transunit-map-try-split-fn-when (map triggers transunits) (declare (xargs :guard (and (filepath-transunit-mapp map) (ident-setp triggers) (transunit-ensemblep transunits)))) (b* (((reterr) nil nil) (map (c$::filepath-transunit-map-fix map)) ((when (omap::emptyp map)) (retok nil nil)) ((mv path tunit) (omap::head map)) ((erp found tunit$) (transunit-try-split-fn-when tunit triggers transunits)) ((when found) (retok found (omap::update path tunit$ (omap::tail map)))) ((erp found map$) (filepath-transunit-map-try-split-fn-when (omap::tail map) triggers transunits))) (retok found (omap::update path tunit$ map$))))
Theorem:
(defthm maybe-msgp-of-filepath-transunit-map-try-split-fn-when.er? (b* (((mv ?er? ?found ?map$) (filepath-transunit-map-try-split-fn-when map triggers transunits))) (maybe-msgp er?)) :rule-classes :rewrite)
Theorem:
(defthm booleanp-of-filepath-transunit-map-try-split-fn-when.found (b* (((mv ?er? ?found ?map$) (filepath-transunit-map-try-split-fn-when map triggers transunits))) (booleanp found)) :rule-classes :type-prescription)
Theorem:
(defthm filepath-transunit-mapp-of-filepath-transunit-map-try-split-fn-when.map$ (b* (((mv ?er? ?found ?map$) (filepath-transunit-map-try-split-fn-when map triggers transunits))) (filepath-transunit-mapp map$)) :rule-classes :rewrite)