Pretty-print a program.
(pprint-programdecl pdecl) → lines
Function:
(defun pprint-programdecl (pdecl) (declare (xargs :guard (programdeclp pdecl))) (let ((__function__ 'pprint-programdecl)) (declare (ignorable __function__)) (cons (pprint-line (msg "program ~@0 {" (pprint-programid (programdecl->id pdecl))) 0) (append (pprint-topdecl-list (programdecl->items pdecl)) (list (pprint-line (msg "}") 0))))))
Theorem:
(defthm msg-listp-of-pprint-programdecl (b* ((lines (pprint-programdecl pdecl))) (msg-listp lines)) :rule-classes :rewrite)
Theorem:
(defthm pprint-programdecl-of-programdecl-fix-pdecl (equal (pprint-programdecl (programdecl-fix pdecl)) (pprint-programdecl pdecl)))
Theorem:
(defthm pprint-programdecl-programdecl-equiv-congruence-on-pdecl (implies (programdecl-equiv pdecl pdecl-equiv) (equal (pprint-programdecl pdecl) (pprint-programdecl pdecl-equiv))) :rule-classes :congruence)