(svar/4vec-eval x env) → val
Function:
(defun svar/4vec-eval (x env) (declare (xargs :guard (and (svar/4vec-p x) (svex-env-p env)))) (let ((__function__ 'svar/4vec-eval)) (declare (ignorable __function__)) (svar/4vec-case x :4vec (4vec-fix x) :svar (svex-env-lookup x env))))
Theorem:
(defthm 4vec-p-of-svar/4vec-eval (b* ((val (svar/4vec-eval x env))) (4vec-p val)) :rule-classes :rewrite)
Theorem:
(defthm svar/4vec-eval-in-terms-of-svex-eval (implies (not (svex-case x :call)) (equal (svar/4vec-eval x env) (svex-eval x env))))
Theorem:
(defthm svar/4vec-eval-of-quote (implies (syntaxp (quotep x)) (equal (svar/4vec-eval x env) (svar/4vec-case x :4vec (4vec-fix x) :svar (svex-env-lookup x env)))))
Theorem:
(defthm svar/4vec-eval-of-svar/4vec-fix-x (equal (svar/4vec-eval (svar/4vec-fix x) env) (svar/4vec-eval x env)))
Theorem:
(defthm svar/4vec-eval-svar/4vec-equiv-congruence-on-x (implies (svar/4vec-equiv x x-equiv) (equal (svar/4vec-eval x env) (svar/4vec-eval x-equiv env))) :rule-classes :congruence)
Theorem:
(defthm svar/4vec-eval-of-svex-env-fix-env (equal (svar/4vec-eval x (svex-env-fix env)) (svar/4vec-eval x env)))
Theorem:
(defthm svar/4vec-eval-svex-env-equiv-congruence-on-env (implies (svex-env-equiv env env-equiv) (equal (svar/4vec-eval x env) (svar/4vec-eval x env-equiv))) :rule-classes :congruence)