(svtv-override-triplemap-relevant-vars triplemap spec) → vars
Function:
(defun svtv-override-triplemap-relevant-vars (triplemap spec) (declare (xargs :guard (and (svtv-override-triplemap-p triplemap) (svex-env-p spec)))) (let ((__function__ 'svtv-override-triplemap-relevant-vars)) (declare (ignorable __function__)) (if (atom triplemap) nil (append (and (mbt (and (consp (car triplemap)) (svar-p (caar triplemap)))) (svtv-override-triple-relevant-vars (cdar triplemap) spec)) (svtv-override-triplemap-relevant-vars (cdr triplemap) spec)))))
Theorem:
(defthm svarlist-p-of-svtv-override-triplemap-relevant-vars (b* ((vars (svtv-override-triplemap-relevant-vars triplemap spec))) (svarlist-p vars)) :rule-classes :rewrite)
Theorem:
(defthm svtv-override-triplemap-relevant-vars-correct (implies (subsetp-equal (svtv-override-triplemap-relevant-vars triplemap spec) (svarlist-fix vars)) (equal (svtv-override-triplemap-envs-match triplemap (svex-env-reduce vars env) spec) (svtv-override-triplemap-envs-match triplemap env spec))))
Theorem:
(defthm svtv-override-triplemap-relevant-vars-of-svtv-override-triplemap-fix-triplemap (equal (svtv-override-triplemap-relevant-vars (svtv-override-triplemap-fix triplemap) spec) (svtv-override-triplemap-relevant-vars triplemap spec)))
Theorem:
(defthm svtv-override-triplemap-relevant-vars-svtv-override-triplemap-equiv-congruence-on-triplemap (implies (svtv-override-triplemap-equiv triplemap triplemap-equiv) (equal (svtv-override-triplemap-relevant-vars triplemap spec) (svtv-override-triplemap-relevant-vars triplemap-equiv spec))) :rule-classes :congruence)
Theorem:
(defthm svtv-override-triplemap-relevant-vars-of-svex-env-fix-spec (equal (svtv-override-triplemap-relevant-vars triplemap (svex-env-fix spec)) (svtv-override-triplemap-relevant-vars triplemap spec)))
Theorem:
(defthm svtv-override-triplemap-relevant-vars-svex-env-equiv-congruence-on-spec (implies (svex-env-equiv spec spec-equiv) (equal (svtv-override-triplemap-relevant-vars triplemap spec) (svtv-override-triplemap-relevant-vars triplemap spec-equiv))) :rule-classes :congruence)