(imap-cst-string-conc2-rep cst) → csts
Function:
(defun imap-cst-string-conc2-rep (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-rep)) (declare (ignorable __function__)) (tree-list-fix (nth 0 (imap-cst-string-conc2 cst)))))
Theorem:
(defthm tree-listp-of-imap-cst-string-conc2-rep (b* ((csts (imap-cst-string-conc2-rep cst))) (tree-listp csts)) :rule-classes :rewrite)
Theorem:
(defthm imap-cst-string-conc2-rep-match (implies (and (imap-cst-matchp cst "string") (equal (imap-cst-string-conc? cst) 2)) (b* ((csts (imap-cst-string-conc2-rep cst))) (imap-cst-list-rep-matchp csts "literal"))) :rule-classes :rewrite)
Theorem:
(defthm imap-cst-string-conc2-rep-of-tree-fix-cst (equal (imap-cst-string-conc2-rep (tree-fix cst)) (imap-cst-string-conc2-rep cst)))
Theorem:
(defthm imap-cst-string-conc2-rep-tree-equiv-congruence-on-cst (implies (tree-equiv cst cst-equiv) (equal (imap-cst-string-conc2-rep cst) (imap-cst-string-conc2-rep cst-equiv))) :rule-classes :congruence)