Built with Alectryon. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
Require Import HoTT.Basics Types.Universe.Require Import HoTT.Basics Types.Universe.LocalOpen Scope path_scope.SectionFunctorish.Context `{Univalence}.(* We do not need composition to be preserved. *)ClassFunctorish (F : Type -> Type) := {
fmap {A B} (f : A -> B) : F A -> F B ;
fmap_idmap (A:Type) : fmap (idmap : A -> A) = idmap
}.GlobalArguments fmap F {FF} {A B} f _ : rename.GlobalArguments fmap_idmap F {FF A} : rename.Context (F : Type -> Type).Context {FF : Functorish F}.
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
IsEquiv (fmap F f)
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
IsEquiv (fmap F f)
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
IsEquiv (fmap F 1%equiv)
exact (transport _ (fmap_idmap F)^ _).Defined.
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
fmap F f = equiv_path (F A) (F B) (ap F (path_universe f))
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
fmap F f = equiv_path (F A) (F B) (ap F (path_universe f))
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
fmap F 1%equiv = equiv_path (F A) (F A) (ap F (path_universe 1%equiv))
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
fmap F 1%equiv = (idmap : F A -> F A)
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
(idmap : F A -> F A) = equiv_path (F A) (F A) (ap F (path_universe 1%equiv))
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
fmap F 1%equiv = (idmap : F A -> F A)
apply fmap_idmap.
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
(idmap : F A -> F A) = equiv_path (F A) (F A) (ap F (path_universe 1%equiv))
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f
(idmap : F A -> F A) =
equiv_path (F A) (F A) (ap F (path_universe (equiv_path A A 1)))
H: Univalence F: Type -> Type FF: Functorish F A, B: Type f: A -> B H0: IsEquiv f