Recognizer for vl-atomguts.
(vl-atomguts-p x) → *
Function:
(defun vl-atomguts-p (x) (declare (xargs :guard t)) (let ((__function__ 'vl-atomguts-p)) (declare (ignorable __function__)) (common-lisp::case (tag x) ((:vl-constint) (vl-constint-p x)) ((:vl-weirdint) (vl-weirdint-p x)) ((:vl-extint) (vl-extint-p x)) ((:vl-string) (vl-string-p x)) ((:vl-real) (vl-real-p x)) ((:vl-id) (vl-id-p x)) ((:vl-hidpiece) (vl-hidpiece-p x)) ((:vl-funname) (vl-funname-p x)) ((:vl-sysfunname) (vl-sysfunname-p x)) ((:vl-typename) (vl-typename-p x)) ((:vl-keyguts) (vl-keyguts-p x)) ((:vl-time) (vl-time-p x)) ((:vl-basictype) (vl-basictype-p x)) (otherwise (vl-tagname-p x)))))
Theorem:
(defthm consp-when-vl-atomguts-p (implies (vl-atomguts-p x) (consp x)) :rule-classes :compound-recognizer)
Theorem:
(defthm vl-atomguts-p-when-vl-constint-p (implies (vl-constint-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-weirdint-p (implies (vl-weirdint-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-extint-p (implies (vl-extint-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-string-p (implies (vl-string-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-real-p (implies (vl-real-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-id-p (implies (vl-id-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-hidpiece-p (implies (vl-hidpiece-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-funname-p (implies (vl-funname-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-sysfunname-p (implies (vl-sysfunname-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-typename-p (implies (vl-typename-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-keyguts-p (implies (vl-keyguts-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-time-p (implies (vl-time-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-basictype-p (implies (vl-basictype-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-vl-tagname-p (implies (vl-tagname-p x) (vl-atomguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-constint-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-constint)) (vl-atomguts-p x)) (vl-constint-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-weirdint-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-weirdint)) (vl-atomguts-p x)) (vl-weirdint-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-extint-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-extint)) (vl-atomguts-p x)) (vl-extint-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-string-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-string)) (vl-atomguts-p x)) (vl-string-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-real-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-real)) (vl-atomguts-p x)) (vl-real-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-id-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-id)) (vl-atomguts-p x)) (vl-id-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-hidpiece-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-hidpiece)) (vl-atomguts-p x)) (vl-hidpiece-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-funname-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-funname)) (vl-atomguts-p x)) (vl-funname-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-sysfunname-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-sysfunname)) (vl-atomguts-p x)) (vl-sysfunname-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-typename-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-typename)) (vl-atomguts-p x)) (vl-typename-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-keyguts-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-keyguts)) (vl-atomguts-p x)) (vl-keyguts-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-time-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-time)) (vl-atomguts-p x)) (vl-time-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-basictype-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-basictype)) (vl-atomguts-p x)) (vl-basictype-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-tagname-p-by-tag-when-vl-atomguts-p (implies (and (or (equal (tag x) :vl-tagname)) (vl-atomguts-p x)) (vl-tagname-p x)) :rule-classes ((:rewrite :backchain-limit-lst 1)))
Theorem:
(defthm vl-atomguts-p-when-invalid-tag (implies (and (not (equal (tag x) :vl-constint)) (not (equal (tag x) :vl-weirdint)) (not (equal (tag x) :vl-extint)) (not (equal (tag x) :vl-string)) (not (equal (tag x) :vl-real)) (not (equal (tag x) :vl-id)) (not (equal (tag x) :vl-hidpiece)) (not (equal (tag x) :vl-funname)) (not (equal (tag x) :vl-sysfunname)) (not (equal (tag x) :vl-typename)) (not (equal (tag x) :vl-keyguts)) (not (equal (tag x) :vl-time)) (not (equal (tag x) :vl-basictype)) (not (equal (tag x) :vl-tagname))) (not (vl-atomguts-p x))) :rule-classes ((:rewrite :backchain-limit-lst 0)))
Theorem:
(defthm tag-when-vl-atomguts-p-forward (implies (vl-atomguts-p x) (or (equal (tag x) :vl-constint) (equal (tag x) :vl-weirdint) (equal (tag x) :vl-extint) (equal (tag x) :vl-string) (equal (tag x) :vl-real) (equal (tag x) :vl-id) (equal (tag x) :vl-hidpiece) (equal (tag x) :vl-funname) (equal (tag x) :vl-sysfunname) (equal (tag x) :vl-typename) (equal (tag x) :vl-keyguts) (equal (tag x) :vl-time) (equal (tag x) :vl-basictype) (equal (tag x) :vl-tagname))) :rule-classes ((:forward-chaining)))