Transform an external declaration.
Function:
(defun simpadd0-extdecl (extdecl) (declare (xargs :guard (extdeclp extdecl))) (declare (xargs :guard (extdecl-unambp extdecl))) (let ((__function__ 'simpadd0-extdecl)) (declare (ignorable __function__)) (extdecl-case extdecl :fundef (extdecl-fundef (simpadd0-fundef extdecl.unwrap)) :decl (extdecl-decl (simpadd0-decl extdecl.unwrap)) :empty (extdecl-empty) :asm (extdecl-fix extdecl))))
Theorem:
(defthm extdeclp-of-simpadd0-extdecl (b* ((new-extdecl (simpadd0-extdecl extdecl))) (extdeclp new-extdecl)) :rule-classes :rewrite)
Theorem:
(defthm extdecl-unambp-of-simpadd0-extdecl (b* ((?new-extdecl (simpadd0-extdecl extdecl))) (extdecl-unambp new-extdecl)))
Theorem:
(defthm simpadd0-extdecl-of-extdecl-fix-extdecl (equal (simpadd0-extdecl (extdecl-fix extdecl)) (simpadd0-extdecl extdecl)))
Theorem:
(defthm simpadd0-extdecl-extdecl-equiv-congruence-on-extdecl (implies (c$::extdecl-equiv extdecl extdecl-equiv) (equal (simpadd0-extdecl extdecl) (simpadd0-extdecl extdecl-equiv))) :rule-classes :congruence)