(a4veclist/env-list-eval x envs) → 4vecs
Function:
(defun a4veclist/env-list-eval (x envs) (declare (xargs :guard (a4veclistlist-p x))) (declare (xargs :guard (equal (len envs) (len x)))) (let ((__function__ 'a4veclist/env-list-eval)) (declare (ignorable __function__)) (if (atom x) nil (cons (a4veclist-eval (car x) (car envs)) (a4veclist/env-list-eval (cdr x) (cdr envs))))))
Theorem:
(defthm 4veclistlist-p-of-a4veclist/env-list-eval (b* ((4vecs (a4veclist/env-list-eval x envs))) (4veclistlist-p 4vecs)) :rule-classes :rewrite)
Theorem:
(defthm a4veclist/env-list-eval-of-a4veclistlist-fix-x (equal (a4veclist/env-list-eval (a4veclistlist-fix x) envs) (a4veclist/env-list-eval x envs)))
Theorem:
(defthm a4veclist/env-list-eval-a4veclistlist-equiv-congruence-on-x (implies (a4veclistlist-equiv x x-equiv) (equal (a4veclist/env-list-eval x envs) (a4veclist/env-list-eval x-equiv envs))) :rule-classes :congruence)