Families of maps
Content created by Egbert Rijke, Fredrik Bakke, Daniel Gratzer and Elisabeth Stenholm.
Created on 2023-11-27.
Last modified on 2024-03-14.
module foundation.families-of-maps where
Imports
open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.type-arithmetic-dependent-pair-types open import foundation.universal-property-dependent-pair-types open import foundation.universe-levels open import foundation-core.contractible-types open import foundation-core.families-of-equivalences open import foundation-core.function-types open import foundation-core.functoriality-dependent-function-types open import foundation-core.functoriality-dependent-pair-types open import foundation-core.homotopies open import foundation-core.identity-types open import foundation-core.propositions open import foundation-core.subtypes open import foundation-core.torsorial-type-families open import foundation-core.type-theoretic-principle-of-choice
Idea
Given a type A
and type families B C : A → Type
, a family of maps from
B
to C
is an element of the type (x : A) → B x → C x
.
module _ {l1 l2 l3 : Level} {A : UU l1} (B : A → UU l2) (C : A → UU l3) where fam-map : UU (l1 ⊔ l2 ⊔ l3) fam-map = (x : A) → B x → C x
Properties
Families of maps are equivalent to maps of total spaces respecting the first coordinate
module _ {l1 l2 l3 : Level} {A : UU l1} (B : A → UU l2) (C : A → UU l3) where equiv-fam-map-map-tot-space : fam-map B C ≃ Σ (Σ A B → Σ A C) (λ f → pr1 ~ pr1 ∘ f) equiv-fam-map-map-tot-space = equivalence-reasoning fam-map B C ≃ (((x , _) : Σ A B) → C x) by equiv-ind-Σ ≃ (((x , _) : Σ A B) → Σ (Σ A (x =_)) (λ (x' , _) → C x')) by equiv-Π-equiv-family ( λ (x , _) → inv-left-unit-law-Σ-is-contr ( is-torsorial-Id x) ( x , refl)) ≃ (((x , _) : Σ A B) → Σ (Σ A C) (λ (x' , _) → x = x')) by equiv-Π-equiv-family (λ _ → equiv-right-swap-Σ) ≃ Σ (Σ A B → Σ A C) (λ f → pr1 ~ pr1 ∘ f) by distributive-Π-Σ
Families of equivalences are equivalent to equivalences of total spaces respecting the first coordinate
module _ {l1 l2 l3 : Level} {A : UU l1} (B : A → UU l2) (C : A → UU l3) where equiv-fam-equiv-equiv-tot-space : fam-equiv B C ≃ Σ (Σ A B ≃ Σ A C) (λ e → pr1 ~ pr1 ∘ map-equiv e) equiv-fam-equiv-equiv-tot-space = equivalence-reasoning fam-equiv B C ≃ fiberwise-equiv B C by equiv-fiberwise-equiv-fam-equiv B C ≃ Σ ( Σ ( Σ A B → Σ A C) (λ e → pr1 ~ pr1 ∘ e)) ( λ (e , _) → is-equiv e) by equiv-subtype-equiv ( equiv-fam-map-map-tot-space B C) ( λ f → Π-Prop A (is-equiv-Prop ∘ f)) ( λ (e , _) → is-equiv-Prop e) ( λ f → is-equiv-tot-is-fiberwise-equiv , is-fiberwise-equiv-is-equiv-tot) ≃ Σ (Σ A B ≃ Σ A C) (λ e → pr1 ~ pr1 ∘ map-equiv e) by equiv-right-swap-Σ
Recent changes
- 2024-03-14. Egbert Rijke. Move torsoriality of the identity type to
foundation-core.torsorial-type-families
(#1065). - 2024-01-31. Fredrik Bakke. Rename
is-torsorial-path
tois-torsorial-Id
(#1016). - 2023-12-21. Fredrik Bakke. Action on homotopies of functions (#973).
- 2023-11-27. Elisabeth Stenholm, Daniel Gratzer and Egbert Rijke. Additions during work on material set theory in HoTT (#910).