Get the rulename? field from a tree-nonleaf.
(tree-nonleaf->rulename? x) → rulename?
This is an ordinary field accessor created by fty::defprod.
Function:
(defun tree-nonleaf->rulename?$inline (x) (declare (xargs :guard (treep x))) (declare (xargs :guard (equal (tree-kind x) :nonleaf))) (let ((__function__ 'tree-nonleaf->rulename?)) (declare (ignorable __function__)) (mbe :logic (b* ((x (and (equal (tree-kind x) :nonleaf) x))) (rulename-option-fix (std::da-nth 0 (cdr x)))) :exec (std::da-nth 0 (cdr x)))))
Theorem:
(defthm rulename-optionp-of-tree-nonleaf->rulename? (b* ((rulename? (tree-nonleaf->rulename?$inline x))) (rulename-optionp rulename?)) :rule-classes :rewrite)
Theorem:
(defthm tree-nonleaf->rulename?$inline-of-tree-fix-x (equal (tree-nonleaf->rulename?$inline (tree-fix x)) (tree-nonleaf->rulename?$inline x)))
Theorem:
(defthm tree-nonleaf->rulename?$inline-tree-equiv-congruence-on-x (implies (tree-equiv x x-equiv) (equal (tree-nonleaf->rulename?$inline x) (tree-nonleaf->rulename?$inline x-equiv))) :rule-classes :congruence)
Theorem:
(defthm tree-nonleaf->rulename?-when-wrong-kind (implies (not (equal (tree-kind x) :nonleaf)) (equal (tree-nonleaf->rulename? x) (rulename-option-fix nil))))