 reserve W for WA-Lattice;
 reserve a,b,c for Element of W;
 reserve W for pcs-Compatible pcs-tol-reflexive pcs-tol-symmetric WAP-Lattice;
 reserve a,b for Element of W;
 reserve L for WA_Lattice;

theorem Th19:
  for A being with_suprema with_infima WA-Lattice
   ex L being strict WA_Lattice st the RelStr of A = LatRelStr L
  proof
    let A be with_suprema with_infima WA-Lattice;
    defpred X[Element of A,Element of A,set] means
    for x9,y9 being Element of A st x9 = $1 & y9 = $2 holds
      $3 = x9 "\/" y9;
A1: for x,y being Element of A ex u being Element of A st X[x,y,u]
    proof
      let x,y be Element of A;
      reconsider x1 = x, y1 = y as Element of A;
      take x1 "\/" y1;
      thus thesis;
    end;
    consider j being BinOp of the carrier of A such that
A2: for x,y being Element of A holds X[x,y,j.(x,y)] from BINOP_1:sch 3(A1);
    defpred Y[Element of A,Element of A,set] means
      for x1,y1 being Element of A st x1 = $1 & y1 = $2 holds $3 = x1"/\"y1;
A3: for x,y being Element of A ex u being Element of A st Y[x,y,u]
    proof
      let x,y be Element of A;
      reconsider x1 = x, y1 = y as Element of A;
      take x1 "/\" y1;
      thus thesis;
    end;
    consider m being BinOp of the carrier of A such that
A4: for x,y being Element of A holds Y[x,y,m.(x,y)] from BINOP_1:sch 3(A3);
    set L = LattStr (# the carrier of A, j, m #);
A5: L is join-commutative
    proof
      let a,b be Element of L;
      reconsider x = a, y = b as Element of A;
      j.(x,y) = x "\/"y by A2;
      hence a "\/" b = b "\/" a by A2;
    end;
A8: L is meet-commutative
    proof
      let a,b be Element of L;
      reconsider x = a, y = b as Element of A;
      m.(x,y) = x "/\" y by A4;
      hence a "/\" b = b "/\" a by A4;
    end;
B1: L is meet-idempotent
    proof
      let a be Element of L;
      reconsider x = a as Element of A;
      x "/\" x = x by Lemat01;
      hence a "/\" a = a by A4;
    end;
B2: L is join-idempotent
    proof
      let a be Element of L;
      reconsider x = a as Element of A;
      x "\/" x = x by Lemat0;
      hence a "\/" a = a by A2;
    end;
    for v2,v1,v0 being Element of L holds
      ((v0 "/\" v1) "\/" (v2 "/\" v1)) "\/" v1 = v1
    proof
      let v2,v1,v0 be Element of L;
      reconsider a = v0, c = v1, b = v2 as Element of A;
      reconsider ww = (v0 "\/" v1) "/\" (v2 "\/" v1) as Element of A;
      (a "/\" c) "\/" c = c by LemmaX1; then
a2:   a "/\" c <= c by Lemat0;
      (b "/\" c) "\/" c = c by LemmaX1; then
      b "/\" c <= c by Lemat0; then
WW:   ((a "/\" c) "\/" (b "/\" c)) "\/" c = c by Lemat0,a2,LatWal1;
      ((a "/\" c) "\/" (b "/\" c))"\/"c = j.(((a "/\" c) "\/" (b "/\" c)),c)
         by A2
               .= j.((j.(a "/\" c,b "/\" c)),c) by A2
               .= j.((j.(m.(a,c),b "/\" c)),c) by A4
               .= ((v0 "/\" v1) "\/" (v2 "/\" v1)) "\/" v1 by A4;
      hence thesis by WW;
    end; then
b3:  L is satisfying_W3' by LATWAL_1:def 2;
    for v2,v1,v0 being Element of L holds
      ((v0 "\/" v1) "/\" (v2 "\/" v1)) "/\" v1 = v1
    proof
      let v2,v1,v0 be Element of L;
      reconsider a = v0, c = v1, b = v2 as Element of A;
      reconsider ww = (v0"\/"v1) "/\" (v2"\/"v1) as Element of A;
a2:   a "\/" c >= c by LatWal2;
      (b "\/" c) "/\" c = c by LemmaX2; then
      b "\/" c >= c by Lemat01; then
WW:   ((a "\/" c) "/\" (b "\/" c)) "/\" c = c by Lemat01,a2,LatWal3;
      ((a "\/" c) "/\" (b "\/" c)) "/\" c =
                  m.(((a "\/" c) "/\" (b "\/" c)),c) by A4
               .= m.((m.(a "\/" c,b "\/" c)),c) by A4
               .= m.((m.(j.(a,c),b "\/" c)),c) by A2
               .= ((v0 "\/" v1) "/\" (v2 "\/" v1)) "/\" v1 by A2;
      hence thesis by WW;
    end; then
    reconsider L as strict WA_Lattice by A5,A8,B1,B2,b3,LATWAL_1:def 1;
    take L;
    LatOrder L = the InternalRel of A
    proof
      let x,y be object;
      thus [x,y] in LatOrder L implies [x,y] in the InternalRel of A
      proof
        assume [x,y] in LatOrder L;
        then consider p,q being Element of L such that
A11:    [x,y] = [p,q] and
A12:    p [= q;
        reconsider p9 = p, q9 = q as Element of A;
        p9 "\/" q9 = p "\/" q by A2
          .= q by A12,LATTICES:def 3;
        then p9 <= q9 by Lm1;
        hence thesis by A11,ORDERS_2:def 5;
      end;
      assume
A13:  [x,y] in the InternalRel of A;
      then consider x1,x2 being object such that
A14:  x1 in the carrier of A and
A15:  x2 in the carrier of A and
A16:  [x,y] = [x1,x2] by ZFMISC_1:84;
      reconsider x1, x2 as Element of A by A14,A15;
      reconsider y1 = x1, y2 = x2 as Element of L;
A17:  x1 <= x2 by A13,A16,ORDERS_2:def 5;
      x2 <= x2; then
A18:  x1 "\/" x2 <= x2 by A17,Lm1;
      x2 <= x1"\/"x2 by Lm1;
      then x2 = x1 "\/" x2 by A18,ORDERS_2:2
        .= y1 "\/" y2 by A2;
      then y1 [= y2 by LATTICES:def 3;
      hence thesis by A16;
    end;
    hence thesis;
  end;
