Get the list field from a enum-spec.
(enum-spec->list x) → list
This is an ordinary field accessor created by fty::defprod.
Function:
(defun enum-spec->list$inline (x) (declare (xargs :guard (enum-specp x))) (declare (xargs :guard t)) (mbe :logic (b* ((x (and t x))) (enumer-list-fix (car (cdr x)))) :exec (car (cdr x))))
Theorem:
(defthm enumer-listp-of-enum-spec->list (b* ((list (enum-spec->list$inline x))) (enumer-listp list)) :rule-classes :rewrite)
Theorem:
(defthm enum-spec->list$inline-of-enum-spec-fix-x (equal (enum-spec->list$inline (enum-spec-fix x)) (enum-spec->list$inline x)))
Theorem:
(defthm enum-spec->list$inline-enum-spec-equiv-congruence-on-x (implies (enum-spec-equiv x x-equiv) (equal (enum-spec->list$inline x) (enum-spec->list$inline x-equiv))) :rule-classes :congruence)