(ext-declon-list-replace-field-access
c$::ext-declon-list original
linkage new1 new2 split-members)
→
fty::resultFunction:
(defun ext-declon-list-replace-field-access (c$::ext-declon-list original linkage new1 new2 split-members) (declare (xargs :guard (and (ext-declon-listp c$::ext-declon-list) (identp original) (c$::linkagep linkage) (identp new1) (identp new2) (ident-listp split-members)))) (let ((__function__ 'ext-declon-list-replace-field-access)) (declare (ignorable __function__)) (if (endp c$::ext-declon-list) nil (cons (ext-declon-replace-field-access (car c$::ext-declon-list) original linkage new1 new2 split-members) (ext-declon-list-replace-field-access (cdr c$::ext-declon-list) original linkage new1 new2 split-members)))))
Theorem:
(defthm ext-declon-listp-of-ext-declon-list-replace-field-access (b* ((fty::result (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members))) (ext-declon-listp fty::result)) :rule-classes :rewrite)
Theorem:
(defthm ext-declon-list-replace-field-access-type-prescription (true-listp (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)) :rule-classes :type-prescription)
Theorem:
(defthm ext-declon-list-replace-field-access-when-atom (implies (atom c$::ext-declon-list) (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members) nil)))
Theorem:
(defthm ext-declon-list-replace-field-access-of-cons (equal (ext-declon-list-replace-field-access (cons c$::ext-declon c$::ext-declon-list) original linkage new1 new2 split-members) (cons (ext-declon-replace-field-access c$::ext-declon original linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members))))
Theorem:
(defthm ext-declon-list-replace-field-access-of-append (equal (ext-declon-list-replace-field-access (append acl2::x acl2::y) original linkage new1 new2 split-members) (append (ext-declon-list-replace-field-access acl2::x original linkage new1 new2 split-members) (ext-declon-list-replace-field-access acl2::y original linkage new1 new2 split-members))))
Theorem:
(defthm consp-of-ext-declon-list-replace-field-access (equal (consp (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)) (consp c$::ext-declon-list)))
Theorem:
(defthm len-of-ext-declon-list-replace-field-access (equal (len (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)) (len c$::ext-declon-list)))
Theorem:
(defthm nth-of-ext-declon-list-replace-field-access (equal (nth acl2::n (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)) (if (< (nfix acl2::n) (len c$::ext-declon-list)) (ext-declon-replace-field-access (nth acl2::n c$::ext-declon-list) original linkage new1 new2 split-members) nil)))
Theorem:
(defthm ext-declon-list-replace-field-access-of-revappend (equal (ext-declon-list-replace-field-access (revappend acl2::x acl2::y) original linkage new1 new2 split-members) (revappend (ext-declon-list-replace-field-access acl2::x original linkage new1 new2 split-members) (ext-declon-list-replace-field-access acl2::y original linkage new1 new2 split-members))))
Theorem:
(defthm ext-declon-list-replace-field-access-of-reverse (equal (ext-declon-list-replace-field-access (reverse c$::ext-declon-list) original linkage new1 new2 split-members) (reverse (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members))))
Theorem:
(defthm ext-declon-list-replace-field-access-of-ext-declon-list-fix-ext-declon-list (equal (ext-declon-list-replace-field-access (ext-declon-list-fix c$::ext-declon-list) original linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)))
Theorem:
(defthm ext-declon-list-replace-field-access-ext-declon-list-equiv-congruence-on-ext-declon-list (implies (c$::ext-declon-list-equiv c$::ext-declon-list ext-declon-list-equiv) (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members) (ext-declon-list-replace-field-access ext-declon-list-equiv original linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm ext-declon-list-replace-field-access-of-ident-fix-original (equal (ext-declon-list-replace-field-access c$::ext-declon-list (ident-fix original) linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)))
Theorem:
(defthm ext-declon-list-replace-field-access-ident-equiv-congruence-on-original (implies (c$::ident-equiv original original-equiv) (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original-equiv linkage new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm ext-declon-list-replace-field-access-of-linkage-fix-linkage (equal (ext-declon-list-replace-field-access c$::ext-declon-list original (c$::linkage-fix linkage) new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)))
Theorem:
(defthm ext-declon-list-replace-field-access-linkage-equiv-congruence-on-linkage (implies (c$::linkage-equiv linkage linkage-equiv) (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage-equiv new1 new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm ext-declon-list-replace-field-access-of-ident-fix-new1 (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage (ident-fix new1) new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)))
Theorem:
(defthm ext-declon-list-replace-field-access-ident-equiv-congruence-on-new1 (implies (c$::ident-equiv new1 new1-equiv) (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1-equiv new2 split-members))) :rule-classes :congruence)
Theorem:
(defthm ext-declon-list-replace-field-access-of-ident-fix-new2 (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 (ident-fix new2) split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)))
Theorem:
(defthm ext-declon-list-replace-field-access-ident-equiv-congruence-on-new2 (implies (c$::ident-equiv new2 new2-equiv) (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2-equiv split-members))) :rule-classes :congruence)
Theorem:
(defthm ext-declon-list-replace-field-access-of-ident-list-fix-split-members (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 (c$::ident-list-fix split-members)) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members)))
Theorem:
(defthm ext-declon-list-replace-field-access-ident-list-equiv-congruence-on-split-members (implies (c$::ident-list-equiv split-members split-members-equiv) (equal (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members) (ext-declon-list-replace-field-access c$::ext-declon-list original linkage new1 new2 split-members-equiv))) :rule-classes :congruence)