Get the return-types field from a types+vartab.
(types+vartab->return-types x) → return-types
This is an ordinary field accessor created by fty::defprod.
Function:
(defun types+vartab->return-types$inline (x) (declare (xargs :guard (types+vartab-p x))) (declare (xargs :guard t)) (let ((__function__ 'types+vartab->return-types)) (declare (ignorable __function__)) (mbe :logic (b* ((x (and t x)) (return-types (type-set-fix (cdr (std::da-nth 0 x)))) (variables (var-table-fix (cdr (std::da-nth 1 x))))) (if (emptyp return-types) (insert (type-void) nil) return-types)) :exec (cdr (std::da-nth 0 x)))))
Theorem:
(defthm type-setp-of-types+vartab->return-types (b* ((return-types (types+vartab->return-types$inline x))) (type-setp return-types)) :rule-classes :rewrite)
Theorem:
(defthm types+vartab->return-types$inline-of-types+vartab-fix-x (equal (types+vartab->return-types$inline (types+vartab-fix x)) (types+vartab->return-types$inline x)))
Theorem:
(defthm types+vartab->return-types$inline-types+vartab-equiv-congruence-on-x (implies (types+vartab-equiv x x-equiv) (equal (types+vartab->return-types$inline x) (types+vartab->return-types$inline x-equiv))) :rule-classes :congruence)