(fundef-replace-field-access fundef original
linkage new1 new2 split-members)
→
fty::resultFunction:
(defun fundef-replace-field-access (fundef original linkage new1 new2 split-members) (declare (xargs :guard (and (fundefp fundef) (identp original) (c$::linkagep linkage) (identp new1) (identp new2) (ident-listp split-members)))) (declare (ignorable fundef original linkage new1 new2 split-members)) (let ((__function__ 'fundef-replace-field-access)) (declare (ignorable __function__)) (fundef (c$::fundef->extension fundef) (decl-spec-list-replace-field-access (c$::fundef->specs fundef) original linkage new1 new2 split-members) (declor-replace-field-access (fundef->declor fundef) original linkage new1 new2 split-members) (c$::fundef->asm? fundef) (attrib-spec-list-replace-field-access (c$::fundef->attribs fundef) original linkage new1 new2 split-members) (declon-list-replace-field-access (c$::fundef->declons fundef) original linkage new1 new2 split-members) (comp-stmt-replace-field-access (c$::fundef->body fundef) original linkage new1 new2 split-members) (c$::fundef->info fundef))))
Theorem:
(defthm fundefp-of-fundef-replace-field-access (b* ((fty::result (fundef-replace-field-access fundef original linkage new1 new2 split-members))) (fundefp fty::result)) :rule-classes :rewrite)
Theorem:
(defthm fundef-replace-field-access-of-fundef-fix-fundef (equal (fundef-replace-field-access (fundef-fix fundef) original linkage new1 new2 split-members) (fundef-replace-field-access fundef original linkage new1 new2 split-members)))
Theorem:
(defthm fundef-replace-field-access-fundef-equiv-congruence-on-fundef (implies (c$::fundef-equiv fundef fundef-equiv) (equal (fundef-replace-field-access fundef original linkage new1 new2 split-members) (fundef-replace-field-access fundef-equiv original linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm fundef-replace-field-access-of-ident-fix-original (equal (fundef-replace-field-access fundef (ident-fix original) linkage new1 new2 split-members) (fundef-replace-field-access fundef original linkage new1 new2 split-members)))
Theorem:
(defthm fundef-replace-field-access-ident-equiv-congruence-on-original (implies (c$::ident-equiv original original-equiv) (equal (fundef-replace-field-access fundef original linkage new1 new2 split-members) (fundef-replace-field-access fundef original-equiv linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm fundef-replace-field-access-of-linkage-fix-linkage (equal (fundef-replace-field-access fundef original (c$::linkage-fix linkage) new1 new2 split-members) (fundef-replace-field-access fundef original linkage new1 new2 split-members)))
Theorem:
(defthm fundef-replace-field-access-linkage-equiv-congruence-on-linkage (implies (c$::linkage-equiv linkage linkage-equiv) (equal (fundef-replace-field-access fundef original linkage new1 new2 split-members) (fundef-replace-field-access fundef original linkage-equiv new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm fundef-replace-field-access-of-ident-fix-new1 (equal (fundef-replace-field-access fundef original linkage (ident-fix new1) new2 split-members) (fundef-replace-field-access fundef original linkage new1 new2 split-members)))
Theorem:
(defthm fundef-replace-field-access-ident-equiv-congruence-on-new1 (implies (c$::ident-equiv new1 new1-equiv) (equal (fundef-replace-field-access fundef original linkage new1 new2 split-members) (fundef-replace-field-access fundef original linkage new1-equiv new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm fundef-replace-field-access-of-ident-fix-new2 (equal (fundef-replace-field-access fundef original linkage new1 (ident-fix new2) split-members) (fundef-replace-field-access fundef original linkage new1 new2 split-members)))
Theorem:
(defthm fundef-replace-field-access-ident-equiv-congruence-on-new2 (implies (c$::ident-equiv new2 new2-equiv) (equal (fundef-replace-field-access fundef original linkage new1 new2 split-members) (fundef-replace-field-access fundef original linkage new1 new2-equiv split-members))) :rule-classes :congruence)
Theorem:
(defthm fundef-replace-field-access-of-ident-list-fix-split-members (equal (fundef-replace-field-access fundef original linkage new1 new2 (c$::ident-list-fix split-members)) (fundef-replace-field-access fundef original linkage new1 new2 split-members)))
Theorem:
(defthm fundef-replace-field-access-ident-list-equiv-congruence-on-split-members (implies (c$::ident-list-equiv split-members split-members-equiv) (equal (fundef-replace-field-access fundef original linkage new1 new2 split-members) (fundef-replace-field-access fundef original linkage new1 new2 split-members-equiv))) :rule-classes :congruence)