A
The parse tree must be a leaf labeled by a list of natural numbers. That list of natural numbers is returned.
Function:
(defun abstract-terminals (tree) (declare (xargs :guard (treep tree))) (if (tree-case tree :leafterm) (tree-leafterm->get tree) (abstract-fail)))
Theorem:
(defthm nat-listp-of-abstract-terminals (b* ((nats (abstract-terminals tree))) (nat-listp nats)) :rule-classes :rewrite)