Section initial_def.
Variable C : Category.
Definition IsInitial (a : C) (h : forall b : C, a --> b) :=
forall (b : C) (f : a --> b), f =_S h b.
Structure > Initial : Type :=
{Initial_ob : C;
MorI : forall b : C, Initial_ob --> b;
Prf_isInitial :> IsInitial MorI}.
Definition At_most_1mor (a b : C) := forall f g : a --> b, f =_S g.

Lemma I_unic : forall i1 i2 : Initial, Iso (Initial_ob i1) (Initial_ob i2).