Execute the printing of a message on the screen.
(exec-print message env) → new-env
Function:
(defun exec-print (message env) (declare (xargs :guard (and (screen-messagep message) (denvp env)))) (let ((__function__ 'exec-print)) (declare (ignorable __function__)) (b* ((screen (denv->screen env)) (new-screen (print-message-to-screen message screen)) (new-env (change-denv env :screen new-screen))) new-env)))
Theorem:
(defthm denvp-of-exec-print (b* ((new-env (exec-print message env))) (denvp new-env)) :rule-classes :rewrite)
Theorem:
(defthm exec-print-of-screen-message-fix-message (equal (exec-print (screen-message-fix message) env) (exec-print message env)))
Theorem:
(defthm exec-print-screen-message-equiv-congruence-on-message (implies (screen-message-equiv message message-equiv) (equal (exec-print message env) (exec-print message-equiv env))) :rule-classes :congruence)
Theorem:
(defthm exec-print-of-denv-fix-env (equal (exec-print message (denv-fix env)) (exec-print message env)))
Theorem:
(defthm exec-print-denv-equiv-congruence-on-env (implies (denv-equiv env env-equiv) (equal (exec-print message env) (exec-print message env-equiv))) :rule-classes :congruence)