Check that internal delays on assignments are simple enough to process and compatible with one another.
(vl-edgesynth-delays-okp x) → okp
Function:
(defun vl-edgesynth-delays-okp (x) (declare (xargs :guard (vl-assigncontrols-p x))) (let ((__function__ 'vl-edgesynth-delays-okp)) (declare (ignorable __function__)) (and (consp x) (vl-edgesynth-simple-delays-p x) (all-equalp (vl-edgesynth-simple-delay->amount (first x)) (vl-edgesynth-simple-delays->amounts (rest x))))))
Theorem:
(defthm booleanp-of-vl-edgesynth-delays-okp (b* ((okp (vl-edgesynth-delays-okp x))) (booleanp okp)) :rule-classes :type-prescription)
Theorem:
(defthm vl-edgesynth-simple-delays-p-when-vl-edgesynth-delays-okp (implies (vl-edgesynth-delays-okp x) (vl-edgesynth-simple-delays-p x)))
Theorem:
(defthm consp-when-vl-edgesynth-delays-okp (implies (vl-edgesynth-delays-okp x) (consp x)) :rule-classes :compound-recognizer)