Recognizer for univ-char-name structures.
(univ-char-name-p x) → *
Function:
(defun univ-char-name-p (x) (declare (xargs :guard t)) (and (consp x) (cond ((or (atom x) (eq (car x) :locase-u)) (and (b* ((quad (cdr x))) (hex-quad-p quad)))) (t (and (eq (car x) :upcase-u) (and (consp (cdr x))) (b* ((quad1 (car (cdr x))) (quad2 (cdr (cdr x)))) (and (hex-quad-p quad1) (hex-quad-p quad2))))))))
Theorem:
(defthm consp-when-univ-char-name-p (implies (univ-char-name-p x) (consp x)) :rule-classes :compound-recognizer)