(* Id *)

Definition Id_PULB (a : PULB_ob) :=
  match a as a' return (PULB_mor a' a') with
  | P1 => (* P1 *)  IP1 
      (* P2 *) 
  | P2 => IP2 
      (* P3 *) 
  | P3 => IP3
  end.

Lemma Idr_PULB : Idr_law Comp_PULB Id_PULB.