Checks that the given environment
(svtv-override-triplemaplist-envs-match triplemaps env spec) → *
An occurrence of this function is used by def-svtv-generalized-thm as a hypothesis of the generalized theorems it
proves, serving to assume that the environment used in the SVTV run of the
theorem overrides exactly the signals it's supposed to, i.e. matching
This function returns true iff for every svtv-override-triple in
When instantiating a generalized SVTV theorem (as produced by def-svtv-generalized-thm to prove something about an SVTV run on a more particular environment, there are a couple of helpful rewriting strategies.
Function:
(defun svtv-override-triplemaplist-envs-match (triplemaps env spec) (declare (xargs :guard (and (svtv-override-triplemaplist-p triplemaps) (svex-env-p env) (svex-env-p spec)))) (let ((__function__ 'svtv-override-triplemaplist-envs-match)) (declare (ignorable __function__)) (mbe :logic (if (atom triplemaps) t (and (svtv-override-triplemap-envs-match (car triplemaps) env spec) (svtv-override-triplemaplist-envs-match (cdr triplemaps) env spec))) :exec (with-fast-alist env (with-fast-alist spec (svtv-override-triplemaplist-envs-match-aux triplemaps env spec))))))
Theorem:
(defthm svtv-override-triplemaplist-envs-match-of-svtv-override-triplemaplist-fix-triplemaps (equal (svtv-override-triplemaplist-envs-match (svtv-override-triplemaplist-fix triplemaps) env spec) (svtv-override-triplemaplist-envs-match triplemaps env spec)))
Theorem:
(defthm svtv-override-triplemaplist-envs-match-svtv-override-triplemaplist-equiv-congruence-on-triplemaps (implies (svtv-override-triplemaplist-equiv triplemaps triplemaps-equiv) (equal (svtv-override-triplemaplist-envs-match triplemaps env spec) (svtv-override-triplemaplist-envs-match triplemaps-equiv env spec))) :rule-classes :congruence)
Theorem:
(defthm svtv-override-triplemaplist-envs-match-of-svex-env-fix-env (equal (svtv-override-triplemaplist-envs-match triplemaps (svex-env-fix env) spec) (svtv-override-triplemaplist-envs-match triplemaps env spec)))
Theorem:
(defthm svtv-override-triplemaplist-envs-match-svex-env-equiv-congruence-on-env (implies (svex-env-equiv env env-equiv) (equal (svtv-override-triplemaplist-envs-match triplemaps env spec) (svtv-override-triplemaplist-envs-match triplemaps env-equiv spec))) :rule-classes :congruence)
Theorem:
(defthm svtv-override-triplemaplist-envs-match-of-svex-env-fix-spec (equal (svtv-override-triplemaplist-envs-match triplemaps env (svex-env-fix spec)) (svtv-override-triplemaplist-envs-match triplemaps env spec)))
Theorem:
(defthm svtv-override-triplemaplist-envs-match-svex-env-equiv-congruence-on-spec (implies (svex-env-equiv spec spec-equiv) (equal (svtv-override-triplemaplist-envs-match triplemaps env spec) (svtv-override-triplemaplist-envs-match triplemaps env spec-equiv))) :rule-classes :congruence)