(lhs-eval-zx x env) → val
Function:
(defun lhs-eval-zx (x env) (declare (xargs :guard (and (lhs-p x) (svex-env-p env)))) (let ((__function__ 'lhs-eval-zx)) (declare (ignorable __function__)) (if (atom x) 0 (4vec-concat (2vec (lhrange->w (car x))) (lhatom-eval-zero (lhrange->atom (car x)) env) (lhs-eval-zx (cdr x) env)))))
Theorem:
(defthm 4vec-p-of-lhs-eval-zx (b* ((val (lhs-eval-zx x env))) (4vec-p val)) :rule-classes :rewrite)
Theorem:
(defthm lhs-eval-zx-of-lhs-fix-x (equal (lhs-eval-zx (lhs-fix x) env) (lhs-eval-zx x env)))
Theorem:
(defthm lhs-eval-zx-lhs-equiv-congruence-on-x (implies (lhs-equiv x x-equiv) (equal (lhs-eval-zx x env) (lhs-eval-zx x-equiv env))) :rule-classes :congruence)
Theorem:
(defthm lhs-eval-zx-of-svex-env-fix-env (equal (lhs-eval-zx x (svex-env-fix env)) (lhs-eval-zx x env)))
Theorem:
(defthm lhs-eval-zx-svex-env-equiv-congruence-on-env (implies (svex-env-equiv env env-equiv) (equal (lhs-eval-zx x env) (lhs-eval-zx x env-equiv))) :rule-classes :congruence)
Theorem:
(defthm lhs-eval-zx-of-cons (equal (lhs-eval-zx (cons a x) env) (4vec-concat (2vec (lhrange->w a)) (lhatom-eval-zero (lhrange->atom a) env) (lhs-eval-zx x env))))
Theorem:
(defthm lhs-eval-zx-of-nil (equal (lhs-eval-zx nil env) 0))