(lhbit-eval x env) → *
Function:
(defun lhbit-eval (x env) (declare (xargs :guard (and (lhbit-p x) (svex-env-p env)))) (let ((__function__ 'lhbit-eval)) (declare (ignorable __function__)) (lhbit-case x :z (4vec-1z) :var (4vec-bit-index x.idx (svex-env-lookup x.name env)))))
Theorem:
(defthm lhbit-eval-of-lhbit-fix-x (equal (lhbit-eval (lhbit-fix x) env) (lhbit-eval x env)))
Theorem:
(defthm lhbit-eval-lhbit-equiv-congruence-on-x (implies (lhbit-equiv x x-equiv) (equal (lhbit-eval x env) (lhbit-eval x-equiv env))) :rule-classes :congruence)
Theorem:
(defthm lhbit-eval-of-svex-env-fix-env (equal (lhbit-eval x (svex-env-fix env)) (lhbit-eval x env)))
Theorem:
(defthm lhbit-eval-svex-env-equiv-congruence-on-env (implies (svex-env-equiv env env-equiv) (equal (lhbit-eval x env) (lhbit-eval x env-equiv))) :rule-classes :congruence)