Retractive types
Content created by Fredrik Bakke.
Created on 2025-10-29.
Last modified on 2025-10-29.
module structured-types.retractive-types where
Imports
open import foundation.dependent-pair-types open import foundation.retracts-of-types open import foundation.transport-along-identifications open import foundation.universe-levels open import foundation-core.retractions open import foundation-core.sections
Idea
A retractive type¶ A under X, or
X-retractive type is the data of displaying X as a
retract of A. I.e., it is a pair of maps
a p
X ----> A ----> X
such that the composite p ∘ a is the identity. We refer to a as the
inclusion, or section, of A and p as the retraction, or projection
of A.
Retractive types are also known as ex-spaces, and form the basic objects in
the study of parametrized homotopy theory [MS04]. Observe that under
type duality retractive types
correspond precisely to families of
pointed types, hence the study of
retractive types is the study of pointed types parametrized over a base type
X.
The X-retractive types live naturally in the coslice
of X, which is why we use the preposition under rather than over.
Definitions
The predicate on types of being retractive under X
module _ {l1 l2 : Level} (X : UU l1) (A : UU l2) where is-retractive-under : UU (l1 ⊔ l2) is-retractive-under = X retract-of A
The universe of retractive types under X
Retractive-Type : {l1 : Level} (l2 : Level) (X : UU l1) → UU (l1 ⊔ lsuc l2) Retractive-Type l2 X = Σ (UU l2) (is-retractive-under X) module _ {l1 l2 : Level} {X : UU l1} (A : Retractive-Type l2 X) where type-Retractive-Type : UU l2 type-Retractive-Type = pr1 A retract-Retractive-Type : X retract-of type-Retractive-Type retract-Retractive-Type = pr2 A inclusion-Retractive-Type : X → type-Retractive-Type inclusion-Retractive-Type = inclusion-retract retract-Retractive-Type retraction-Retractive-Type : retraction inclusion-Retractive-Type retraction-Retractive-Type = retraction-retract retract-Retractive-Type map-retraction-Retractive-Type : type-Retractive-Type → X map-retraction-Retractive-Type = map-retraction-retract retract-Retractive-Type is-retract-Retractive-Type : is-retraction inclusion-Retractive-Type map-retraction-Retractive-Type is-retract-Retractive-Type = is-retraction-map-retraction-retract retract-Retractive-Type section-Retractive-Type : section map-retraction-Retractive-Type section-Retractive-Type = ( inclusion-Retractive-Type , is-retract-Retractive-Type)
Evaluation at the inclusion/section
ev-Retractive-Type : {l1 l2 l3 : Level} {X : UU l1} (A : Retractive-Type l2 X) {B : X → UU l3} → ((a : type-Retractive-Type A) → B (map-retraction-Retractive-Type A a)) → (x : X) → B x ev-Retractive-Type A {B} f x = tr B (is-retract-Retractive-Type A x) (f (inclusion-Retractive-Type A x))
See also
- In pointed type duality we show
that retractive types under
Xare equivalent to families of pointed types overX.
References
- [MS04]
- J. P. May and J. Sigurdsson. Parametrized homotopy theory. 2004. arXiv:math/0411656.
Recent changes
- 2025-10-29. Fredrik Bakke. Retractive types and pointed type duality (#1580).