reserve X,Y,Z,x,y,y1,y2 for set,
  D for non empty set,
  k,n,n1,n2,m2,m1 for Nat,

  L,K,M,N for Cardinal,
  f,g for Function;
reserve r for Real;
reserve p,q for FinSequence,
  k,m,n,n1,n2,n3 for Nat;
reserve f,f1,f2 for Function,
  X1,X2 for set;

theorem
  not D is finite implies card D = card (D*)
proof
  defpred P[set] means not contradiction;
  deffunc f(Nat) = $1-tuples_on D;
A1: D* = union the set of all k-tuples_on D by FINSEQ_2:108;
  assume
A2: not D is finite;
A3: for X st X in the set of all k-tuples_on D holds card X c= card D
  proof
    let X;
    assume X in the set of all k-tuples_on D;
    then consider k such that
A4: X = k-tuples_on D;
    0-tuples_on D = { <*>D } by FINSEQ_2:94;
    then card (0-tuples_on D) c= card D & k = 0 or k <> 0 by A2;
    hence thesis by A2,A4,Th23;
  end;
  1-tuples_on D in the set of all k-tuples_on D;
  then card (1-tuples_on D) c= card (D*) by A1,CARD_1:11,ZFMISC_1:74;
  then
A5: card D c= card (D*) by Th8;
  {f(k): P[k]} is countable from FraenCoun1;
  then card the set of all k-tuples_on D c= omega;
  then card union the set of all k-tuples_on D c= omega *` card D by A3,
CARD_2:87;
  then card (D*) c= card D by A2,A1,Th21;
  hence thesis by A5;
end;
