A
Function:
(defun abstract-bin-val-rest (tree) (declare (xargs :guard (treep tree))) (b* (((fun (fail)) (abstract-fail)) ((unless (tree-case tree :nonleaf)) (fail)) (treess (tree-nonleaf->branches tree)) ((when (endp treess)) nil) (trees (car treess)) ((unless (consp trees)) (fail)) (1st-subtree (car trees))) (if (abstract-bin/dec/hex-val-rest-dot-p 1st-subtree) (abstract-*-dot-1*bit trees) (abstract-dot/dash-1*bit 1st-subtree))))
Theorem:
(defthm return-type-of-abstract-bin-val-rest (b* ((result (abstract-bin-val-rest tree))) (or (nat-listp result) (natp result))) :rule-classes :rewrite)