LocalInfix"<~=~>" := Isomorphic (at level 70, no associativity) : category_scope.
Definition isisomorphism_inverse `(@IsIsomorphism C x y m) : IsIsomorphism m^-1 := {| morphism_inverse := m |}.
GlobalInstance isisomorphism_compose `(@IsIsomorphism C y z m0) `(@IsIsomorphism C x y m1)
: IsIsomorphism (m0 o m1).
admit. Defined.
Section composition. Variable C : PreCategory. Variable D : PreCategory. Variable E : PreCategory. Variable G : Functor D E. Variable F : Functor C D.
Definition composeF : Functor C E
:= Build_Functor
C E
(fun c => G (F c))
(fun _ _ m => morphism_of G (morphism_of F m)). End composition. Infix"o" := composeF : functor_scope.
DelimitScope natural_transformation_scope with natural_transformation.
Record NaturalTransformation C D (F G : Functor C D) := { components_of :> forall c, morphism D (F c) (G c) }.
Section compose. Variable C : PreCategory. Variable D : PreCategory. Variables F F' F'' : Functor C D.
Variable T' : NaturalTransformation F' F''. Variable T : NaturalTransformation F F'.
LocalNotation CO c := (T' c o T c).
Definition composeT
: NaturalTransformation F F'' := Build_NaturalTransformation F F'' (fun c => CO c).
End compose.
Section whisker. Variable C : PreCategory. Variable D : PreCategory. Variable E : PreCategory.
Section L. Variable F : Functor D E. Variables G G' : Functor C D. Variable T : NaturalTransformation G G'.
LocalNotation CO c := (morphism_of F (T c)).
Definition whisker_l
:= Build_NaturalTransformation
(F o G) (F o G')
(fun c => CO c).
End L.
Section R. Variables F F' : Functor D E. Variable T : NaturalTransformation F F'. Variable G : Functor C D.
LocalNotation CO c := (T (G c)).
Definition whisker_r
:= Build_NaturalTransformation
(F o G) (F' o G)
(fun c => CO c). End R. End whisker. Infix"o" := composeT : natural_transformation_scope. Infix"oL" := whisker_l (at level 40, left associativity) : natural_transformation_scope. Infix"oR" := whisker_r (at level 40, left associativity) : natural_transformation_scope.
Section path_natural_transformation.
Variable C : PreCategory. Variable D : PreCategory. Variables F G : Functor C D.
Lemma equiv_sig_natural_transformation
: { CO : forall x, morphism D (F x) (G x)
| forall s d (m : morphism C s d),
CO d o F _1 m = G _1 m o CO s }
<~> NaturalTransformation F G.
admit. Defined.
End path_natural_transformation. Definition functor_category (C D : PreCategory) : PreCategory
:= @Build_PreCategory (Functor C D) (@NaturalTransformation C D) (@composeT C D) _.
Notation"C -> D" := (functor_category C D) : category_scope.
Definition NaturalIsomorphism (C D : PreCategory) F G := @Isomorphic (C -> D) F G.
Coercion natural_transformation_of_natural_isomorphism C D F G (T : @NaturalIsomorphism C D F G) : NaturalTransformation F G
:= T : morphism _ _ _. LocalInfix"<~=~>" := NaturalIsomorphism : natural_transformation_scope. GlobalInstance isisomorphism_compose'
`(T' : @NaturalTransformation C D F' F'')
`(T : @NaturalTransformation C D F F')
`{@IsIsomorphism (C -> D) F' F'' T'}
`{@IsIsomorphism (C -> D) F F' T}
: @IsIsomorphism (C -> D) F F'' (T' o T)%natural_transformation
:= @isisomorphism_compose (C -> D) _ _ T' _ _ T _. Arguments isisomorphism_compose' {C D F' F''} T' {F} T {H H0}.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.