Abstract a
(abs-console-call tree) → cons
Function:
(defun abs-console-call (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-console-call)) (declare (ignorable __function__)) (b* (((okf tree) (abnf::check-tree-nonleaf-1-1 tree "console-call")) ((okf rulename?) (abnf::check-tree-nonleaf? tree))) (cond ((equal rulename? "assert-call") (abs-assert-call tree)) ((equal rulename? "print-call") (abs-print-call tree)) (t (reserrf (list :found-subtree (abnf::tree-info-for-error tree))))))))
Theorem:
(defthm console-resultp-of-abs-console-call (b* ((cons (abs-console-call tree))) (console-resultp cons)) :rule-classes :rewrite)
Theorem:
(defthm abs-console-call-of-tree-fix-tree (equal (abs-console-call (abnf::tree-fix tree)) (abs-console-call tree)))
Theorem:
(defthm abs-console-call-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-console-call tree) (abs-console-call tree-equiv))) :rule-classes :congruence)