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