Get the get field from a string-element-result-ok.
(string-element-result-ok->get acl2::x) → get
This is an ordinary field accessor created by fty::defprod.
Function:
(defun string-element-result-ok->get$inline (acl2::x) (declare (xargs :guard (string-element-resultp acl2::x))) (declare (xargs :guard (equal (string-element-result-kind acl2::x) :ok))) (let ((__function__ 'string-element-result-ok->get)) (declare (ignorable __function__)) (mbe :logic (b* ((acl2::x (and (equal (string-element-result-kind acl2::x) :ok) acl2::x))) (string-element-fix acl2::x)) :exec acl2::x)))
Theorem:
(defthm string-elementp-of-string-element-result-ok->get (b* ((get (string-element-result-ok->get$inline acl2::x))) (string-elementp get)) :rule-classes :rewrite)
Theorem:
(defthm string-element-result-ok->get$inline-of-string-element-result-fix-x (equal (string-element-result-ok->get$inline (string-element-result-fix acl2::x)) (string-element-result-ok->get$inline acl2::x)))
Theorem:
(defthm string-element-result-ok->get$inline-string-element-result-equiv-congruence-on-x (implies (string-element-result-equiv acl2::x x-equiv) (equal (string-element-result-ok->get$inline acl2::x) (string-element-result-ok->get$inline x-equiv))) :rule-classes :congruence)
Theorem:
(defthm string-element-result-ok->get-when-wrong-kind (implies (not (equal (string-element-result-kind acl2::x) :ok)) (equal (string-element-result-ok->get acl2::x) (string-element-fix nil))))