Recognize lists of hexadecimal digit characters.
(hex-digit-char-listp x) → std::bool
Unlike hex-digit-char-list*p,
this requires true list (i.e.
Since there are functions in std/strings that operate on hex-digit-char-list*p, we provide a bridge theorem between the two recognizers, which we can use to satisfy the guards of those functions.
Function:
(defun hex-digit-char-listp (x) (declare (xargs :guard t)) (let ((acl2::__function__ 'hex-digit-char-listp)) (declare (ignorable acl2::__function__)) (if (consp x) (and (hex-digit-char-p (car x)) (hex-digit-char-listp (cdr x))) (null x))))
Theorem:
(defthm hex-digit-char-list*p-when-hex-digit-char-listp (implies (hex-digit-char-listp x) (hex-digit-char-list*p x)))