Get the val field from a scratchobj-cinst.
(scratchobj-cinst->val x) → val
This is an ordinary field accessor created by defprod.
Function:
(defun scratchobj-cinst->val$inline (x) (declare (xargs :guard (scratchobj-p x))) (declare (xargs :guard (equal (scratchobj-kind x) :cinst))) (let ((__function__ 'scratchobj-cinst->val)) (declare (ignorable __function__)) (mbe :logic (b* ((x (and (equal (scratchobj-kind x) :cinst) x))) (constraint-instance-fix (cdr x))) :exec (cdr x))))
Theorem:
(defthm constraint-instance-p-of-scratchobj-cinst->val (b* ((val (scratchobj-cinst->val$inline x))) (constraint-instance-p val)) :rule-classes :rewrite)
Theorem:
(defthm scratchobj-cinst->val$inline-of-scratchobj-fix-x (equal (scratchobj-cinst->val$inline (scratchobj-fix x)) (scratchobj-cinst->val$inline x)))
Theorem:
(defthm scratchobj-cinst->val$inline-scratchobj-equiv-congruence-on-x (implies (scratchobj-equiv x x-equiv) (equal (scratchobj-cinst->val$inline x) (scratchobj-cinst->val$inline x-equiv))) :rule-classes :congruence)
Theorem:
(defthm scratchobj-cinst->val-when-wrong-kind (implies (not (equal (scratchobj-kind x) :cinst)) (equal (scratchobj-cinst->val x) (constraint-instance-fix nil))))