reserve A,B for Ordinal,
  K,M,N for Cardinal,
  x,x1,x2,y,y1,y2,z,u for object,X,Y,Z,X1,X2, Y1,Y2 for set,
  f,g for Function;

theorem Th10:
  A*^B,[:A,B:] are_equipotent & card(A*^B) = card [:A,B:]
proof
  defpred P[object,object]
   means ex O1, O2 being Ordinal st O1 = $1`1 & O2 = $1`2 &
  $2 = O1*^B+^O2;
A1: for x being object st x in [:A,B:] ex y being object st P[x,y]
  proof
    let x be object;
    assume x in [:A,B:];
    then x`1 in A & x`2 in B by MCART_1:10;
    then reconsider x1 = x`1, x2 = x`2 as Ordinal;
    take x1*^B+^x2;
    take x1, x2;
    thus thesis;
  end;
  consider f such that
A2: dom f = [:A,B:] &
   for x being object st x in [:A,B:] holds P[x,f.x] from CLASSES1
  :sch 1(A1);
A3: [:A,B:],A*^B are_equipotent
  proof
    take f;
    thus f is one-to-one
    proof
      let x,y be object;
      assume
A4:   x in dom f & y in dom f;
      then
A5:   x`2 in B & y`2 in B by A2,MCART_1:10;
      x`1 in A & y`1 in A by A2,A4,MCART_1:10;
      then reconsider x1 = x`1, y1 = y`1 as Ordinal;
      assume
A6:   f.x = f.y;
A7:   x = [x`1,x`2] & y = [y`1,y`2] by A2,A4,MCART_1:21;
A8:   (ex O1, O2 being Ordinal st O1 = x`1 & O2 = x`2 & f.x = O1*^B+^O2 )
& ex O3, O4 being Ordinal st O3 = y`1 & O4 = y`2 & f.y = O3*^B+^O4 by A2,A4;
      then x1 = y1 by A5,A6,ORDINAL3:48;
      hence thesis by A7,A5,A8,A6,ORDINAL3:48;
    end;
    thus dom f = [:A,B:] by A2;
    thus rng f c= A*^B
    proof
      let y be object;
A9:   1*^B = B by ORDINAL2:39;
      assume y in rng f;
      then consider x being object such that
A10:  x in dom f and
A11:  y = f.x by FUNCT_1:def 3;
      consider x1, x2 being Ordinal such that
A12:  x1 = x`1 and
A13:  x2 = x`2 & f.x = x1*^B+^x2 by A2,A10;
      x1+^1 = succ x1 by ORDINAL2:31;
      then
A14:  x1*^B+^1*^B = (succ x1)*^B by ORDINAL3:46;
      succ x1 c= A by A12,A2,A10,MCART_1:10,ORDINAL1:21;
      then
A15:  x1*^B+^1*^B c= A*^B by A14,ORDINAL2:41;
      y in x1*^B+^1*^B by A11,A13,A9,A2,A10,MCART_1:10,ORDINAL2:32;
      hence thesis by A15;
    end;
    let y be object;
    assume
A16: y in A*^B;
    then reconsider C = y as Ordinal;
A17: C = (C div^ B)*^B+^(C mod^ B) & [C div^ B,C mod^ B]`1 = C div^ B by
ORDINAL3:65;
    C div^ B in A & C mod^ B in B by A16,ORDINAL3:67;
    then
A18: [C div^ B,C mod^ B] in [:A,B:] by ZFMISC_1:87;
    then
    [C div^ B,C mod^ B]`2 = C mod^ B & ex O1, O2 being Ordinal st O1 = [C
div^ B,C mod^ B]`1 & O2 = [C div^ B,C mod^ B]`2 & f.[C div^ B,C mod^ B] = O1*^B
    +^ O2 by A2;
    hence thesis by A2,A18,A17,FUNCT_1:def 3;
  end;
  hence A*^B,[:A,B:] are_equipotent;
  thus thesis by A3,CARD_1:5;
end;
