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