Recognizer for hex-integer-literal structures.
(hex-integer-literalp x) → *
Function:
(defun hex-integer-literalp (x) (declare (xargs :guard t)) (let ((__function__ 'hex-integer-literalp)) (declare (ignorable __function__)) (and (consp x) (eq (car x) :hex-integer-lit) (true-listp (cdr x)) (eql (len (cdr x)) 3) (b* ((digits/uscores (std::da-nth 0 (cdr x))) (prefix-upcase-p (std::da-nth 1 (cdr x))) (suffix? (std::da-nth 2 (cdr x)))) (and (hexdig/uscore-listp digits/uscores) (booleanp prefix-upcase-p) (optional-integer-type-suffix-p suffix?) (hexdig/uscore-list-wfp digits/uscores))))))
Theorem:
(defthm consp-when-hex-integer-literalp (implies (hex-integer-literalp x) (consp x)) :rule-classes :compound-recognizer)