(filepath-transunit-map-replace-field-access
c$::filepath-transunit-map original
linkage new1 new2 split-members)
→
fty::resultFunction:
(defun filepath-transunit-map-replace-field-access (c$::filepath-transunit-map original linkage new1 new2 split-members) (declare (xargs :guard (and (filepath-transunit-mapp c$::filepath-transunit-map) (identp original) (c$::linkagep linkage) (identp new1) (identp new2) (ident-listp split-members)))) (let ((__function__ 'filepath-transunit-map-replace-field-access)) (declare (ignorable __function__)) (if (or (not (mbt (filepath-transunit-mapp c$::filepath-transunit-map))) (omap::emptyp c$::filepath-transunit-map)) nil (omap::update (omap::head-key c$::filepath-transunit-map) (transunit-replace-field-access (omap::head-val c$::filepath-transunit-map) original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access (omap::tail c$::filepath-transunit-map) original linkage new1 new2 split-members)))))
Theorem:
(defthm filepath-transunit-mapp-of-filepath-transunit-map-replace-field-access (b* ((fty::result (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members))) (filepath-transunit-mapp fty::result)) :rule-classes :rewrite)
Theorem:
(defthm filepath-transunit-map-replace-field-access-type-prescription (true-listp (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)) :rule-classes :type-prescription)
Theorem:
(defthm filepath-transunit-map-replace-field-access-when-emptyp (implies (omap::emptyp c$::filepath-transunit-map) (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members) nil)))
Theorem:
(defthm emptyp-of-filepath-transunit-map-replace-field-access (equal (omap::emptyp (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)) (omap::emptyp (c$::filepath-transunit-map-fix c$::filepath-transunit-map))))
Theorem:
(defthm keys-of-filepath-transunit-map-replace-field-access (equal (omap::keys (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)) (omap::keys (c$::filepath-transunit-map-fix c$::filepath-transunit-map))))
Theorem:
(defthm assoc-of-filepath-transunit-map-replace-field-access (equal (omap::assoc fty::key (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)) (if (omap::assoc fty::key (c$::filepath-transunit-map-fix c$::filepath-transunit-map)) (cons fty::key (transunit-replace-field-access (cdr (omap::assoc fty::key (c$::filepath-transunit-map-fix c$::filepath-transunit-map))) original linkage new1 new2 split-members)) nil)))
Theorem:
(defthm filepath-transunit-map-replace-field-access-of-filepath-transunit-map-fix-filepath-transunit-map (equal (filepath-transunit-map-replace-field-access (c$::filepath-transunit-map-fix c$::filepath-transunit-map) original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)))
Theorem:
(defthm filepath-transunit-map-replace-field-access-filepath-transunit-map-equiv-congruence-on-filepath-transunit-map (implies (c$::filepath-transunit-map-equiv c$::filepath-transunit-map filepath-transunit-map-equiv) (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access filepath-transunit-map-equiv original linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm filepath-transunit-map-replace-field-access-of-ident-fix-original (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map (ident-fix original) linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)))
Theorem:
(defthm filepath-transunit-map-replace-field-access-ident-equiv-congruence-on-original (implies (c$::ident-equiv original original-equiv) (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original-equiv linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm filepath-transunit-map-replace-field-access-of-linkage-fix-linkage (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original (c$::linkage-fix linkage) new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)))
Theorem:
(defthm filepath-transunit-map-replace-field-access-linkage-equiv-congruence-on-linkage (implies (c$::linkage-equiv linkage linkage-equiv) (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage-equiv new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm filepath-transunit-map-replace-field-access-of-ident-fix-new1 (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage (ident-fix new1) new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)))
Theorem:
(defthm filepath-transunit-map-replace-field-access-ident-equiv-congruence-on-new1 (implies (c$::ident-equiv new1 new1-equiv) (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1-equiv new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm filepath-transunit-map-replace-field-access-of-ident-fix-new2 (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 (ident-fix new2) split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)))
Theorem:
(defthm filepath-transunit-map-replace-field-access-ident-equiv-congruence-on-new2 (implies (c$::ident-equiv new2 new2-equiv) (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2-equiv split-members))) :rule-classes :congruence)
Theorem:
(defthm filepath-transunit-map-replace-field-access-of-ident-list-fix-split-members (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 (c$::ident-list-fix split-members)) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members)))
Theorem:
(defthm filepath-transunit-map-replace-field-access-ident-list-equiv-congruence-on-split-members (implies (c$::ident-list-equiv split-members split-members-equiv) (equal (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members) (filepath-transunit-map-replace-field-access c$::filepath-transunit-map original linkage new1 new2 split-members-equiv))) :rule-classes :congruence)