(parse-fileset-loop filemap version keep-going) → (mv erp tunitmap)
Function:
(defun parse-fileset-loop (filemap version keep-going) (declare (xargs :guard (and (filepath-filedata-mapp filemap) (c::versionp version) (booleanp keep-going)))) (let ((__function__ 'parse-fileset-loop)) (declare (ignorable __function__)) (b* (((reterr) nil) ((when (omap::emptyp filemap)) (retok nil)) ((mv filepath filedata) (omap::head filemap)) ((mv erp tunit) (parse-file filepath (filedata->unwrap filedata) version)) ((when erp) (if keep-going (prog2$ (cw "~@0~%" erp) (parse-fileset-loop (omap::tail filemap) version keep-going)) (reterr erp))) ((erp tunitmap) (parse-fileset-loop (omap::tail filemap) version keep-going))) (retok (omap::update (filepath-fix filepath) tunit tunitmap)))))
Theorem:
(defthm filepath-transunit-mapp-of-parse-fileset-loop.tunitmap (b* (((mv acl2::?erp ?tunitmap) (parse-fileset-loop filemap version keep-going))) (filepath-transunit-mapp tunitmap)) :rule-classes :rewrite)
Theorem:
(defthm keys-of-parse-fileset-loop (implies (filepath-filedata-mapp filemap) (b* (((mv acl2::?erp ?tunitmap) (parse-fileset-loop filemap version keep-going))) (implies (and (not keep-going) (not erp)) (equal (omap::keys tunitmap) (omap::keys filemap))))))