Record Functor `(C : @Category objC) `(D : @Category objD)
:= { ObjectOf :> objC -> objD;
MorphismOf : forall s d, C.(Morphism) s d -> D.(Morphism) (ObjectOf s) (ObjectOf d) }.
Record NaturalTransformation `(C : @Category objC) `(D : @Category objD) (F G : Functor C D)
:= { ComponentsOf :> forall c, D.(Morphism) (F c) (G c) }.
Definition ProductCategory `(C : @Category objC) `(D : @Category objD)
: @Category (objC * objD)%type
:= @Build_Category _
(fun s d => (C.(Morphism) (fst s) (fst d) * D.(Morphism) (snd s) (snd d))%type)
(fun o => (Identity (fst o), Identity (snd o)))
(fun s d d' m2 m1 => (Compose (fst m2) (fst m1), Compose (snd m2) (snd m1))).
Infix"*" := ProductCategory : category_scope.
Record IsomorphismOf `{C : @Category objC} {s d} (m : C.(Morphism) s d) :=
{ IsomorphismOf_Morphism :> C.(Morphism) s d := m; Inverse : C.(Morphism) d s }.
Record NaturalIsomorphism `(C : @Category objC) `(D : @Category objD) (F G : Functor C D)
:= { NaturalIsomorphism_Transformation :> NaturalTransformation F G;
NaturalIsomorphism_Isomorphism : forall x : objC, IsomorphismOf (NaturalIsomorphism_Transformation x) }.
Section PreMonoidalCategory.
Context `(C : @Category objC). Definition TriMonoidalProductL : Functor (C * C * C) C.
admit. Defined. Definition TriMonoidalProductR : Functor (C * C * C) C.
admit. Defined. (** Replacing [admit. Defined.] with [Admitted.] satisfies the constraints *) Variable Associator : NaturalIsomorphism TriMonoidalProductL TriMonoidalProductR. (* Toplevel input, characters 15-96: Error: Unsatisfied constraints: Stdlib.Init.Datatypes.28 <= Coq.Init.Datatypes.29 Top.168 <= Stdlib.Init.Datatypes.29 Top.168 <= Stdlib.Init.Datatypes.28 Top.169 <= Stdlib.Init.Datatypes.29 Top.169 <= Stdlib.Init.Datatypes.28
(maybe a bugged tactic). *) End PreMonoidalCategory.
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.