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