
theorem Th36: :: Theorem 2.11, p. 61-62, (1) implies (3) (part b)
  for L being complete LATTICE, R be non empty Subset of [:L, L:]
  st R is CLCongruence holds kernel_op R is directed-sups-preserving & R = [:
  kernel_op R, kernel_op R:]"(id the carrier of L)
proof
  let L be complete LATTICE, R be non empty Subset of [:L, L:];
  set k = kernel_op R;
  set cL = the carrier of L;
A1: dom k = cL by FUNCT_2:def 1;
  assume
A2: R is CLCongruence;
  then
A3: R is Equivalence_Relation of the carrier of L;
  then
A4: EqRel R = R by Def1;
A5: subrelstr R is CLSubFrame of [:L, L:] by A2;
  thus k is directed-sups-preserving
  proof
    let D be Subset of L such that
A6: D is non empty directed and
    ex_sup_of D, L;
    consider e being object such that
A7: e in D by A6,XBOOLE_0:def 1;
    set S = {[k.x, x] where x is Element of L : x in D};
A8: S c= R
    proof
      let x be object;
      assume x in S;
      then consider a being Element of L such that
A9:   x = [k.a, a] and
      a in D;
      k.a = inf Class(EqRel R, a) by A2,Def3;
      hence thesis by A2,A9,Th35;
    end;
    then reconsider S9 = S as Subset of subrelstr R by YELLOW_0:def 15;
    reconsider S as Subset of [:L, L:] by A8,XBOOLE_1:1;
    thus ex_sup_of k.:D, L by YELLOW_0:17;
    set d = sup D;
    set ds = sup (k.:D);
A10: the carrier of subrelstr R = R & ex_sup_of S, [:L, L:] by YELLOW_0:17
,def 15;
    reconsider e as Element of L by A7;
A11: [k.e, e] in S by A7;
A12: S9 is directed
    proof
      let x, y be Element of subrelstr R;
      assume that
A13:  x in S9 and
A14:  y in S9;
      consider a being Element of L such that
A15:  x = [k.a, a] and
A16:  a in D by A13;
      consider b being Element of L such that
A17:  y = [k.b, b] and
A18:  b in D by A14;
      consider c being Element of L such that
A19:  c in D and
A20:  a <= c and
A21:  b <= c by A6,A16,A18;
      set z = [k.c, c];
      z in S9 by A19;
      then reconsider z as Element of subrelstr R;
      take z;
      thus z in S9 by A19;
      k.a <= k.c by A20,WAYBEL_1:def 2;
      then [k.a, a] <= [k.c, c] by A20,YELLOW_3:11;
      hence x <= z by A15,YELLOW_0:60;
      k.b <= k.c by A21,WAYBEL_1:def 2;
      then [k.b, b] <= [k.c, c] by A21,YELLOW_3:11;
      hence y <= z by A17,YELLOW_0:60;
    end;
    now
      let x be object;
      hereby
        assume x in proj1 S;
        then consider y being object such that
A22:    [x, y] in S by XTUPLE_0:def 12;
        consider a being Element of L such that
A23:    [x, y] = [k.a, a] and
A24:    a in D by A22;
        x = k.a by A23,XTUPLE_0:1;
        hence x in k.:D by A1,A24,FUNCT_1:def 6;
      end;
      assume x in k.:D;
      then consider y being object such that
A25:  y in dom k and
A26:  y in D and
A27:  x = k.y by FUNCT_1:def 6;
      reconsider y as Element of L by A25;
      [k.y, y] in S by A26;
      hence x in proj1 S by A27,XTUPLE_0:def 12;
    end;
    then
A28: proj1 S = k.:D by TARSKI:2;
    now
      let x be object;
      hereby
        assume x in proj2 S;
        then consider y being object such that
A29:    [y, x] in S by XTUPLE_0:def 13;
        ex a being Element of L st [y, x] = [k.a, a] & a in D by A29;
        hence x in D by XTUPLE_0:1;
      end;
      assume
A30:  x in D;
      then reconsider x9 = x as Element of L;
      [k.x9, x9] in S by A30;
      hence x in proj2 S by XTUPLE_0:def 13;
    end;
    then proj2 S = D by TARSKI:2;
    then sup S = [ds, d] by A28,Th8,YELLOW_0:17;
    then [ds, d] in R by A5,A10,A11,A12,WAYBEL_0:def 4;
    then
A31: ds in Class(EqRel R, d) by A4,EQREL_1:19;
    k.:D is_<=_than k.d
    proof
      let b be Element of L;
      assume b in k.:D;
      then consider a being object such that
A32:  a in dom k and
A33:  a in D and
A34:  b = k.a by FUNCT_1:def 6;
      reconsider a as Element of L by A32;
      D is_<=_than d by YELLOW_0:32;
      then a <= d by A33;
      hence b <= k.d by A34,WAYBEL_1:def 2;
    end;
    then
A35: ds <= k.d by YELLOW_0:32;
    k.d = inf Class(EqRel R, d) by A2,Def3;
    then k.d <= ds by A31,YELLOW_2:22;
    hence thesis by A35,YELLOW_0:def 3;
  end;
  now
    let x be object;
    hereby
      assume
A36:  x in R;
      then x in the carrier of [:L, L:];
      then x in [:cL, cL:] by YELLOW_3:def 2;
      then consider x1, x2 being object such that
A37:  x1 in cL & x2 in cL and
A38:  x = [x1, x2] by ZFMISC_1:def 2;
      reconsider x1, x2 as Element of L by A37;
A39:  k.x1=inf Class(EqRel R, x1) & k.x2 = inf Class(EqRel R, x2) by A2,Def3;
      x1 in Class(EqRel R, x2) by A4,A36,A38,EQREL_1:19;
      then k.x1 = k.x2 by A39,EQREL_1:23;
      then
A40:  [k.x1, k.x2] in id cL by RELAT_1:def 10;
      dom [:k, k:] = [:dom k, dom k:] by FUNCT_3:def 8;
      then
A41:  [x1, x2] in dom [:k, k:] by A1,ZFMISC_1:87;
      [:k, k:].(x1, x2) = [k.x1, k.x2] by A1,FUNCT_3:def 8;
      hence x in [:k, k:]"(id cL) by A38,A40,A41,FUNCT_1:def 7;
    end;
    assume
A42: x in [:k, k:]"(id cL);
    then
A43: [:k, k:].x in id cL by FUNCT_1:def 7;
    x in dom [:k, k:] by A42,FUNCT_1:def 7;
    then x in [:dom k, dom k:] by FUNCT_3:def 8;
    then consider x1, x2 being object such that
A44: x1 in dom k & x2 in dom k and
A45: x = [x1, x2] by ZFMISC_1:def 2;
    reconsider x1, x2 as Element of L by A44;
    [:k, k:].(x1, x2) = [k.x1, k.x2] by A44,FUNCT_3:def 8;
    then
A46: k.x1 = k.x2 by A43,A45,RELAT_1:def 10;
    k.x1=inf Class(EqRel R, x1) by A2,Def3;
    then [k.x1, x1] in R by A2,Th35;
    then
A47: [x1, k.x1] in R by A3,EQREL_1:6;
    k.x2 = inf Class(EqRel R, x2) by A2,Def3;
    then [k.x2, x2] in R by A2,Th35;
    hence x in R by A3,A45,A46,A47,EQREL_1:7;
  end;
  hence thesis by TARSKI:2;
end;
