(assigns-addr-p x) → *
Function:
(defun assigns-addr-p (x) (declare (xargs :guard (assigns-p x))) (let ((__function__ 'assigns-addr-p)) (declare (ignorable __function__)) (mbe :logic (svarlist-addr-p (assigns-vars x)) :exec (b* ((x (assigns-fix x)) ((when (atom x)) t)) (and (lhs-addr-p (caar x)) (svex-addr-p (driver->value (cdar x))) (assigns-addr-p (cdr x)))))))
Theorem:
(defthm assigns-addr-p-of-assigns-fix-x (equal (assigns-addr-p (assigns-fix x)) (assigns-addr-p x)))
Theorem:
(defthm assigns-addr-p-assigns-equiv-congruence-on-x (implies (assigns-equiv x x-equiv) (equal (assigns-addr-p x) (assigns-addr-p x-equiv))) :rule-classes :congruence)