Abstract an
(abs-input-section tree) → insec
Function:
(defun abs-input-section (tree) (declare (xargs :guard (abnf::treep tree))) (let ((__function__ 'abs-input-section)) (declare (ignorable __function__)) (b* (((okf (abnf::tree-list-tuple2 sub)) (abnf::check-tree-nonleaf-2 tree "input-section")) ((okf tree) (abnf::check-tree-list-1 sub.1st)) ((okf intitle) (abs-input-title tree)) ((okf initems) (abs-*-input-item sub.2nd)) ((unless (mbt (input-title-optionp intitle))) (reserrf :cannot-happen)) ((when (null intitle)) nil)) (make-input-section :title intitle :items initems))))
Theorem:
(defthm input-section-option-resultp-of-abs-input-section (b* ((insec (abs-input-section tree))) (input-section-option-resultp insec)) :rule-classes :rewrite)
Theorem:
(defthm abs-input-section-of-tree-fix-tree (equal (abs-input-section (abnf::tree-fix tree)) (abs-input-section tree)))
Theorem:
(defthm abs-input-section-tree-equiv-congruence-on-tree (implies (abnf::tree-equiv tree tree-equiv) (equal (abs-input-section tree) (abs-input-section tree-equiv))) :rule-classes :congruence)