Recognizer of values of type
(scharp x) → yes/no
Function:
(defun scharp (x) (declare (xargs :guard t)) (let ((__function__ 'scharp)) (declare (ignorable __function__)) (and (consp x) (eq (car x) :schar) (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (schar-integerp get)))))
Theorem:
(defthm booleanp-of-scharp (b* ((yes/no (scharp x))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm consp-when-scharp (implies (scharp x) (consp x)) :rule-classes :compound-recognizer)