Lift abnf-tree-with-root-p to lists.
(abnf-tree-list-with-root-p x rulename) → std::bool
This is an ordinary std::deflist. It is
"strict" in that it requires
Function:
(defun abnf-tree-list-with-root-p (x rulename) (declare (xargs :guard (stringp rulename))) (let ((__function__ 'abnf-tree-list-with-root-p)) (declare (ignorable __function__)) (if (consp x) (and (abnf-tree-with-root-p (car x) rulename) (abnf-tree-list-with-root-p (cdr x) rulename)) (null x))))
Theorem:
(defthm abnf-tree-listp-when-abnf-tree-list-with-root-p (implies (abnf-tree-list-with-root-p trees rulename) (abnf::tree-listp trees)))