Module make_small_cat

Require Export cat.
Require Export cat_.

Implicit Arguments On.

Small Categories

The following parametrized module builds the term of a category (of type Cat_.Cat) associated to every module of signature Cat_Sig.

Module Make_Small_Cat [C:Cat_Sig] <: A_Cat_.

Export Cat_.

Section Make_Small_Cat.

Local B : Cat_Data :=
 (!Build_Cat_Data C.Obj C.Morph C.morph_comp C.morph_id).

Remark B_th : (Cat_Theory (!oo B) (!ii B)).
Proof.
  Split.
  Apply C.morph_comp_assoc.
  Apply C.morph_id_sx.
  Apply C.morph_id_dx.
Qed.

Definition A : Obj.
Proof.
  Split with B; Exact B_th.
Defined.

End Make_Small_Cat.

End Make_Small_Cat.

Category of small categories.

The module Cat itself gives produce a term of type Cat_.Cat.

Module Small_Cat : A_Cat_ := (Make_Small_Cat Cat).


Index
This page has been generated by coqdoc