Home

ホモトピーは自然同型である

module foundations.homotopies-are-natural-isomorphisms where
Imports
open import foundations.universe
open import foundations.identity-type
open import foundations.groupoid-laws
open import foundations.identity-type-reasoning
open import foundations.functions-are-functors
open import foundations.homotopy
open import foundations.dependent-map
open import foundations.transport
open import foundations.function

fからgへのホモトピーは関手間の自然同型と見なせる。

private variable
  ℓ : Level
  A B : Type ℓ
  f g : A → B

naturalityHtpy : ∀ (H : f ~ g)
  → ∀ {x y : A} (p : x = y)
  → H x ∙ ap g p = ap f p ∙ H y
naturalityHtpy H refl = runitId (H _) ∙ sym (lunitId (H _))

その特殊な場合:

htpyToId : ∀ (H : f ~ idFunction A)
  → ∀ (x : A)
  → H (f x) = ap f (H x)
htpyToId {f = f} H x = rcancelId (H (f x)) (ap f (H x)) (H x) b
  where
    a : H (f x) ∙ ap (idFunction _) (H x) = ap f (H x) ∙ H x
    a = naturalityHtpy H (H x)

    b : H (f x) ∙ H x = ap f (H x) ∙ H x
    b = ap (H (f x) ∙_) (sym (apId (H x))) ∙ a

依存積バージョン:

private variable
  P : A → Type ℓ
  f′ g′ : (a : A) → P a

naturalityHtpyD : ∀ (H : f′ ~ g′)
  → ∀ {x y : A} (p : x = y)
  → ap (subst P p) (H x) ∙ apd g′ p = apd f′ p ∙ H y
naturalityHtpyD {P = P} H {x = x} refl =
  (runitId _ ∙ apId (H x)) ∙ sym (lunitId (H _))