Section pa_def.
Variables (C : Category) (a b : C) (I : Type) (k : I -> (a --> b)).
Inductive PA_ob : Type :=
| PA1 : PA_ob
| PA2 : PA_ob.
Inductive PA_mor : PA_ob -> PA_ob -> Type :=
| PA_I1 : PA_mor PA1 PA1
| PA_I2 : PA_mor PA2 PA2
| PA_f : I -> PA_mor PA1 PA2.
(* sche'mas d'e'limination pour PA_mor *)
(* egalite' *)
Definition Equal_PA_mor (x y : PA_ob) (f g : PA_mor x y) :=
match f in (PA_mor x' y') return Prop with
| PA_I1 =>
(* PA_I1  *)  True (* PA_I2  *)
| PA_I2 => True
(* PA_f i *)
| PA_f i =>
match g in (PA_mor x' y') return Prop with
| PA_I1 =>
(* PA_I1  *)  False (* PA_I2  *)
| PA_I2 => False
(* PA_f j *)
| PA_f j => k i =_S k j
end
end.

Lemma Equal_PA_mor_Equiv :
forall x y : PA_ob, Equivalence (Equal_PA_mor (x:=x) (y:=y)).