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