Get the size? field from a dirabsdeclor-array.
(dirabsdeclor-array->size? x) → size?
This is an ordinary field accessor created by fty::defprod.
Function:
(defun dirabsdeclor-array->size?$inline (x) (declare (xargs :guard (dirabsdeclorp x))) (declare (xargs :guard (equal (dirabsdeclor-kind x) :array))) (mbe :logic (b* ((x (and (equal (dirabsdeclor-kind x) :array) x))) (expr-option-fix (cdr (cdr (cdr x))))) :exec (cdr (cdr (cdr x)))))
Theorem:
(defthm expr-optionp-of-dirabsdeclor-array->size? (b* ((size? (dirabsdeclor-array->size?$inline x))) (expr-optionp size?)) :rule-classes :rewrite)
Theorem:
(defthm dirabsdeclor-array->size?$inline-of-dirabsdeclor-fix-x (equal (dirabsdeclor-array->size?$inline (dirabsdeclor-fix x)) (dirabsdeclor-array->size?$inline x)))
Theorem:
(defthm dirabsdeclor-array->size?$inline-dirabsdeclor-equiv-congruence-on-x (implies (dirabsdeclor-equiv x x-equiv) (equal (dirabsdeclor-array->size?$inline x) (dirabsdeclor-array->size?$inline x-equiv))) :rule-classes :congruence)
Theorem:
(defthm dirabsdeclor-array->size?-when-wrong-kind (implies (not (equal (dirabsdeclor-kind x) :array)) (equal (dirabsdeclor-array->size? x) (expr-option-fix nil))))