Abstract an
(abs-output-expression tree) → outexpr
Function:
(defun abs-output-expression (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-output-expression)) (declare (ignorable __function__)) (b* (((okf tree) (abnf::check-tree-nonleaf-1-1 tree "output-expression")) ((okf expr) (abs-expression tree))) (output-expression expr))))
Theorem:
(defthm output-expression-resultp-of-abs-output-expression (b* ((outexpr (abs-output-expression tree))) (output-expression-resultp outexpr)) :rule-classes :rewrite)
Theorem:
(defthm abs-output-expression-of-tree-fix-tree (equal (abs-output-expression (abnf::tree-fix tree)) (abs-output-expression tree)))
Theorem:
(defthm abs-output-expression-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-output-expression tree) (abs-output-expression tree-equiv))) :rule-classes :congruence)