Recognizer for parstate$ structures.
(parstate$-p x) → *
Function:
(defun parstate$-p (x) (declare (xargs :guard t)) (and (consp x) (consp (car x)) (consp (cdr (car x))) (consp (cdr x)) (consp (car (cdr x))) (consp (cdr (cdr x))) (b* ((bytes (car (car x))) (position (car (cdr (car x)))) (chars-read (cdr (cdr (car x)))) (chars-unread (car (car (cdr x)))) (tokens-read (cdr (car (cdr x)))) (tokens-unread (car (cdr (cdr x)))) (version (cdr (cdr (cdr x))))) (and (byte-listp bytes) (positionp position) (char+position-listp chars-read) (char+position-listp chars-unread) (token+span-listp tokens-read) (token+span-listp tokens-unread) (c::versionp version)))))
Theorem:
(defthm consp-when-parstate$-p (implies (parstate$-p x) (consp x)) :rule-classes :compound-recognizer)