(lhrange-eval x env) → val
Function:
(defun lhrange-eval (x env) (declare (xargs :guard (and (lhrange-p x) (svex-env-p env)))) (let ((__function__ 'lhrange-eval)) (declare (ignorable __function__)) (b* (((lhrange x) x)) (4vec-concat (2vec x.w) (lhatom-eval x.atom env) (4vec-z)))))
Theorem:
(defthm 4vec-p-of-lhrange-eval (b* ((val (lhrange-eval x env))) (4vec-p val)) :rule-classes :rewrite)
Theorem:
(defthm lhrange-eval-of-lhrange-fix-x (equal (lhrange-eval (lhrange-fix x) env) (lhrange-eval x env)))
Theorem:
(defthm lhrange-eval-lhrange-equiv-congruence-on-x (implies (lhrange-equiv x x-equiv) (equal (lhrange-eval x env) (lhrange-eval x-equiv env))) :rule-classes :congruence)
Theorem:
(defthm lhrange-eval-of-svex-env-fix-env (equal (lhrange-eval x (svex-env-fix env)) (lhrange-eval x env)))
Theorem:
(defthm lhrange-eval-svex-env-equiv-congruence-on-env (implies (svex-env-equiv env env-equiv) (equal (lhrange-eval x env) (lhrange-eval x env-equiv))) :rule-classes :congruence)