(abs-expression-alt tree) → ret-expr
Function:
(defun abs-expression-alt (tree) (declare (xargs :guard (abnf::treep tree))) (declare (xargs :guard (cst-matchp tree "expression"))) (let ((__function__ 'abs-expression-alt)) (declare (ignorable __function__)) (let ((expr (abs-expression tree))) (if (expressionp expr) expr (make-expression-var :name "ABSTRACTION ERROR")))))
Theorem:
(defthm expressionp-of-abs-expression-alt (b* ((ret-expr (abs-expression-alt tree))) (expressionp ret-expr)) :rule-classes :rewrite)
Theorem:
(defthm abs-expression-alt-of-tree-fix-tree (equal (abs-expression-alt (abnf::tree-fix tree)) (abs-expression-alt tree)))
Theorem:
(defthm abs-expression-alt-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-expression-alt tree) (abs-expression-alt tree-equiv))) :rule-classes :congruence)