(cst-random-conc abnf::cst) → abnf::cstss
Function:
(defun cst-random-conc (abnf::cst) (declare (xargs :guard (abnf::treep abnf::cst))) (declare (xargs :guard (cst-matchp abnf::cst "random"))) (let ((__function__ 'cst-random-conc)) (declare (ignorable __function__)) (abnf::tree-nonleaf->branches abnf::cst)))
Theorem:
(defthm tree-list-listp-of-cst-random-conc (b* ((abnf::cstss (cst-random-conc abnf::cst))) (abnf::tree-list-listp abnf::cstss)) :rule-classes :rewrite)
Theorem:
(defthm cst-random-conc-match (implies (cst-matchp abnf::cst "random") (b* ((abnf::cstss (cst-random-conc abnf::cst))) (cst-list-list-conc-matchp abnf::cstss "cws %s\"rand.chacha\" *2( ws operand ) ws %s\"into\" ws register-access ws %s\"as\" ws ( arithmetic-type / address-type / signature-type / boolean-type ) ws \";\""))) :rule-classes :rewrite)
Theorem:
(defthm cst-random-conc-of-tree-fix-cst (equal (cst-random-conc (abnf::tree-fix abnf::cst)) (cst-random-conc abnf::cst)))
Theorem:
(defthm cst-random-conc-tree-equiv-congruence-on-cst (implies (abnf::tree-equiv abnf::cst cst-equiv) (equal (cst-random-conc abnf::cst) (cst-random-conc cst-equiv))) :rule-classes :congruence)