Abstract an
(abs-affine-group-literal tree) → lit
Function:
(defun abs-affine-group-literal (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-affine-group-literal)) (declare (ignorable __function__)) (b* (((okf (abnf::tree-list-tuple5 sub)) (abnf::check-tree-nonleaf-5 tree "affine-group-literal")) ((okf tree) (abnf::check-tree-list-1 sub.1st)) ((okf &) (abnf::check-tree-ichars tree "(")) ((okf tree) (abnf::check-tree-list-1 sub.2nd)) ((okf x) (abs-group-coordinate tree)) ((okf tree) (abnf::check-tree-list-1 sub.3rd)) ((okf &) (abnf::check-tree-ichars tree ",")) ((okf tree) (abnf::check-tree-list-1 sub.4th)) ((okf y) (abs-group-coordinate tree)) ((okf tree) (abnf::check-tree-list-1 sub.5th)) ((okf &) (abnf::check-tree-ichars tree ")group"))) (make-group-literal-affine :x x :y y))))
Theorem:
(defthm group-literal-resultp-of-abs-affine-group-literal (b* ((lit (abs-affine-group-literal tree))) (group-literal-resultp lit)) :rule-classes :rewrite)
Theorem:
(defthm abs-affine-group-literal-of-tree-fix-tree (equal (abs-affine-group-literal (abnf::tree-fix tree)) (abs-affine-group-literal tree)))
Theorem:
(defthm abs-affine-group-literal-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-affine-group-literal tree) (abs-affine-group-literal tree-equiv))) :rule-classes :congruence)