For a list of assignments of driving expressions to LHSes, produce an alist mapping each variable from the LHSes to the full list of segment drivers for that variable.

- Signature
(assigns->segment-drivers x) → segment-driver-map

- Arguments
`x`—Guard (assigns-p x) .- Returns
`segment-driver-map`—Type (segment-driver-map-p segment-driver-map) .

**Function: **

(defun assigns->segment-drivers (x) (declare (xargs :guard (assigns-p x))) (let ((__function__ 'assigns->segment-drivers)) (declare (ignorable __function__)) (fast-alist-free (fast-alist-clean (assigns->segment-drivers-aux x nil)))))

**Theorem: **

(defthm segment-driver-map-p-of-assigns->segment-drivers (b* ((segment-driver-map (assigns->segment-drivers x))) (segment-driver-map-p segment-driver-map)) :rule-classes :rewrite)

**Theorem: **

(defthm vars-of-assigns->segment-drivers (implies (not (member v (assigns-vars x))) (not (member v (segment-driver-map-vars (assigns->segment-drivers x))))))

**Theorem: **

(defthm hons-assoc-equal-of-assigns->segment-drivers (implies (not (member v (assigns-vars x))) (not (hons-assoc-equal v (assigns->segment-drivers x)))))

**Theorem: **

(defthm assigns->segment-drivers-of-assigns-fix-x (equal (assigns->segment-drivers (assigns-fix x)) (assigns->segment-drivers x)))

**Theorem: **

(defthm assigns->segment-drivers-assigns-equiv-congruence-on-x (implies (assigns-equiv x x-equiv) (equal (assigns->segment-drivers x) (assigns->segment-drivers x-equiv))) :rule-classes :congruence)