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