
theorem Th31:
  for I being non empty set
  for J being RelStr-yielding non-Empty reflexive-yielding ManySortedSet of I
  st for i being Element of I holds J.i is complete LATTICE
  holds product J is complete LATTICE
proof
  let I be non empty set;
  let J be RelStr-yielding non-Empty reflexive-yielding ManySortedSet of I;
  assume
A1: for i being Element of I holds J.i is complete LATTICE;
  then
A2: for i being Element of I holds J.i is transitive;
  for i being Element of I holds J.i is antisymmetric by A1;
  then reconsider L = product J as non empty Poset by A2,Th29,Th30;
  now
    let X be Subset of product J;
    deffunc F(Element of I) = sup pi(X,$1);
    consider f being ManySortedSet of I such that
A3: for i being Element of I holds f.i = F(i) from PBOOLE:sch 5;
A4: dom f = I by PARTFUN1:def 2;
    now
      let i be Element of I;
      f.i = sup pi(X,i) by A3;
      hence f.i is Element of J.i;
    end;
    then reconsider f as Element of product J by A4,Th27;
A5: f is_>=_than X
    proof
      let x be Element of product J such that
A6:   x in X;
      now
        let i be Element of I;
A7:     x.i in pi(X,i) by A6,CARD_3:def 6;
A8:     J.i is complete LATTICE by A1;
        f.i = sup pi(X,i) by A3;
        hence x.i <= f.i by A7,A8,YELLOW_2:22;
      end;
      hence thesis by Th28;
    end;
    now
      let g be Element of product J;
      assume
A9:   X is_<=_than g;
      now
        thus L = L;
        let i be Element of I;
A10:    f.i = sup pi(X,i) by A3;
A11:    J.i is complete LATTICE by A1;
        g.i is_>=_than pi(X,i)
        proof
          let a be Element of J.i;
          assume a in pi(X,i);
          then consider h being Function such that
A12:      h in X and
A13:      a = h.i by CARD_3:def 6;
          reconsider h as Element of product J by A12;
          h <= g by A9,A12;
          hence a <= g.i by A13,Th28;
        end;
        hence f.i <= g.i by A10,A11,YELLOW_0:32;
      end;
      hence f <= g by Th28;
    end;
    then ex_sup_of X, L by A5,YELLOW_0:15;
    hence ex_sup_of X, product J;
  end;
  then L is complete non empty Poset by YELLOW_0:53;
  hence thesis;
end;
