Function:
(defun hex-digit-string-p-aux (x n xl) (declare (type string x) (type unsigned-byte n) (type unsigned-byte xl)) (declare (xargs :guard (and (stringp x) (natp n) (eql xl (length x))))) (declare (xargs :split-types t :guard (<= n xl))) (let ((acl2::__function__ 'hex-digit-string-p-aux)) (declare (ignorable acl2::__function__)) (mbe :logic (hex-digit-char-list*p (nthcdr n (explode x))) :exec (if (eql n xl) t (and (hex-digit-char-p (char x n)) (hex-digit-string-p-aux x (the unsigned-byte (+ 1 n)) xl))))))