Recognize @(posedge clk1 or negedge clk2 or ...) style event controls.
(vl-edge-control-p x) → *
Function:
(defun vl-edge-control-p (x) (declare (xargs :guard (vl-delayoreventcontrol-p x))) (let ((__function__ 'vl-edge-control-p)) (declare (ignorable __function__)) (b* ((x (vl-delayoreventcontrol-fix x)) ((unless (eq (tag x) :vl-eventcontrol)) nil) ((vl-eventcontrol x) x)) (and (not x.starp) (consp x.atoms) (vl-evatomlist-all-have-edges-p x.atoms)))))
Theorem:
(defthm vl-edge-control-p-of-vl-delayoreventcontrol-fix-x (equal (vl-edge-control-p (vl-delayoreventcontrol-fix x)) (vl-edge-control-p x)))
Theorem:
(defthm vl-edge-control-p-vl-delayoreventcontrol-equiv-congruence-on-x (implies (vl-delayoreventcontrol-equiv x x-equiv) (equal (vl-edge-control-p x) (vl-edge-control-p x-equiv))) :rule-classes :congruence)