Recognize true lists of
(*-listp stars) → yes/no
These lists are used to indicate the number of arguments of function variables in defunvar.
Any
Function:
(defun *-listp (stars) (declare (xargs :guard t)) (let ((__function__ '*-listp)) (declare (ignorable __function__)) (if (atom stars) (null stars) (and (symbolp (car stars)) (equal (symbol-name (car stars)) "*") (*-listp (cdr stars))))))
Theorem:
(defthm booleanp-of-*-listp (b* ((yes/no (*-listp stars))) (booleanp yes/no)) :rule-classes :rewrite)