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;

theorem Th10:
  D is countable implies n-tuples_on D is countable
proof
  defpred P[Nat] means $1-tuples_on D is countable;
  assume card D c= omega;
  then card (1-tuples_on D) c= omega by Th8;
  then
A1: 1-tuples_on D is countable;
A2: for k being Nat holds P[k] implies P[k+1]
  proof
    let k be Nat;
    assume P[k];
    then [:k-tuples_on D, 1-tuples_on D:] is countable by A1,Th7;
    then
A3: card [:k-tuples_on D, 1-tuples_on D:] c= omega;
    card [:k-tuples_on D, 1-tuples_on D:] = card ((k+1)-tuples_on D) by
Th9;
    hence thesis by A3,CARD_3:def 14;
  end;
  { <*>D } is countable;
  then
A4: P[0] by FINSEQ_2:94;
  for k being Nat holds P[k] from NAT_1:sch 2(A4,A2);
  hence thesis;
end;
