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