(assigns-vars x) → vars
Function:
(defun assigns-vars (x) (declare (xargs :guard (assigns-p x))) (let ((__function__ 'assigns-vars)) (declare (ignorable __function__)) (b* ((x (assigns-fix x)) ((when (atom x)) nil) ((driver x1) (cdar x))) (append (lhs-vars (caar x)) (svex-vars x1.value) (assigns-vars (cdr x))))))
Theorem:
(defthm svarlist-p-of-assigns-vars (b* ((vars (assigns-vars x))) (svarlist-p vars)) :rule-classes :rewrite)
Theorem:
(defthm assigns-vars-of-assigns-fix-x (equal (assigns-vars (assigns-fix x)) (assigns-vars x)))
Theorem:
(defthm assigns-vars-assigns-equiv-congruence-on-x (implies (assigns-equiv x x-equiv) (equal (assigns-vars x) (assigns-vars x-equiv))) :rule-classes :congruence)