(imap-cst-string-conc2 cst) → cstss
Function:
(defun imap-cst-string-conc2 (cst) (declare (xargs :guard (treep cst))) (declare (xargs :guard (and (imap-cst-matchp cst "string") (equal (imap-cst-string-conc? cst) 2)))) (let ((__function__ 'imap-cst-string-conc2)) (declare (ignorable __function__)) (tree-nonleaf->branches cst)))
Theorem:
(defthm tree-list-listp-of-imap-cst-string-conc2 (b* ((cstss (imap-cst-string-conc2 cst))) (tree-list-listp cstss)) :rule-classes :rewrite)
Theorem:
(defthm imap-cst-string-conc2-match (implies (and (imap-cst-matchp cst "string") (equal (imap-cst-string-conc? cst) 2)) (b* ((cstss (imap-cst-string-conc2 cst))) (imap-cst-list-list-conc-matchp cstss "literal"))) :rule-classes :rewrite)
Theorem:
(defthm imap-cst-string-conc2-of-tree-fix-cst (equal (imap-cst-string-conc2 (tree-fix cst)) (imap-cst-string-conc2 cst)))
Theorem:
(defthm imap-cst-string-conc2-tree-equiv-congruence-on-cst (implies (tree-equiv cst cst-equiv) (equal (imap-cst-string-conc2 cst) (imap-cst-string-conc2 cst-equiv))) :rule-classes :congruence)