
theorem
  for X being non empty set, n be Element of NAT
  for P being a_partition of X holds
  the set of all product p where p is Element of n-tuples_on P
  is a_partition of n-tuples_on X
proof
  let X be non empty set, n be Element of NAT;
  let P be a_partition of X;
  set nP = n-tuples_on P, nX = n-tuples_on X;
  set PP = the set of all product p where p is Element of nP;
  PP c= bool nX
  proof
    let x be object;
     reconsider xx=x as set by TARSKI:1;
    assume x in PP;
    then consider p being Element of nP such that
A1: x = product p;
    xx c= nX
    proof
      let y be object;
      assume y in xx;
      then consider f being Function such that
A2:   y = f and
A3:   dom f = dom p and
A4:   for z being object st z in dom p holds f.z in p.z by A1,CARD_3:def 5;
A5:   dom p = Seg len p by FINSEQ_1:def 3;
      then reconsider y as FinSequence by A2,A3,FINSEQ_1:def 2;
      rng f c= X
      proof
        let z be object;
        assume z in rng f;
        then consider v being object such that
A6:     v in dom p and
A7:     z = f.v by A3,FUNCT_1:def 3;
        p.v in rng p by A6,FUNCT_1:def 3;
        then
A8:     p.v in P;
        z in p.v by A4,A6,A7;
        hence thesis by A8;
      end;
      then
A9:   y is FinSequence of X by A2,FINSEQ_1:def 4;
A10:  len y = len p by A2,A3,A5,FINSEQ_1:def 3;
      len p = n by CARD_1:def 7;
      then y is Element of nX by A9,A10,FINSEQ_2:92;
      hence thesis;
    end;
    hence thesis;
  end;
  then reconsider PP as Subset-Family of nX;
  PP is a_partition of nX
  proof
    thus union PP c= nX;
    thus nX c= union PP
    proof
      let x be object;
      assume x in nX;
      then reconsider x as Element of nX;
A11:  rng x c= X;
      union P = X by EQREL_1:def 4;
      then consider p being Function such that
A12:  dom p = dom x and
A13:  rng p c= P and
A14:  x in product p by A11,Th5;
A15:  dom p = Seg len x by A12,FINSEQ_1:def 3;
      then reconsider p as FinSequence by FINSEQ_1:def 2;
      reconsider p as FinSequence of P by A13,FINSEQ_1:def 4;
A16:  len p = len x by A15,FINSEQ_1:def 3;
      len x = n by CARD_1:def 7;
      then reconsider p as Element of nP by A16,FINSEQ_2:92;
      product p in PP;
      hence thesis by A14,TARSKI:def 4;
    end;
    let A be Subset of nX;
    assume A in PP;
    then consider p being Element of nP such that
A17: A = product p;
    thus A <> {} by A17;
    let B be Subset of nX;
    assume B in PP;
    then consider q being Element of nP such that
A18: B = product q;
    assume
A19: A <> B;
    assume A meets B;
    then consider x being object such that
A20: x in A and
A21: x in B by XBOOLE_0:3;
    consider f being Function such that
A22: x = f and
A23: dom f = dom p and
A24: for z being object st z in dom p holds f.z in p.z
by A17,A20,CARD_3:def 5;
A25: ex g being Function st ( x = g)&( dom g = dom q)&( for z
    being object st z in dom q holds g.z in q.z) by A18,A21,CARD_3:def 5;
    now
      let z be object;
      assume
A26:  z in dom p;
      then
A27:  f.z in p.z by A24;
A28:  f.z in q.z by A22,A23,A25,A26;
A29:  p.z in rng p by A26,FUNCT_1:def 3;
A30:  q.z in rng q by A22,A23,A25,A26,FUNCT_1:def 3;
A31:  p.z meets q.z by A27,A28,XBOOLE_0:3;
A32:  p.z in P by A29;
      q.z in P by A30;
      hence p.z = q.z by A31,A32,EQREL_1:def 4;
    end;
    hence contradiction by A17,A18,A19,A22,A23,A25,FUNCT_1:2;
  end;
  hence thesis;
end;
