Record in_cartesian (A B P : Ens) : Prop := 
  {in_cartesian_pair : is_a_pair P;
   in_cartesian_pr1 : IN (PR1 P) A;
   in_cartesian_pr2 : IN (PR2 P) B}.Record in_cartesian (A B P : Ens) : Prop := 
  {in_cartesian_pair : is_a_pair P;
   in_cartesian_pr1 : IN (PR1 P) A;
   in_cartesian_pr2 : IN (PR2 P) B}.Record in_cartesian (A B P : Ens) : Prop := 
  {in_cartesian_pair : is_a_pair P;
   in_cartesian_pr1 : IN (PR1 P) A;
   in_cartesian_pr2 : IN (PR2 P) B}.Record in_cartesian (A B P : Ens) : Prop := 
  {in_cartesian_pair : is_a_pair P;
   in_cartesian_pr1 : IN (PR1 P) A;
   in_cartesian_pr2 : IN (PR2 P) B}.

(* Specifications: *)
Lemma cpb1_Out : IN U (PowerTotal (union A B)).
Lemma in_cartesian_bounded_Out : Bounded (in_cartesian A B).
Theorem in_cartesian_bounded : forall A B : Ens, Bounded (in_cartesian A B).