Get the phase-fsm field from a svtv-data-obj.
(svtv-data-obj->phase-fsm x) → phase-fsm
This is an ordinary field accessor created by defprod.
Function:
(defun svtv-data-obj->phase-fsm$inline (x) (declare (xargs :guard (svtv-data-obj-p x))) (declare (xargs :guard t)) (let ((__function__ 'svtv-data-obj->phase-fsm)) (declare (ignorable __function__)) (mbe :logic (b* ((x (and t x))) (fsm-fix (std::da-nth 10 x))) :exec (std::da-nth 10 x))))
Theorem:
(defthm fsm-p-of-svtv-data-obj->phase-fsm (b* ((phase-fsm (svtv-data-obj->phase-fsm$inline x))) (fsm-p phase-fsm)) :rule-classes :rewrite)
Theorem:
(defthm svtv-data-obj->phase-fsm$inline-of-svtv-data-obj-fix-x (equal (svtv-data-obj->phase-fsm$inline (svtv-data-obj-fix x)) (svtv-data-obj->phase-fsm$inline x)))
Theorem:
(defthm svtv-data-obj->phase-fsm$inline-svtv-data-obj-equiv-congruence-on-x (implies (svtv-data-obj-equiv x x-equiv) (equal (svtv-data-obj->phase-fsm$inline x) (svtv-data-obj->phase-fsm$inline x-equiv))) :rule-classes :congruence)