Abstract an
(abs-input-item tree) → initem
Function:
(defun abs-input-item (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-input-item)) (declare (ignorable __function__)) (b* (((okf (abnf::tree-list-tuple6 sub)) (abnf::check-tree-nonleaf-6 tree "input-item")) ((okf tree) (abnf::check-tree-list-1 sub.1st)) ((okf ident) (abs-identifier tree)) ((okf tree) (abnf::check-tree-list-1 sub.2nd)) ((okf &) (abnf::check-tree-ichars tree ":")) ((okf tree) (abnf::check-tree-list-1 sub.3rd)) ((okf intype) (abs-input-type tree)) ((okf tree) (abnf::check-tree-list-1 sub.4th)) ((okf &) (abnf::check-tree-ichars tree "=")) ((okf tree) (abnf::check-tree-list-1 sub.5th)) ((okf inexpr) (abs-input-expression tree)) ((okf tree) (abnf::check-tree-list-1 sub.6th)) ((okf &) (abnf::check-tree-ichars tree ";"))) (make-input-item :name ident :type intype :value inexpr))))
Theorem:
(defthm input-item-resultp-of-abs-input-item (b* ((initem (abs-input-item tree))) (input-item-resultp initem)) :rule-classes :rewrite)
Theorem:
(defthm abs-input-item-of-tree-fix-tree (equal (abs-input-item (abnf::tree-fix tree)) (abs-input-item tree)))
Theorem:
(defthm abs-input-item-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-input-item tree) (abs-input-item tree-equiv))) :rule-classes :congruence)