Library ConCaT.CATEGORY_THEORY.CATEGORY.FullSubCat
Require Export Category.
Set Implicit Arguments.
Unset Strict Implicit.
Section fscat.
Variables (C : Category) (I : Type) (a : I → C).
Definition FSC_mor_setoid (i j : I) := a i --> a j.
Definition Comp_FSC (i j l : I) :
Map2 (FSC_mor_setoid i j) (FSC_mor_setoid j l) (FSC_mor_setoid i l) :=
Op_comp (a i) (a j) (a l).
Lemma Assoc_FSC : Assoc_law Comp_FSC.
Proof.
unfold Assoc_law in |- *; intros i1 i2 i3 i4 f g h.
exact (Ass f g h).
Qed.
Definition Id_FSC (i : I) := Id (a i).
Lemma Idl_FSC : Idl_law Comp_FSC Id_FSC.
Proof.
unfold Idl_law in |- *; intros i j f.
exact (Idl f).
Qed.
Lemma Idr_FSC : Idr_law Comp_FSC Id_FSC.
Proof.
unfold Idr_law in |- *; intros i j f.
exact (Idr f).
Qed.
Canonical Structure FullSubCat := Build_Category Assoc_FSC Idl_FSC Idr_FSC.
End fscat.
