Construct a repetition of one or more instances of an element.
(1*_ x) → repetition
If a rule name is supplied, it is promoted to an element.
The name of this function is inspired by the ABNF notation
Function:
(defun 1*_ (x) (declare (xargs :guard (element/rulename-p x))) (b* ((element (if (elementp x) x (element-rulename x))) (range (make-repeat-range :min 1 :max (nati-infinity)))) (make-repetition :range range :element element)))
Theorem:
(defthm repetitionp-of-1*_ (b* ((repetition (1*_ x))) (repetitionp repetition)) :rule-classes :rewrite)