(svex-select-vars x) → vars
Function:
(defun svex-select-vars (x) (declare (xargs :guard (svex-select-p x))) (let ((__function__ 'svex-select-vars)) (declare (ignorable __function__)) (cons (svex-select-inner-var x) (svexlist-vars (svex-select->indices x)))))
Theorem:
(defthm svarlist-p-of-svex-select-vars (b* ((vars (svex-select-vars x))) (svarlist-p vars)) :rule-classes :rewrite)
Theorem:
(defthm svexlist-vars-of-svex-select->indices (implies (not (member v (svex-select-vars x))) (not (member v (svexlist-vars (svex-select->indices x))))))
Theorem:
(defthm svex-select-not-inner-var-when-not-member-select-vars (implies (not (member v (svex-select-vars x))) (not (equal v (svex-select-inner-var x)))))
Theorem:
(defthm svex-select-vars-of-replace-indices (implies (and (not (equal v (svex-select-inner-var x))) (not (member v (svexlist-vars indices)))) (not (member v (svex-select-vars (svex-select-replace-indices x indices))))))
Theorem:
(defthm svex-vars-of-svex-select-to-svex (implies (not (member v (svex-select-vars x))) (not (member v (svex-vars (svex-select-to-svex x))))))
Theorem:
(defthm svex-vars-of-svex-select-to-svex-with-substitution (implies (and (not (member v (svex-select-vars x))) (not (member v (svex-vars subst)))) (not (member v (svex-vars (svex-select-to-svex-with-substitution x subst))))))
Theorem:
(defthm svex-select-vars-of-svex-select-fix-x (equal (svex-select-vars (svex-select-fix x)) (svex-select-vars x)))
Theorem:
(defthm svex-select-vars-svex-select-equiv-congruence-on-x (implies (svex-select-equiv x x-equiv) (equal (svex-select-vars x) (svex-select-vars x-equiv))) :rule-classes :congruence)