Retrieve information about a variable or constant from a static environment.
(get-var/const-sinfo v/c env) → info
We return
Function:
(defun get-var/const-sinfo (v/c env) (declare (xargs :guard (and (identifierp v/c) (senvp env)))) (let ((__function__ 'get-var/const-sinfo)) (declare (ignorable __function__)) (b* ((info (get-ident-sinfo v/c env)) ((unless info) nil)) (ident-sinfo-case info :var/const info.get :function nil :struct nil))))
Theorem:
(defthm var/const-sinfo-optionp-of-get-var/const-sinfo (b* ((info (get-var/const-sinfo v/c env))) (var/const-sinfo-optionp info)) :rule-classes :rewrite)
Theorem:
(defthm get-var/const-sinfo-of-identifier-fix-v/c (equal (get-var/const-sinfo (identifier-fix v/c) env) (get-var/const-sinfo v/c env)))
Theorem:
(defthm get-var/const-sinfo-identifier-equiv-congruence-on-v/c (implies (identifier-equiv v/c v/c-equiv) (equal (get-var/const-sinfo v/c env) (get-var/const-sinfo v/c-equiv env))) :rule-classes :congruence)
Theorem:
(defthm get-var/const-sinfo-of-senv-fix-env (equal (get-var/const-sinfo v/c (senv-fix env)) (get-var/const-sinfo v/c env)))
Theorem:
(defthm get-var/const-sinfo-senv-equiv-congruence-on-env (implies (senv-equiv env env-equiv) (equal (get-var/const-sinfo v/c env) (get-var/const-sinfo v/c env-equiv))) :rule-classes :congruence)