reserve x,y,z for Real,
  R for real non empty RelStr,
  a,b for Element of R;

theorem Th12:
  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
sup-Semilattice for f,g being Element of product J, i being Element of I holds
  (f "\/" g).i = (f.i) "\/" (g.i)
proof
  let I being non empty set;
  let J being RelStr-yielding non-Empty reflexive-yielding ManySortedSet of I
  such that
A1: for i being Element of I holds J.i is sup-Semilattice;
  let f,g being Element of product J;
  let i being Element of I;
A2: J.i is sup-Semilattice by A1;
  for i being Element of I holds J.i is antisymmetric by A1;
  then
A3: product J is antisymmetric with_suprema by A1,Th9,WAYBEL_3:30;
  then g <= f "\/" g by YELLOW_0:22;
  then
A4: g.i <= (f "\/" g).i by WAYBEL_3:28;
A5: (f "\/" g).i <= (f.i) "\/" (g.i)
  proof
    deffunc U(Element of I) = f.$1 "\/" g.$1;
    consider z be ManySortedSet of I such that
A6: for i be Element of I holds z.i = U(i) from PBOOLE:sch 5;
A7: for i being Element of I holds z.i is Element of J.i
    proof
      let i being Element of I;
      z.i = f.i "\/" g.i by A6;
      hence thesis;
    end;
    dom z = I by PARTFUN1:def 2;
    then reconsider z as Element of product J by A7,WAYBEL_3:27;
    for i being Element of I holds z.i >= f.i & z.i >= g.i
    proof
      let i being Element of I;
      J.i is antisymmetric with_suprema RelStr & z.i = f.i "\/" g.i by A1,A6;
      hence thesis by YELLOW_0:22;
    end;
    then z >= f & z >= g by WAYBEL_3:28;
    then
A8: f "\/" g <= z by A3,YELLOW_0:22;
    for i being Element of I holds (f "\/" g).i <= f.i "\/" g.i
    proof
      let i being Element of I;
      f.i "\/" g.i = z.i by A6;
      hence thesis by A8,WAYBEL_3:28;
    end;
    hence thesis;
  end;
  f <= f "\/" g by A3,YELLOW_0:22;
  then f.i <= (f "\/" g).i by WAYBEL_3:28;
  then (f "\/" g).i >= (f.i) "\/" (g.i) by A2,A4,YELLOW_0:22;
  hence thesis by A2,A5,YELLOW_0:def 3;
end;
