A
Function:
(defun abstract-defined-as (tree) (declare (xargs :guard (treep tree))) (b* (((fun (fail)) (abstract-fail)) ((unless (tree-case tree :nonleaf)) (fail)) (treess (tree-nonleaf->branches tree)) ((unless (and (consp treess) (consp (cdr treess)))) (fail)) (trees (cadr treess)) ((unless (consp trees)) (fail)) (subtree (car trees)) (nats (abstract-grouped-terminals subtree))) (not (equal nats (list (char-code #\=))))))
Theorem:
(defthm booleanp-of-abstract-defined-as (b* ((incremental (abstract-defined-as tree))) (booleanp incremental)) :rule-classes :rewrite)