reserve p,q,r for FinSequence;
reserve u,v,x,y,y1,y2,z for object, A,D,X,Y for set;
reserve i,j,k,l,m,n for Nat;
reserve J for Nat;

theorem Th117:
  for A being set, i being Nat holds i <> 0 & A = {} iff i-tuples_on A = {}
proof
  let A be set, i be Nat;
  hereby
    assume i <> 0;
    then
A1: 0+1 <= i by NAT_1:13;
    assume that
A2: A = {} and
A3: i-tuples_on A <> {};
    reconsider B = i-tuples_on A as non empty FinSequenceSet of A by A3;
    set p = the Element of B;
    B = {s where s is Element of A*: len s = i} & p in B;
    then ex s being Element of A* st p = s & len s = i;
    then 1 in dom p by A1,Th25;
    then
A4:    rng p <> {} by RELAT_1:42;
    thus contradiction by A2,A4;
  end;
  assume that
A5: i-tuples_on A = {} and
A6: i = 0 or A <> {};
  len (<*>A) = 0;
  then reconsider A as non empty set by A5,A6,FINSEQ_2:133;
  i-tuples_on A is non empty;
  hence contradiction by A5;
end;
