
theorem :: PROPOSITION 4.14.
  for I be non empty set for J be RelStr-yielding non-Empty
  reflexive-yielding ManySortedSet of I st for i be Element of I holds J.i is
  algebraic lower-bounded LATTICE holds product J is algebraic lower-bounded
  LATTICE
proof
  let I be non empty set;
  let J be RelStr-yielding non-Empty reflexive-yielding ManySortedSet of I;
  assume
A1: for i be Element of I holds J.i is algebraic lower-bounded LATTICE;
  then
A2: for i be Element of I holds J.i is complete LATTICE;
  then reconsider L = product J as non empty lower-bounded LATTICE by
WAYBEL_3:31;
  for i be Element of I holds J.i is antisymmetric by A1;
  then
A3: product J is antisymmetric by WAYBEL_3:30;
  now
    let x be Element of product J;
A4: for i be Element of I holds sup compactbelow (x.i) = (sup compactbelow x).i
    proof
      let i be Element of I;
A5:   compactbelow (x.i) c= pi(compactbelow x,i)
      proof
        deffunc G(Element of I) = Bottom (J.$1);
        defpred C[set] means $1 = i;
        let v be object;
        assume v in compactbelow (x.i);
        then v in {y where y is Element of J.i: x.i >= y & y is compact} by
WAYBEL_8:def 2;
        then consider v1 be Element of J.i such that
A6:     v1 = v and
A7:     x.i >= v1 and
A8:     v1 is compact;
        deffunc F(set) = v1;
        consider f be Function such that
A9:     dom f = I and
A10:    for j be Element of I holds ( C[j] implies f.j = F(j) ) & (
        not C[j] implies f.j = G(j)) from PARTFUN1:sch 4;
A11:    f.i = v1 by A10;
        now
          let k be Element of I;
          now
            per cases;
            suppose
              k = i;
              hence f.k is Element of J.k by A10;
            end;
            suppose
              k <> i;
              then f.k = Bottom (J.k) by A10;
              hence f.k is Element of J.k;
            end;
          end;
          hence f.k is Element of J.k;
        end;
        then reconsider f as Element of product J by A9,WAYBEL_3:27;
        now
          let k be Element of I;
A12:      J.k is algebraic lower-bounded LATTICE by A1;
          now
            per cases;
            suppose
              k = i;
              hence f.k <= x.k by A7,A10;
            end;
            suppose
              k <> i;
              then f.k = Bottom (J.k) by A10;
              hence f.k <= x.k by A12,YELLOW_0:44;
            end;
          end;
          hence f.k <= x.k;
        end;
        then
A13:    f <= x by WAYBEL_3:28;
A14:    now
          let k be Element of I;
A15:      J.k is algebraic lower-bounded LATTICE by A1;
          now
            per cases;
            suppose
A16:          k = i;
              then f.k = v1 by A10;
              hence f.k << f.k by A8,A16,WAYBEL_3:def 2;
            end;
            suppose
              k <> i;
              then f.k = Bottom (J.k) by A10;
              then f.k is compact by A15,WAYBEL_3:15;
              hence f.k << f.k by WAYBEL_3:def 2;
            end;
          end;
          hence f.k << f.k;
        end;
        ex K be finite Subset of I st for k be Element of I st not k in K
        holds f.k = Bottom (J.k)
        proof
          take K = {i};
          let k be Element of I;
          assume not k in K;
          then k <> i by TARSKI:def 1;
          hence thesis by A10;
        end;
        then f << f by A2,A14,WAYBEL_3:33;
        then f is compact by WAYBEL_3:def 2;
        then f in compactbelow x by A13,WAYBEL_8:4;
        hence thesis by A6,A11,CARD_3:def 6;
      end;
      pi(compactbelow x,i) c= compactbelow (x.i)
      proof
        let v be object;
        assume v in pi(compactbelow x,i);
        then consider f be Function such that
A17:    f in compactbelow x and
A18:    v = f.i by CARD_3:def 6;
        f in {y where y is Element of product J: x >= y & y is compact}
        by A17,WAYBEL_8:def 2;
        then consider f1 be Element of product J such that
A19:    f1 = f and
A20:    x >= f1 and
A21:    f1 is compact;
        f1 << f1 by A21,WAYBEL_3:def 2;
        then f1.i << f1.i by A2,WAYBEL_3:33;
        then
A22:    f1.i is compact by WAYBEL_3:def 2;
        f1.i <= x.i by A20,WAYBEL_3:28;
        hence thesis by A18,A19,A22,WAYBEL_8:4;
      end;
      hence sup compactbelow (x.i) = sup pi(compactbelow x,i) by A5,
XBOOLE_0:def 10
        .= (sup compactbelow x).i by A2,WAYBEL_3:32;
    end;
    now
      let i be Element of I;
      J.i is satisfying_axiom_K by A1;
      then x.i = sup compactbelow (x.i) by WAYBEL_8:def 3;
      hence (sup compactbelow x).i <= x.i by A4;
    end;
    then
A23: sup compactbelow x <= x by WAYBEL_3:28;
    now
      let i be Element of I;
      J.i is satisfying_axiom_K by A1;
      then x.i = sup compactbelow (x.i) by WAYBEL_8:def 3;
      hence x.i <= (sup compactbelow x).i by A4;
    end;
    then x <= sup compactbelow x by WAYBEL_3:28;
    hence x = sup compactbelow x by A3,A23,YELLOW_0:def 3;
  end;
  then
A24: product J is satisfying_axiom_K by WAYBEL_8:def 3;
A25: for x be Element of L holds compactbelow x is non empty directed
  proof
    let x be Element of L;
    now
      let c,d be Element of L;
      assume that
A26:  c in compactbelow x and
A27:  d in compactbelow x;
      d is compact by A27,WAYBEL_8:4;
      then d <= c "\/" d & d << d by WAYBEL_3:def 2,YELLOW_0:22;
      then
A28:  d << c "\/" d by WAYBEL_3:2;
      c is compact by A26,WAYBEL_8:4;
      then c <= c "\/" d & c << c by WAYBEL_3:def 2,YELLOW_0:22;
      then c << c "\/" d by WAYBEL_3:2;
      then c "\/" d << c "\/" d by A28,WAYBEL_3:3;
      then
A29:  c "\/" d is compact by WAYBEL_3:def 2;
      take e = c "\/" d;
      c <= x & d <= x by A26,A27,WAYBEL_8:4;
      then c "\/" d <= x by YELLOW_0:22;
      hence e in compactbelow x by A29,WAYBEL_8:4;
      thus c <= e & d <= e by YELLOW_0:22;
    end;
    hence thesis by WAYBEL_0:def 1;
  end;
  L is up-complete by A2,WAYBEL_3:31;
  hence thesis by A25,A24,WAYBEL_8:def 4;
end;
