Recognizer for segment-driver structures.
(segment-driver-p x) → *
Function:
(defun segment-driver-p (x) (declare (xargs :guard t)) (let ((__function__ 'segment-driver-p)) (declare (ignorable __function__)) (and (std::prod-consp x) (std::prod-consp (std::prod-car x)) (std::prod-consp (std::prod-cdr x)) (b* ((lsb (std::prod-car (std::prod-car x))) (width (std::prod-cdr (std::prod-car x))) (value (std::prod-car (std::prod-cdr x))) (strength (std::prod-cdr (std::prod-cdr x)))) (and (natp lsb) (posp width) (svex-p value) (natp strength))))))
Theorem:
(defthm consp-when-segment-driver-p (implies (segment-driver-p x) (consp x)) :rule-classes :compound-recognizer)