Print an optional character constant prefix.
(print-cprefix-option cprefix? pstate) → new-pstate
If there is no prefix, we print nothing.
Function:
(defun print-cprefix-option (cprefix? pstate) (declare (xargs :guard (and (cprefix-optionp cprefix?) (pristatep pstate)))) (let ((__function__ 'print-cprefix-option)) (declare (ignorable __function__)) (cprefix-option-case cprefix? :some (print-cprefix cprefix?.val pstate) :none (pristate-fix pstate))))
Theorem:
(defthm pristatep-of-print-cprefix-option (b* ((new-pstate (print-cprefix-option cprefix? pstate))) (pristatep new-pstate)) :rule-classes :rewrite)
Theorem:
(defthm print-cprefix-option-of-cprefix-option-fix-cprefix? (equal (print-cprefix-option (cprefix-option-fix cprefix?) pstate) (print-cprefix-option cprefix? pstate)))
Theorem:
(defthm print-cprefix-option-cprefix-option-equiv-congruence-on-cprefix? (implies (cprefix-option-equiv cprefix? cprefix?-equiv) (equal (print-cprefix-option cprefix? pstate) (print-cprefix-option cprefix?-equiv pstate))) :rule-classes :congruence)
Theorem:
(defthm print-cprefix-option-of-pristate-fix-pstate (equal (print-cprefix-option cprefix? (pristate-fix pstate)) (print-cprefix-option cprefix? pstate)))
Theorem:
(defthm print-cprefix-option-pristate-equiv-congruence-on-pstate (implies (pristate-equiv pstate pstate-equiv) (equal (print-cprefix-option cprefix? pstate) (print-cprefix-option cprefix? pstate-equiv))) :rule-classes :congruence)