(svex-env-extract-aux keys env) → env1
Function:
(defun svex-env-extract-aux (keys env) (declare (xargs :guard (and (svarlist-p keys) (svex-env-p env)))) (let ((__function__ 'svex-env-extract-aux)) (declare (ignorable __function__)) (if (atom keys) nil (cons (cons (svar-fix (car keys)) (svex-env-fastlookup (car keys) env)) (svex-env-extract-aux (cdr keys) env)))))
Theorem:
(defthm svex-env-p-of-svex-env-extract-aux (b* ((env1 (svex-env-extract-aux keys env))) (svex-env-p env1)) :rule-classes :rewrite)
Theorem:
(defthm svex-env-extract-aux-of-svarlist-fix-keys (equal (svex-env-extract-aux (svarlist-fix keys) env) (svex-env-extract-aux keys env)))
Theorem:
(defthm svex-env-extract-aux-svarlist-equiv-congruence-on-keys (implies (svarlist-equiv keys keys-equiv) (equal (svex-env-extract-aux keys env) (svex-env-extract-aux keys-equiv env))) :rule-classes :congruence)
Theorem:
(defthm svex-env-extract-aux-of-svex-env-fix-env (equal (svex-env-extract-aux keys (svex-env-fix env)) (svex-env-extract-aux keys env)))
Theorem:
(defthm svex-env-extract-aux-svex-env-equiv-congruence-on-env (implies (svex-env-equiv env env-equiv) (equal (svex-env-extract-aux keys env) (svex-env-extract-aux keys env-equiv))) :rule-classes :congruence)