Abstract an
(abs-decrement-statement tree) → stat
Function:
(defun abs-decrement-statement (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-decrement-statement)) (declare (ignorable __function__)) (b* (((okf (abnf::tree-list-tuple10 sub)) (abnf::check-tree-nonleaf-10 tree "decrement-statement")) ((okf tree) (abnf::check-tree-list-1 sub.1st)) ((okf &) (abnf::check-tree-schars tree "decrement")) ((okf tree) (abnf::check-tree-list-1 sub.2nd)) ((okf &) (abnf::check-tree-schars tree "(")) ((okf tree) (abnf::check-tree-list-1 sub.3rd)) ((okf mapping) (abs-identifier tree)) ((okf tree) (abnf::check-tree-list-1 sub.4th)) ((okf &) (abnf::check-tree-schars tree ",")) ((okf tree) (abnf::check-tree-list-1 sub.5th)) ((okf index) (abs-expression tree)) ((okf tree) (abnf::check-tree-list-1 sub.6th)) ((okf &) (abnf::check-tree-schars tree ",")) ((okf tree) (abnf::check-tree-list-1 sub.7th)) ((okf amount) (abs-expression tree)) ((okf tree) (abnf::check-tree-list-1 sub.8th)) ((okf ?) (check-?-comma tree)) ((okf tree) (abnf::check-tree-list-1 sub.9th)) ((okf &) (abnf::check-tree-schars tree ")")) ((okf tree) (abnf::check-tree-list-1 sub.10th)) ((okf &) (abnf::check-tree-schars tree ";"))) (make-statement-decrement :mapping mapping :index index :amount amount))))
Theorem:
(defthm statement-resultp-of-abs-decrement-statement (b* ((stat (abs-decrement-statement tree))) (statement-resultp stat)) :rule-classes :rewrite)
Theorem:
(defthm abs-decrement-statement-of-tree-fix-tree (equal (abs-decrement-statement (abnf::tree-fix tree)) (abs-decrement-statement tree)))
Theorem:
(defthm abs-decrement-statement-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-decrement-statement tree) (abs-decrement-statement tree-equiv))) :rule-classes :congruence)