Built with Alectryon, running Coq+SerAPI v8.19.0+0.19.3. 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.
(** * Identity natural transformation *)
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Set Universe Polymorphism.Set Implicit Arguments.Generalizable All Variables.Set Asymmetric Patterns.LocalOpen Scope morphism_scope.LocalOpen Scope path_scope.LocalOpen Scope natural_transformation_scope.Sectionidentity.VariablesCD : PreCategory.(** There is an identity natural transformation. We create a number of variants, for various uses. *)Sectiongeneralized.VariablesFG : Functor C D.HypothesisHO : object_of F = object_of G.HypothesisHM : transport (funGO => forallsd,
morphism C s d
-> morphism D (GO s) (GO d))
HO
(morphism_of F)
= morphism_of G.Local NotationCO c := (transport (funGO => morphism D (F c) (GO c))
HO
(identity (F c))).
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) HO 1%morphism
o F _1 m =
G _1 m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) HO 1%morphism
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) HO 1%morphism
o F _1 m =
G _1 m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) HO 1%morphism
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) HO 1%morphism
o F _1 m =
transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) s d m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) HO 1%morphism
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) 11%morphism
o F _1 m =
transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) 1
(morphism_of F) s d m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) 11%morphism
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
G _1 m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) HO 1%morphism =
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) HO 1%morphism
o F _1 m
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
G _1 m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) HO 1%morphism =
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) HO 1%morphism
o F _1 m
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) s d m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) HO 1%morphism =
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) HO 1%morphism
o F _1 m
C, D: PreCategory F, G: Functor C D HO: F = G HM: transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) HO
(morphism_of F) = morphism_of G s, d: C m: morphism C s d
transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d)) 1
(morphism_of F) s d m
o transport
(funGO : C -> D =>
morphism D (F _0 s)%object (GO s)) 11%morphism =
transport
(funGO : C -> D =>
morphism D (F _0 d)%object (GO d)) 11%morphism
o F _1 m
exact (right_identity _ _ _ _ @ (left_identity _ _ _ _)^).Defined.Definitiongeneralized_identity
: NaturalTransformation F G
:= Build_NaturalTransformation'
F G
(func => CO c)
generalized_identity_commutes
generalized_identity_commutes_sym.Endgeneralized.GlobalArguments generalized_identity_commutes / .GlobalArguments generalized_identity_commutes_sym / .GlobalArguments generalized_identity F G !HO !HM / .Sectiongeneralized'.VariablesFG : Functor C D.HypothesisH : F = G.
C, D: PreCategory F, G: Functor C D H: F = G
NaturalTransformation F G
C, D: PreCategory F, G: Functor C D H: F = G
NaturalTransformation F G
C, D: PreCategory F, G: Functor C D H: F = G
transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d))
(ap object_of H) (morphism_of F) = morphism_of G
C, D: PreCategory F, G: Functor C D H: F = G
transport
(funGO : C -> D =>
forallsd : C,
morphism C s d -> morphism D (GO s) (GO d))
(ap object_of 1) (morphism_of F) = morphism_of F
reflexivity.Defined.Endgeneralized'.Definitionidentity (F : Functor C D)
: NaturalTransformation F F
:= Evalsimplin @generalized_identity F F 11.GlobalArguments generalized_identity' F G !H / .Endidentity.GlobalArguments generalized_identity_commutes : simpl never.GlobalArguments generalized_identity_commutes_sym : simpl never.ModuleExport NaturalTransformationIdentityNotations.Notation"1" := (identity _) : natural_transformation_scope.EndNaturalTransformationIdentityNotations.