(transunit-replace-field-access transunit original
linkage new1 new2 split-members)
→
fty::resultFunction:
(defun transunit-replace-field-access (transunit original linkage new1 new2 split-members) (declare (xargs :guard (and (transunitp transunit) (identp original) (c$::linkagep linkage) (identp new1) (identp new2) (ident-listp split-members)))) (declare (ignorable transunit original linkage new1 new2 split-members)) (let ((__function__ 'transunit-replace-field-access)) (declare (ignorable __function__)) (transunit (c$::transunit->comment transunit) (ext-declon-list-replace-field-access (transunit->declons transunit) original linkage new1 new2 split-members) (c$::transunit->info transunit))))
Theorem:
(defthm transunitp-of-transunit-replace-field-access (b* ((fty::result (transunit-replace-field-access transunit original linkage new1 new2 split-members))) (transunitp fty::result)) :rule-classes :rewrite)
Theorem:
(defthm transunit-replace-field-access-of-transunit-fix-transunit (equal (transunit-replace-field-access (c$::transunit-fix transunit) original linkage new1 new2 split-members) (transunit-replace-field-access transunit original linkage new1 new2 split-members)))
Theorem:
(defthm transunit-replace-field-access-transunit-equiv-congruence-on-transunit (implies (c$::transunit-equiv transunit transunit-equiv) (equal (transunit-replace-field-access transunit original linkage new1 new2 split-members) (transunit-replace-field-access transunit-equiv original linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm transunit-replace-field-access-of-ident-fix-original (equal (transunit-replace-field-access transunit (ident-fix original) linkage new1 new2 split-members) (transunit-replace-field-access transunit original linkage new1 new2 split-members)))
Theorem:
(defthm transunit-replace-field-access-ident-equiv-congruence-on-original (implies (c$::ident-equiv original original-equiv) (equal (transunit-replace-field-access transunit original linkage new1 new2 split-members) (transunit-replace-field-access transunit original-equiv linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm transunit-replace-field-access-of-linkage-fix-linkage (equal (transunit-replace-field-access transunit original (c$::linkage-fix linkage) new1 new2 split-members) (transunit-replace-field-access transunit original linkage new1 new2 split-members)))
Theorem:
(defthm transunit-replace-field-access-linkage-equiv-congruence-on-linkage (implies (c$::linkage-equiv linkage linkage-equiv) (equal (transunit-replace-field-access transunit original linkage new1 new2 split-members) (transunit-replace-field-access transunit original linkage-equiv new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm transunit-replace-field-access-of-ident-fix-new1 (equal (transunit-replace-field-access transunit original linkage (ident-fix new1) new2 split-members) (transunit-replace-field-access transunit original linkage new1 new2 split-members)))
Theorem:
(defthm transunit-replace-field-access-ident-equiv-congruence-on-new1 (implies (c$::ident-equiv new1 new1-equiv) (equal (transunit-replace-field-access transunit original linkage new1 new2 split-members) (transunit-replace-field-access transunit original linkage new1-equiv new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm transunit-replace-field-access-of-ident-fix-new2 (equal (transunit-replace-field-access transunit original linkage new1 (ident-fix new2) split-members) (transunit-replace-field-access transunit original linkage new1 new2 split-members)))
Theorem:
(defthm transunit-replace-field-access-ident-equiv-congruence-on-new2 (implies (c$::ident-equiv new2 new2-equiv) (equal (transunit-replace-field-access transunit original linkage new1 new2 split-members) (transunit-replace-field-access transunit original linkage new1 new2-equiv split-members))) :rule-classes :congruence)
Theorem:
(defthm transunit-replace-field-access-of-ident-list-fix-split-members (equal (transunit-replace-field-access transunit original linkage new1 new2 (c$::ident-list-fix split-members)) (transunit-replace-field-access transunit original linkage new1 new2 split-members)))
Theorem:
(defthm transunit-replace-field-access-ident-list-equiv-congruence-on-split-members (implies (c$::ident-list-equiv split-members split-members-equiv) (equal (transunit-replace-field-access transunit original linkage new1 new2 split-members) (transunit-replace-field-access transunit original linkage new1 new2 split-members-equiv))) :rule-classes :congruence)