(extdecl-rename c$::extdecl subst) → fty::result
Function:
(defun extdecl-rename (c$::extdecl subst) (declare (xargs :guard (and (extdeclp c$::extdecl) (ident-ident-alistp subst)))) (declare (ignorable c$::extdecl subst)) (let ((__function__ 'extdecl-rename)) (declare (ignorable __function__)) (extdecl-case c$::extdecl :fundef (extdecl-fundef (fundef-rename (extdecl-fundef->unwrap c$::extdecl) subst)) :decl (extdecl-decl (decl-rename (c$::extdecl-decl->unwrap c$::extdecl) subst)) :empty (extdecl-fix c$::extdecl) :asm (c$::extdecl-asm (asm-stmt-rename (c$::extdecl-asm->unwrap c$::extdecl) subst)))))
Theorem:
(defthm extdeclp-of-extdecl-rename (b* ((fty::result (extdecl-rename c$::extdecl subst))) (extdeclp fty::result)) :rule-classes :rewrite)
Theorem:
(defthm extdecl-rename-of-extdecl-fix-extdecl (equal (extdecl-rename (extdecl-fix c$::extdecl) subst) (extdecl-rename c$::extdecl subst)))
Theorem:
(defthm extdecl-rename-extdecl-equiv-congruence-on-extdecl (implies (c$::extdecl-equiv c$::extdecl extdecl-equiv) (equal (extdecl-rename c$::extdecl subst) (extdecl-rename extdecl-equiv subst))) :rule-classes :congruence)
Theorem:
(defthm extdecl-rename-of-ident-ident-alist-fix-subst (equal (extdecl-rename c$::extdecl (ident-ident-alist-fix subst)) (extdecl-rename c$::extdecl subst)))
Theorem:
(defthm extdecl-rename-ident-ident-alist-equiv-congruence-on-subst (implies (ident-ident-alist-equiv subst subst-equiv) (equal (extdecl-rename c$::extdecl subst) (extdecl-rename c$::extdecl subst-equiv))) :rule-classes :congruence)