(svex-envlists-check-ovtests-ok-rec x y overridekey-set) → *
Function:
(defun svex-envlists-check-ovtests-ok-rec (x y overridekey-set) (declare (xargs :guard (and (svex-envlist-p x) (svex-envlist-p y)))) (let ((__function__ 'svex-envlists-check-ovtests-ok-rec)) (declare (ignorable __function__)) (if (atom x) (atom y) (and (consp y) (svex-envs-check-ovtests-ok (car x) (car y) overridekey-set) (svex-envlists-check-ovtests-ok-rec (cdr x) (cdr y) overridekey-set)))))
Theorem:
(defthm svex-envlists-check-ovtests-ok-rec-correct (iff (svex-envlists-check-ovtests-ok-rec x y (pairlis$ (svarlist-change-override overridekeys :test) nil)) (svex-envlists-ovtests-ok x y overridekeys)))
Theorem:
(defthm svex-envlists-check-ovtests-ok-rec-of-svex-envlist-fix-x (equal (svex-envlists-check-ovtests-ok-rec (svex-envlist-fix x) y overridekey-set) (svex-envlists-check-ovtests-ok-rec x y overridekey-set)))
Theorem:
(defthm svex-envlists-check-ovtests-ok-rec-svex-envlist-equiv-congruence-on-x (implies (svex-envlist-equiv x x-equiv) (equal (svex-envlists-check-ovtests-ok-rec x y overridekey-set) (svex-envlists-check-ovtests-ok-rec x-equiv y overridekey-set))) :rule-classes :congruence)
Theorem:
(defthm svex-envlists-check-ovtests-ok-rec-of-svex-envlist-fix-y (equal (svex-envlists-check-ovtests-ok-rec x (svex-envlist-fix y) overridekey-set) (svex-envlists-check-ovtests-ok-rec x y overridekey-set)))
Theorem:
(defthm svex-envlists-check-ovtests-ok-rec-svex-envlist-equiv-congruence-on-y (implies (svex-envlist-equiv y y-equiv) (equal (svex-envlists-check-ovtests-ok-rec x y overridekey-set) (svex-envlists-check-ovtests-ok-rec x y-equiv overridekey-set))) :rule-classes :congruence)