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;
