Joins of maps
Content created by Fredrik Bakke and Egbert Rijke.
Created on 2023-11-23.
Last modified on 2024-04-25.
module synthetic-homotopy-theory.joins-of-maps where
Imports
open import foundation.contractible-types open import foundation.dependent-pair-types open import foundation.function-types open import foundation.homotopies open import foundation.standard-pullbacks open import foundation.universe-levels open import synthetic-homotopy-theory.cocones-under-spans open import synthetic-homotopy-theory.pushouts open import synthetic-homotopy-theory.universal-property-pushouts
Idea
Consider two maps f : A → X
and g : B → X
with a common codomain. The
join f * g
of f
and g
is defined as the
cogap map of the
pullback square
π₂
A ×_X B -----> B
| ⌟ |
π₁ | | g
∨ ∨
A ---------> X.
f
We often write A *_X B
for the domain of the fiberwise join. In other words,
the cogap map of any cartesian square
j
A -----> X
| ⌟ |
f | | g
∨ ∨
B -----> Y
i
is the join of i
and g
. The join of maps is also called the fiberwise
join because for each x : X
we have an
equivalence
fiber (f * g) x ≃ (fiber f x) * (fiber g x)
from the fiber of f * g
to the
join of the fibers of f
and
g
. In other words, there is a
commuting triangle
≃
A *_X B --> Σ (x : X), (fiber f x) * (fiber g x)
\ /
\ /
\ /
∨ ∨
X.
in which the top map is an equivalence. The join of maps is related to the pushout-product, because it fits in a pullback diagram
A *_X B ------> (X × B) ⊔_{A × B} (A × X)
| ⌟ |
f * g | | f □ g
∨ ∨
X ----------------> X × X.
Δ
A second way in which the pushout-product is related to the join of maps, is that there is a commuting triangle
≃
(X × B) ⊔_{A × B} (A × X) ----> (A × Y) *_{X × Y} (X × B)
\ /
f □ g \ / (f × id) * (id × g)
\ /
∨ ∨
X × Y
This is an immediate consequence of the fact that the ambient square of the pushout-product is cartesian, and therefore its cogap map is the join of the two terminal maps in the square.
Definitions
The join of maps
module _ {l1 l2 l3 : Level} {X : UU l1} {A : UU l2} {B : UU l3} (f : A → X) (g : B → X) where domain-join-maps : UU (l1 ⊔ l2 ⊔ l3) domain-join-maps = pushout ( vertical-map-standard-pullback {f = f} {g = g}) ( horizontal-map-standard-pullback {f = f} {g = g}) cocone-join-maps : cocone ( vertical-map-standard-pullback {f = f} {g = g}) ( horizontal-map-standard-pullback {f = f} {g = g}) ( X) pr1 cocone-join-maps = f pr1 (pr2 cocone-join-maps) = g pr2 (pr2 cocone-join-maps) = coherence-square-standard-pullback abstract uniqueness-join-maps : is-contr ( Σ ( domain-join-maps → X) ( λ h → htpy-cocone ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback) ( cocone-map ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback) ( cocone-pushout ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback)) ( h)) ( cocone-join-maps))) uniqueness-join-maps = uniqueness-map-universal-property-pushout ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback) ( cocone-pushout ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback)) ( up-pushout _ _) ( cocone-join-maps) abstract join-maps : domain-join-maps → X join-maps = pr1 (center uniqueness-join-maps) compute-inl-join-maps : join-maps ∘ inl-pushout _ _ ~ f compute-inl-join-maps = pr1 (pr2 (center uniqueness-join-maps)) compute-inr-join-maps : join-maps ∘ inr-pushout _ _ ~ g compute-inr-join-maps = pr1 (pr2 (pr2 (center uniqueness-join-maps))) compute-glue-join-maps : statement-coherence-htpy-cocone ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback) ( cocone-map ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback) ( cocone-pushout ( vertical-map-standard-pullback) ( horizontal-map-standard-pullback)) ( join-maps)) ( cocone-join-maps) ( compute-inl-join-maps) ( compute-inr-join-maps) compute-glue-join-maps = pr2 (pr2 (pr2 (center uniqueness-join-maps)))
External links
- Join of maps at the Lab
Recent changes
- 2024-04-25. Fredrik Bakke. chore: Fix arrowheads in character diagrams (#1124).
- 2024-03-02. Fredrik Bakke. Factor out standard pullbacks (#1042).
- 2024-01-14. Fredrik Bakke. Exponentiating retracts of maps (#989).
- 2023-11-23. Egbert Rijke. Pushout-products, fiberwise joins, and dependent pushout-products (#927).