Print an external declaration.
Function:
(defun print-extdecl (extdecl pstate) (declare (xargs :guard (and (extdeclp extdecl) (pristatep pstate)))) (declare (xargs :guard (extdecl-unambp extdecl))) (let ((__function__ 'print-extdecl)) (declare (ignorable __function__)) (extdecl-case extdecl :fundef (print-fundef extdecl.unwrap pstate) :decl (print-decl extdecl.unwrap pstate) :empty (b* ((pstate (print-astring ";" pstate)) (pstate (print-new-line pstate))) pstate) :asm (print-asm-stmt extdecl.unwrap pstate))))
Theorem:
(defthm pristatep-of-print-extdecl (b* ((new-pstate (print-extdecl extdecl pstate))) (pristatep new-pstate)) :rule-classes :rewrite)
Theorem:
(defthm print-extdecl-of-extdecl-fix-extdecl (equal (print-extdecl (extdecl-fix extdecl) pstate) (print-extdecl extdecl pstate)))
Theorem:
(defthm print-extdecl-extdecl-equiv-congruence-on-extdecl (implies (extdecl-equiv extdecl extdecl-equiv) (equal (print-extdecl extdecl pstate) (print-extdecl extdecl-equiv pstate))) :rule-classes :congruence)
Theorem:
(defthm print-extdecl-of-pristate-fix-pstate (equal (print-extdecl extdecl (pristate-fix pstate)) (print-extdecl extdecl pstate)))
Theorem:
(defthm print-extdecl-pristate-equiv-congruence-on-pstate (implies (pristate-equiv pstate pstate-equiv) (equal (print-extdecl extdecl pstate) (print-extdecl extdecl pstate-equiv))) :rule-classes :congruence)