Abstract a
(abs-simple-character-escape tree) → char
Function:
(defun abs-simple-character-escape (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-simple-character-escape)) (declare (ignorable __function__)) (b* (((okf tree) (abnf::check-tree-nonleaf-1-1 tree "simple-character-escape")) ((okf rulename?) (abnf::check-tree-nonleaf? tree))) (cond ((equal rulename? "double-quote-escape") (abs-double-quote-escape tree)) ((equal rulename? "backslash-escape") (abs-backslash-escape tree)) ((equal rulename? "line-feed-escape") (abs-line-feed-escape tree)) ((equal rulename? "carriage-return-escape") (abs-carriage-return-escape tree)) ((equal rulename? "horizontal-tab-escape") (abs-horizontal-tab-escape tree)) ((equal rulename? "null-character-escape") (abs-null-character-escape tree)) (t (reserrf (list :found-subtree (abnf::tree-info-for-error tree))))))))
Theorem:
(defthm char-resultp-of-abs-simple-character-escape (b* ((char (abs-simple-character-escape tree))) (char-resultp char)) :rule-classes :rewrite)
Theorem:
(defthm abs-simple-character-escape-of-tree-fix-tree (equal (abs-simple-character-escape (abnf::tree-fix tree)) (abs-simple-character-escape tree)))
Theorem:
(defthm abs-simple-character-escape-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-simple-character-escape tree) (abs-simple-character-escape tree-equiv))) :rule-classes :congruence)