Dependent extension H-spaces
Content created by Fredrik Bakke.
Created on 2026-09-11.
Last modified on 2026-09-11.
module structured-types.dependent-extension-h-spaces where
Imports
open import foundation.action-on-identifications-binary-functions open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.function-types open import foundation.homotopies open import foundation.identity-types open import foundation.unital-binary-operations open import foundation.universe-levels open import orthogonal-factorization-systems.equality-extensions-dependent-maps open import orthogonal-factorization-systems.extensions-dependent-maps open import structured-types.h-spaces open import structured-types.magmas open import structured-types.noncoherent-h-spaces open import structured-types.pointed-types
Idea
Given a map h : A → B and a family of H-spaces
M i indexed by B, the
dependent extension H-space¶
extension-Π h M is an H-space consisting of
dependent extensions
of the family of units η : (i : A) → M (h i) in M along h. I.e., maps
f : (i : B) → M i equipped with a
homotopy f ∘ h ~ η. The multiplication is
given pointwise, and on the homotopy by the
binary action on identifications
of the pointwise multiplication operation of M.
Definition
module _ {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} (h : A → B) (M : B → H-Space l3) where type-extension-Π-H-Space : UU (l1 ⊔ l2 ⊔ l3) type-extension-Π-H-Space = extension-dependent-map' h (type-H-Space ∘ M) (unit-H-Space ∘ M ∘ h) unit-extension-Π-H-Space : type-extension-Π-H-Space unit-extension-Π-H-Space = (unit-H-Space ∘ M , refl-htpy) pointed-type-extension-Π-H-Space : Pointed-Type (l1 ⊔ l2 ⊔ l3) pointed-type-extension-Π-H-Space = ( type-extension-Π-H-Space , unit-extension-Π-H-Space) mul-extension-Π-H-Space : type-extension-Π-H-Space → type-extension-Π-H-Space → type-extension-Π-H-Space pr1 (mul-extension-Π-H-Space (f , f∗) (g , g∗)) i = mul-H-Space (M i) (f i) (g i) pr2 (mul-extension-Π-H-Space (f , f∗) (g , g∗)) i = ( ap-binary (mul-H-Space (M (h i))) (f∗ i) (g∗ i)) ∙ ( left-unit-law-mul-H-Space (M (h i)) (unit-H-Space (M (h i)))) htpy-left-unit-law-mul-extension-Π-H-Space : (f : type-extension-Π-H-Space) → htpy-extension-dependent-map' ( h) ( unit-H-Space ∘ M ∘ h) ( mul-extension-Π-H-Space unit-extension-Π-H-Space f) ( f) pr1 (htpy-left-unit-law-mul-extension-Π-H-Space (f , f∗)) i = left-unit-law-mul-H-Space (M i) (f i) pr2 (htpy-left-unit-law-mul-extension-Π-H-Space (f , f∗)) i = inv-nat-htpy-id (left-unit-law-mul-H-Space (M (h i))) (f∗ i) left-unit-law-mul-extension-Π-H-Space : (f : type-extension-Π-H-Space) → mul-extension-Π-H-Space unit-extension-Π-H-Space f = f left-unit-law-mul-extension-Π-H-Space f = eq-htpy-extension-dependent-map' ( h) ( unit-H-Space ∘ M ∘ h) ( mul-extension-Π-H-Space unit-extension-Π-H-Space f) ( f) ( htpy-left-unit-law-mul-extension-Π-H-Space f) htpy-right-unit-law-mul-extension-Π-H-Space' : (f : type-extension-Π-H-Space) → htpy-extension-dependent-map' ( h) ( unit-H-Space ∘ M ∘ h) ( mul-extension-Π-H-Space f unit-extension-Π-H-Space) ( f) pr1 (htpy-right-unit-law-mul-extension-Π-H-Space' (f , f∗)) i = right-unit-law-mul-H-Space (M i) (f i) pr2 (htpy-right-unit-law-mul-extension-Π-H-Space' (f , f∗)) i = equational-reasoning ( ( ap (λ f → mul-H-Space (M (h i)) f (unit-H-Space (M (h i)))) (f∗ i)) ∙ ( refl)) ∙ ( left-unit-law-mul-H-Space (M (h i)) (unit-H-Space (M (h i)))) = ( ap (λ f → mul-H-Space (M (h i)) f (unit-H-Space (M (h i)))) (f∗ i)) ∙ ( right-unit-law-mul-H-Space (M (h i)) (unit-H-Space (M (h i)))) by ap-binary (_∙_) right-unit (coh-unit-laws-mul-H-Space (M (h i))) = ( right-unit-law-mul-H-Space (M (h i)) (f (h i)) ∙ f∗ i) by inv-nat-htpy-id (right-unit-law-mul-H-Space (M (h i))) (f∗ i) right-unit-law-mul-extension-Π-H-Space' : (f : type-extension-Π-H-Space) → mul-extension-Π-H-Space f unit-extension-Π-H-Space = f right-unit-law-mul-extension-Π-H-Space' f = eq-htpy-extension-dependent-map' ( h) ( unit-H-Space ∘ M ∘ h) ( mul-extension-Π-H-Space f unit-extension-Π-H-Space) ( f) ( htpy-right-unit-law-mul-extension-Π-H-Space' f) noncoherent-h-space-extension-Π-H-Space : Noncoherent-H-Space (l1 ⊔ l2 ⊔ l3) noncoherent-h-space-extension-Π-H-Space = ( pointed-type-extension-Π-H-Space , mul-extension-Π-H-Space , left-unit-law-mul-extension-Π-H-Space , right-unit-law-mul-extension-Π-H-Space') extension-Π-H-Space : H-Space (l1 ⊔ l2 ⊔ l3) extension-Π-H-Space = h-space-Noncoherent-H-Space noncoherent-h-space-extension-Π-H-Space right-unit-law-mul-extension-Π-H-Space : (f : type-extension-Π-H-Space) → mul-extension-Π-H-Space f unit-extension-Π-H-Space = f right-unit-law-mul-extension-Π-H-Space = right-unit-law-mul-H-Space extension-Π-H-Space is-unital-mul-extension-Π-H-Space : is-unital mul-extension-Π-H-Space is-unital-mul-extension-Π-H-Space = is-unital-mul-H-Space extension-Π-H-Space coh-unit-laws-mul-extension-Π-H-Space : coh-unit-laws ( mul-extension-Π-H-Space) ( unit-extension-Π-H-Space) ( left-unit-law-mul-extension-Π-H-Space) ( right-unit-law-mul-extension-Π-H-Space) coh-unit-laws-mul-extension-Π-H-Space = coh-unit-laws-mul-H-Space extension-Π-H-Space coherent-unit-laws-mul-extension-Π-H-Space : coherent-unit-laws mul-extension-Π-H-Space unit-extension-Π-H-Space coherent-unit-laws-mul-extension-Π-H-Space = coherent-unit-laws-mul-H-Space extension-Π-H-Space is-coherently-unital-mul-extension-Π-H-Space : is-coherently-unital mul-extension-Π-H-Space is-coherently-unital-mul-extension-Π-H-Space = is-coherently-unital-mul-H-Space extension-Π-H-Space coherent-unital-mul-extension-Π-H-Space : coherent-unital-mul-Pointed-Type pointed-type-extension-Π-H-Space coherent-unital-mul-extension-Π-H-Space = coherent-unital-mul-H-Space extension-Π-H-Space magma-extension-Π-H-Space : Magma (l1 ⊔ l2 ⊔ l3) magma-extension-Π-H-Space = magma-H-Space extension-Π-H-Space
See also
- Pointed dependent function H-spaces
are, up to equivalence, the special case where
h : unit → Iis the inclusion of the base point
Recent changes
- 2026-09-11. Fredrik Bakke. Pointed function H-spaces (#1677).