module foundations.homotopies-are-natural-isomorphisms where
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 _))