Recognizer for vl-delayoreventcontrol.
(vl-delayoreventcontrol-p x) → *
Function:
(defun vl-delayoreventcontrol-p (x) (declare (xargs :guard t)) (let ((__function__ 'vl-delayoreventcontrol-p)) (declare (ignorable __function__)) (common-lisp::case (tag x) ((:vl-delaycontrol) (vl-delaycontrol-p x)) ((:vl-eventcontrol) (vl-eventcontrol-p x)) (otherwise (vl-repeateventcontrol-p x)))))
Theorem:
(defthm consp-when-vl-delayoreventcontrol-p (implies (vl-delayoreventcontrol-p x) (consp x)) :rule-classes :compound-recognizer)
Theorem:
(defthm vl-delayoreventcontrol-p-when-vl-delaycontrol-p (implies (vl-delaycontrol-p x) (vl-delayoreventcontrol-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-delayoreventcontrol-p-when-vl-eventcontrol-p (implies (vl-eventcontrol-p x) (vl-delayoreventcontrol-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-delayoreventcontrol-p-when-vl-repeateventcontrol-p (implies (vl-repeateventcontrol-p x) (vl-delayoreventcontrol-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-delaycontrol-p-by-tag-when-vl-delayoreventcontrol-p (implies (and (or (equal (tag x) :vl-delaycontrol)) (vl-delayoreventcontrol-p x)) (vl-delaycontrol-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-eventcontrol-p-by-tag-when-vl-delayoreventcontrol-p (implies (and (or (equal (tag x) :vl-eventcontrol)) (vl-delayoreventcontrol-p x)) (vl-eventcontrol-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-repeateventcontrol-p-by-tag-when-vl-delayoreventcontrol-p (implies (and (or (equal (tag x) :vl-repeat-eventcontrol)) (vl-delayoreventcontrol-p x)) (vl-repeateventcontrol-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-delayoreventcontrol-p-when-invalid-tag (implies (and (not (equal (tag x) :vl-delaycontrol)) (not (equal (tag x) :vl-eventcontrol)) (not (equal (tag x) :vl-repeat-eventcontrol))) (not (vl-delayoreventcontrol-p x))) :rule-classes ((:rewrite :backchain-limit-lst 0)))
Theorem:
(defthm tag-when-vl-delayoreventcontrol-p-forward (implies (vl-delayoreventcontrol-p x) (or (equal (tag x) :vl-delaycontrol) (equal (tag x) :vl-eventcontrol) (equal (tag x) :vl-repeat-eventcontrol))) :rule-classes ((:forward-chaining)))