Check if a Bech32 human-readable portion is valid.
Function:
(defun hrp-valid-p (s) (declare (xargs :guard (stringp s))) (let ((__function__ 'hrp-valid-p)) (declare (ignorable __function__)) (and (hrp-valid-string-length-p s) (loop$ for x in (explode s) always (and (characterp x) (hrp-valid-char-code-p (char-code x)))))))
Theorem:
(defthm booleanp-of-hrp-valid-p (b* ((y/n (hrp-valid-p s))) (booleanp y/n)) :rule-classes :rewrite)