(cst-lexeme-conc1-rep-elem abnf::cst) → abnf::cst1
Function:
(defun cst-lexeme-conc1-rep-elem (abnf::cst) (declare (xargs :guard (abnf::treep abnf::cst))) (declare (xargs :guard (and (cst-matchp abnf::cst "lexeme") (equal (cst-lexeme-conc? abnf::cst) 1)))) (let ((__function__ 'cst-lexeme-conc1-rep-elem)) (declare (ignorable __function__)) (abnf::tree-fix (nth 0 (cst-lexeme-conc1-rep abnf::cst)))))
Theorem:
(defthm treep-of-cst-lexeme-conc1-rep-elem (b* ((abnf::cst1 (cst-lexeme-conc1-rep-elem abnf::cst))) (abnf::treep abnf::cst1)) :rule-classes :rewrite)
Theorem:
(defthm cst-lexeme-conc1-rep-elem-match (implies (and (cst-matchp abnf::cst "lexeme") (equal (cst-lexeme-conc? abnf::cst) 1)) (b* ((abnf::cst1 (cst-lexeme-conc1-rep-elem abnf::cst))) (cst-matchp abnf::cst1 "token"))) :rule-classes :rewrite)
Theorem:
(defthm cst-lexeme-conc1-rep-elem-of-tree-fix-cst (equal (cst-lexeme-conc1-rep-elem (abnf::tree-fix abnf::cst)) (cst-lexeme-conc1-rep-elem abnf::cst)))
Theorem:
(defthm cst-lexeme-conc1-rep-elem-tree-equiv-congruence-on-cst (implies (abnf::tree-equiv abnf::cst cst-equiv) (equal (cst-lexeme-conc1-rep-elem abnf::cst) (cst-lexeme-conc1-rep-elem cst-equiv))) :rule-classes :congruence)