(********** composition ********)

Record Comp_inter (F G X Y Z : Ens) : Prop := 
  {Comp_inter_xy : IN (PAIR X Y) F; Comp_inter_yz : IN (PAIR Y Z) G}.(********** composition ********)

Record Comp_inter (F G X Y Z : Ens) : Prop := 
  {Comp_inter_xy : IN (PAIR X Y) F; Comp_inter_yz : IN (PAIR Y Z) G}.(********** composition ********)

Record Comp_inter (F G X Y Z : Ens) : Prop := 
  {Comp_inter_xy : IN (PAIR X Y) F; Comp_inter_yz : IN (PAIR Y Z) G}.Record Comp_prop (F G X : Ens) : Prop := 
  {Comp_pair : is_a_pair X;
   Comp_intern : EXISTS (fun Y : Ens => Comp_inter F G (PR1 X) Y (PR2 X))}.Record Comp_prop (F G X : Ens) : Prop := 
  {Comp_pair : is_a_pair X;
   Comp_intern : EXISTS (fun Y : Ens => Comp_inter F G (PR1 X) Y (PR2 X))}.Record Comp_prop (F G X : Ens) : Prop := 
  {Comp_pair : is_a_pair X;
   Comp_intern : EXISTS (fun Y : Ens => Comp_inter F G (PR1 X) Y (PR2 X))}.Definition Comp_INTER (F G X : Ens) :=
  CHOICE (fun Y : Ens => Comp_inter F G (PR1 X) Y (PR2 X)).

Theorem Comp_INTER_pr1 : forall (F G X : Ens) (c : Comp_prop F G X), Comp_inter F G (PR1 X) (Comp_INTER F G X) (PR2 X).