Abstract an
(abs-uppercase-letter tree) → char
Function:
(defun abs-uppercase-letter (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-uppercase-letter)) (declare (ignorable __function__)) (b* (((okf nat) (check-tree-nonleaf-num-range tree "uppercase-letter" 65 90))) (code-char nat))))
Theorem:
(defthm character-resultp-of-abs-uppercase-letter (b* ((char (abs-uppercase-letter tree))) (character-resultp char)) :rule-classes :rewrite)
Theorem:
(defthm ucletter-char-p-of-abs-uppercase-letter (b* ((common-lisp::?char (abs-uppercase-letter tree))) (implies (not (reserrp char)) (str::ucletter-char-p char))))
Theorem:
(defthm abs-uppercase-letter-of-tree-fix-tree (equal (abs-uppercase-letter (abnf::tree-fix tree)) (abs-uppercase-letter tree)))
Theorem:
(defthm abs-uppercase-letter-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-uppercase-letter tree) (abs-uppercase-letter tree-equiv))) :rule-classes :congruence)