Article LATTICE4, MML version 4.99.1005

:: LATTICE4:th 3
theorem
for b1 being set
      st b1 <> {} &
         (for b2 being set
               st b2 <> {} & b2 c= b1 & b2 is c=-linear
            holds ex b3 being set st
               b3 in b1 &
                (for b4 being set
                      st b4 in b2
                   holds b4 c= b3))
   holds ex b2 being set st
      b2 in b1 &
       (for b3 being set
             st b3 in b1 & b3 <> b2
          holds not b2 c= b3);

:: LATTICE4:th 4
theorem
for b1 being non empty Lattice-like LattStr holds
   <.b1.) is prime(b1);

:: LATTICE4:th 5
theorem
for b1 being non empty Lattice-like LattStr
for b2, b3 being Filter of b1 holds
b2 c= <.b2 \/ b3.) & b3 c= <.b2 \/ b3.);

:: LATTICE4:th 6
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Filter of b1
for b3, b4 being Element of the carrier of b1
      st b3 in <.<.b4.) \/ b2.)
   holds ex b5 being Element of the carrier of b1 st
      b5 in b2 & b4 "/\" b5 [= b3;

:: LATTICE4:modenot 1 => LATTICE4:mode 1
definition
  let a1, a2 be non empty Lattice-like LattStr;
  mode Homomorphism of A1,A2 -> Function-like quasi_total Relation of the carrier of a1,the carrier of a2 means
    for b1, b2 being Element of the carrier of a1 holds
    it . (b1 "\/" b2) = (it . b1) "\/" (it . b2) &
     it . (b1 "/\" b2) = (it . b1) "/\" (it . b2);
end;

:: LATTICE4:dfs 1
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
     a3 is Homomorphism of a1,a2
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1 holds
    a3 . (b1 "\/" b2) = (a3 . b1) "\/" (a3 . b2) &
     a3 . (b1 "/\" b2) = (a3 . b1) "/\" (a3 . b2);

:: LATTICE4:def 1
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
      b3 is Homomorphism of b1,b2
   iff
      for b4, b5 being Element of the carrier of b1 holds
      b3 . (b4 "\/" b5) = (b3 . b4) "\/" (b3 . b5) &
       b3 . (b4 "/\" b5) = (b3 . b4) "/\" (b3 . b5);

:: LATTICE4:th 7
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3, b4 being Element of the carrier of b1
for b5 being Homomorphism of b1,b2
      st b3 [= b4
   holds b5 . b3 [= b5 . b4;

:: LATTICE4:attrnot 1 => LATTICE4:attr 1
definition
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
  attr a3 is monomorphism means
    a3 is one-to-one;
end;

:: LATTICE4:dfs 2
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
     a3 is monomorphism
it is sufficient to prove
  thus a3 is one-to-one;

:: LATTICE4:def 2
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
      b3 is monomorphism(b1, b2)
   iff
      b3 is one-to-one;

:: LATTICE4:attrnot 2 => LATTICE4:attr 2
definition
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
  attr a3 is epimorphism means
    proj2 a3 = the carrier of a2;
end;

:: LATTICE4:dfs 3
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
     a3 is epimorphism
it is sufficient to prove
  thus proj2 a3 = the carrier of a2;

:: LATTICE4:def 3
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
      b3 is epimorphism(b1, b2)
   iff
      proj2 b3 = the carrier of b2;

:: LATTICE4:th 8
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3, b4 being Element of the carrier of b1
for b5 being Homomorphism of b1,b2
      st b5 is monomorphism(b1, b2)
   holds    b3 [= b4
   iff
      b5 . b3 [= b5 . b4;

:: LATTICE4:th 9
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
   st b3 is epimorphism(b1, b2)
for b4 being Element of the carrier of b2 holds
   ex b5 being Element of the carrier of b1 st
      b4 = b3 . b5;

:: LATTICE4:attrnot 3 => LATTICE4:attr 3
definition
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
  attr a3 is isomorphism means
    a3 is monomorphism(a1, a2) & a3 is epimorphism(a1, a2);
end;

:: LATTICE4:dfs 4
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
To prove
     a3 is isomorphism
it is sufficient to prove
  thus a3 is monomorphism(a1, a2) & a3 is epimorphism(a1, a2);

:: LATTICE4:def 4
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Homomorphism of b1,b2 holds
      b3 is isomorphism(b1, b2)
   iff
      b3 is monomorphism(b1, b2) & b3 is epimorphism(b1, b2);

:: LATTICE4:prednot 1 => FILTER_1:pred 1
definition
  let a1, a2 be non empty Lattice-like LattStr;
  pred A1,A2 are_isomorphic means
    ex b1 being Homomorphism of a1,a2 st
       b1 is isomorphism(a1, a2);
  symmetry;
::  for a1, a2 being non empty Lattice-like LattStr
::        st a1,a2 are_isomorphic
::     holds a2,a1 are_isomorphic;
  reflexivity;
::  for a1 being non empty Lattice-like LattStr holds
::     a1,a1 are_isomorphic;
end;

:: LATTICE4:dfs 5
definiens
  let a1, a2 be non empty Lattice-like LattStr;
To prove
     a1,a2 are_isomorphic
it is sufficient to prove
  thus ex b1 being Homomorphism of a1,a2 st
       b1 is isomorphism(a1, a2);

:: LATTICE4:def 5
theorem
for b1, b2 being non empty Lattice-like LattStr holds
   b1,b2 are_isomorphic
iff
   ex b3 being Homomorphism of b1,b2 st
      b3 is isomorphism(b1, b2);

:: LATTICE4:prednot 2 => LATTICE4:pred 1
definition
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
  pred A3 preserves_implication means
    for b1, b2 being Element of the carrier of a1 holds
    a3 . (b1 => b2) = (a3 . b1) => (a3 . b2);
end;

:: LATTICE4:dfs 6
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
To prove
     a3 preserves_implication
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1 holds
    a3 . (b1 => b2) = (a3 . b1) => (a3 . b2);

:: LATTICE4:def 6
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Homomorphism of b1,b2 holds
      b3 preserves_implication
   iff
      for b4, b5 being Element of the carrier of b1 holds
      b3 . (b4 => b5) = (b3 . b4) => (b3 . b5);

:: LATTICE4:prednot 3 => LATTICE4:pred 2
definition
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
  pred A3 preserves_top means
    a3 . Top a1 = Top a2;
end;

:: LATTICE4:dfs 7
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
To prove
     a3 preserves_top
it is sufficient to prove
  thus a3 . Top a1 = Top a2;

:: LATTICE4:def 7
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Homomorphism of b1,b2 holds
      b3 preserves_top
   iff
      b3 . Top b1 = Top b2;

:: LATTICE4:prednot 4 => LATTICE4:pred 3
definition
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
  pred A3 preserves_bottom means
    a3 . Bottom a1 = Bottom a2;
end;

:: LATTICE4:dfs 8
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
To prove
     a3 preserves_bottom
it is sufficient to prove
  thus a3 . Bottom a1 = Bottom a2;

:: LATTICE4:def 8
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Homomorphism of b1,b2 holds
      b3 preserves_bottom
   iff
      b3 . Bottom b1 = Bottom b2;

:: LATTICE4:prednot 5 => LATTICE4:pred 4
definition
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
  pred A3 preserves_complement means
    for b1 being Element of the carrier of a1 holds
       a3 . (b1 `) = (a3 . b1) `;
end;

:: LATTICE4:dfs 9
definiens
  let a1, a2 be non empty Lattice-like LattStr;
  let a3 be Homomorphism of a1,a2;
To prove
     a3 preserves_complement
it is sufficient to prove
  thus for b1 being Element of the carrier of a1 holds
       a3 . (b1 `) = (a3 . b1) `;

:: LATTICE4:def 9
theorem
for b1, b2 being non empty Lattice-like LattStr
for b3 being Homomorphism of b1,b2 holds
      b3 preserves_complement
   iff
      for b4 being Element of the carrier of b1 holds
         b3 . (b4 `) = (b3 . b4) `;

:: LATTICE4:modenot 2 => LATTICE4:mode 2
definition
  let a1 be non empty Lattice-like LattStr;
  mode ClosedSubset of A1 -> Element of bool the carrier of a1 means
    for b1, b2 being Element of the carrier of a1
          st b1 in it & b2 in it
       holds b1 "/\" b2 in it & b1 "\/" b2 in it;
end;

:: LATTICE4:dfs 10
definiens
  let a1 be non empty Lattice-like LattStr;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is ClosedSubset of a1
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
          st b1 in a2 & b2 in a2
       holds b1 "/\" b2 in a2 & b1 "\/" b2 in a2;

:: LATTICE4:def 10
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of bool the carrier of b1 holds
      b2 is ClosedSubset of b1
   iff
      for b3, b4 being Element of the carrier of b1
            st b3 in b2 & b4 in b2
         holds b3 "/\" b4 in b2 & b3 "\/" b4 in b2;

:: LATTICE4:th 10
theorem
for b1 being non empty Lattice-like LattStr holds
   the carrier of b1 is ClosedSubset of b1;

:: LATTICE4:exreg 1
registration
  let a1 be non empty Lattice-like LattStr;
  cluster non empty ClosedSubset of a1;
end;

:: LATTICE4:th 11
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Filter of b1 holds
   b2 is ClosedSubset of b1;

:: LATTICE4:funcnot 1 => LATTICE4:func 1
definition
  let a1 be non empty Lattice-like LattStr;
  let a2 be Element of Fin the carrier of a1;
  func FinJoin A2 -> Element of the carrier of a1 equals
    FinJoin(a2,id a1);
end;

:: LATTICE4:def 12
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of Fin the carrier of b1 holds
   FinJoin b2 = FinJoin(b2,id b1);

:: LATTICE4:funcnot 2 => LATTICE4:func 2
definition
  let a1 be non empty Lattice-like LattStr;
  let a2 be Element of Fin the carrier of a1;
  func FinMeet A2 -> Element of the carrier of a1 equals
    FinMeet(a2,id a1);
end;

:: LATTICE4:def 13
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of Fin the carrier of b1 holds
   FinMeet b2 = FinMeet(b2,id b1);

:: LATTICE4:th 16
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1 holds
   FinJoin {.b2.} = b2;

:: LATTICE4:th 17
theorem
for b1 being non empty Lattice-like LattStr
for b2 being Element of the carrier of b1 holds
   FinMeet {.b2.} = b2;

:: LATTICE4:th 18
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty Lattice-like distributive LattStr
for b3 being Homomorphism of b2,b1
      st b3 is epimorphism(b2, b1)
   holds b1 is distributive;

:: LATTICE4:th 19
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty Lattice-like lower-bounded LattStr
for b3 being Homomorphism of b2,b1
      st b3 is epimorphism(b2, b1)
   holds b1 is lower-bounded & b3 preserves_bottom;

:: LATTICE4:th 20
theorem
for b1 being non empty Lattice-like lower-bounded LattStr
for b2 being Element of Fin the carrier of b1
for b3 being Element of the carrier of b1
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
   FinJoin(b2 \/ {.b3.},b4) = (FinJoin(b2,b4)) "\/" (b4 . b3);

:: LATTICE4:th 21
theorem
for b1 being non empty Lattice-like lower-bounded LattStr
for b2 being Element of Fin the carrier of b1
for b3 being Element of the carrier of b1 holds
   FinJoin (b2 \/ {.b3.}) = (FinJoin b2) "\/" b3;

:: LATTICE4:th 22
theorem
for b1 being non empty Lattice-like lower-bounded LattStr
for b2, b3 being Element of Fin the carrier of b1 holds
(FinJoin b2) "\/" FinJoin b3 = FinJoin (b2 \/ b3);

:: LATTICE4:th 23
theorem
for b1 being non empty Lattice-like lower-bounded LattStr holds
   FinJoin {}. the carrier of b1 = Bottom b1;

:: LATTICE4:th 24
theorem
for b1 being non empty Lattice-like lower-bounded LattStr
for b2 being ClosedSubset of b1
   st Bottom b1 in b2
for b3 being Element of Fin the carrier of b1
      st b3 c= b2
   holds FinJoin b3 in b2;

:: LATTICE4:th 25
theorem
for b1 being non empty Lattice-like LattStr
for b2 being non empty Lattice-like upper-bounded LattStr
for b3 being Homomorphism of b2,b1
      st b3 is epimorphism(b2, b1)
   holds b1 is upper-bounded & b3 preserves_top;

:: LATTICE4:th 26
theorem
for b1 being non empty Lattice-like upper-bounded LattStr holds
   FinMeet {}. the carrier of b1 = Top b1;

:: LATTICE4:th 27
theorem
for b1 being non empty Lattice-like upper-bounded LattStr
for b2 being Element of Fin the carrier of b1
for b3 being Element of the carrier of b1
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
   FinMeet(b2 \/ {.b3.},b4) = (FinMeet(b2,b4)) "/\" (b4 . b3);

:: LATTICE4:th 28
theorem
for b1 being non empty Lattice-like upper-bounded LattStr
for b2 being Element of Fin the carrier of b1
for b3 being Element of the carrier of b1 holds
   FinMeet (b2 \/ {.b3.}) = (FinMeet b2) "/\" b3;

:: LATTICE4:th 29
theorem
for b1 being non empty Lattice-like upper-bounded LattStr
for b2 being Element of Fin the carrier of b1
for b3, b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
FinMeet(b3 .: b2,b4) = FinMeet(b2,b4 * b3);

:: LATTICE4:th 30
theorem
for b1 being non empty Lattice-like upper-bounded LattStr
for b2, b3 being Element of Fin the carrier of b1 holds
(FinMeet b2) "/\" FinMeet b3 = FinMeet (b2 \/ b3);

:: LATTICE4:th 31
theorem
for b1 being non empty Lattice-like upper-bounded LattStr
for b2 being ClosedSubset of b1
   st Top b1 in b2
for b3 being Element of Fin the carrier of b1
      st b3 c= b2
   holds FinMeet b3 in b2;

:: LATTICE4:th 32
theorem
for b1 being non empty Lattice-like distributive upper-bounded LattStr
for b2 being Element of Fin the carrier of b1
for b3 being Element of the carrier of b1 holds
   (FinMeet b2) "\/" b3 = FinMeet (((the L_join of b1) [:](id b1,b3)) .: b2);

:: LATTICE4:th 33
theorem
for b1 being non empty Lattice-like bounded complemented LattStr
for b2 being non empty Lattice-like implicative LattStr
for b3 being Homomorphism of b2,b1
for b4, b5 being Element of the carrier of b2 holds
(b3 . b4) "/\" (b3 . (b4 => b5)) [= b3 . b5;

:: LATTICE4:th 34
theorem
for b1 being non empty Lattice-like bounded complemented LattStr
for b2 being non empty Lattice-like implicative LattStr
for b3 being Homomorphism of b2,b1
for b4, b5, b6 being Element of the carrier of b2
      st b3 is monomorphism(b2, b1) &
         (b3 . b4) "/\" (b3 . b5) [= b3 . b6
   holds b3 . b5 [= b3 . (b4 => b6);

:: LATTICE4:th 35
theorem
for b1 being non empty Lattice-like bounded complemented LattStr
for b2 being non empty Lattice-like implicative LattStr
for b3 being Homomorphism of b2,b1
      st b3 is isomorphism(b2, b1)
   holds b1 is implicative & b3 preserves_implication;

:: LATTICE4:th 36
theorem
for b1 being non empty Lattice-like Boolean LattStr holds
   (Top b1) ` = Bottom b1;

:: LATTICE4:th 37
theorem
for b1 being non empty Lattice-like Boolean LattStr holds
   (Bottom b1) ` = Top b1;

:: LATTICE4:th 38
theorem
for b1 being non empty Lattice-like bounded complemented LattStr
for b2 being non empty Lattice-like Boolean LattStr
for b3 being Homomorphism of b2,b1
      st b3 is epimorphism(b2, b1)
   holds b1 is Boolean & b3 preserves_complement;

:: LATTICE4:modenot 3 => LATTICE4:mode 3
definition
  let a1 be non empty Lattice-like Boolean LattStr;
  mode Field of A1 -> non empty Element of bool the carrier of a1 means
    for b1, b2 being Element of the carrier of a1
          st b1 in it & b2 in it
       holds b1 "/\" b2 in it & b1 ` in it;
end;

:: LATTICE4:dfs 13
definiens
  let a1 be non empty Lattice-like Boolean LattStr;
  let a2 be non empty Element of bool the carrier of a1;
To prove
     a2 is Field of a1
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
          st b1 in a2 & b2 in a2
       holds b1 "/\" b2 in a2 & b1 ` in a2;

:: LATTICE4:def 14
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being non empty Element of bool the carrier of b1 holds
      b2 is Field of b1
   iff
      for b3, b4 being Element of the carrier of b1
            st b3 in b2 & b4 in b2
         holds b3 "/\" b4 in b2 & b3 ` in b2;

:: LATTICE4:th 39
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2, b3 being Element of the carrier of b1
for b4 being Field of b1
      st b2 in b4 & b3 in b4
   holds b2 "\/" b3 in b4;

:: LATTICE4:th 40
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2, b3 being Element of the carrier of b1
for b4 being Field of b1
      st b2 in b4 & b3 in b4
   holds b2 => b3 in b4;

:: LATTICE4:th 41
theorem
for b1 being non empty Lattice-like Boolean LattStr holds
   the carrier of b1 is Field of b1;

:: LATTICE4:th 42
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being Field of b1 holds
   b2 is ClosedSubset of b1;

:: LATTICE4:funcnot 3 => LATTICE4:func 3
definition
  let a1 be non empty Lattice-like Boolean LattStr;
  let a2 be non empty Element of bool the carrier of a1;
  func field_by A2 -> Field of a1 means
    a2 c= it &
     (for b1 being Field of a1
           st a2 c= b1
        holds it c= b1);
end;

:: LATTICE4:def 15
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being non empty Element of bool the carrier of b1
for b3 being Field of b1 holds
      b3 = field_by b2
   iff
      b2 c= b3 &
       (for b4 being Field of b1
             st b2 c= b4
          holds b3 c= b4);

:: LATTICE4:funcnot 4 => LATTICE4:func 4
definition
  let a1 be non empty Lattice-like Boolean LattStr;
  let a2 be non empty Element of bool the carrier of a1;
  func SetImp A2 -> Element of bool the carrier of a1 equals
    {b1 => b2 where b1 is Element of the carrier of a1, b2 is Element of the carrier of a1: b1 in a2 & b2 in a2};
end;

:: LATTICE4:def 16
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being non empty Element of bool the carrier of b1 holds
   SetImp b2 = {b3 => b4 where b3 is Element of the carrier of b1, b4 is Element of the carrier of b1: b3 in b2 & b4 in b2};

:: LATTICE4:funcreg 1
registration
  let a1 be non empty Lattice-like Boolean LattStr;
  let a2 be non empty Element of bool the carrier of a1;
  cluster SetImp a2 -> non empty;
end;

:: LATTICE4:th 43
theorem
for b1 being set
for b2 being non empty Lattice-like Boolean LattStr
for b3 being non empty Element of bool the carrier of b2 holds
      b1 in SetImp b3
   iff
      ex b4, b5 being Element of the carrier of b2 st
         b1 = b4 => b5 & b4 in b3 & b5 in b3;

:: LATTICE4:th 44
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being non empty Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
      b3 in SetImp b2
   iff
      ex b4, b5 being Element of the carrier of b1 st
         b3 = b4 ` "\/" b5 & b4 in b2 & b5 in b2;

:: LATTICE4:funcnot 5 => LATTICE4:func 5
definition
  let a1 be non empty Lattice-like Boolean LattStr;
  func comp A1 -> Function-like quasi_total Relation of the carrier of a1,the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
       it . b1 = b1 `;
end;

:: LATTICE4:def 17
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
      b2 = comp b1
   iff
      for b3 being Element of the carrier of b1 holds
         b2 . b3 = b3 `;

:: LATTICE4:th 45
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being Element of the carrier of b1
for b3 being Element of Fin the carrier of b1 holds
   FinJoin(b3 \/ {.b2.},comp b1) = (FinJoin(b3,comp b1)) "\/" (b2 `);

:: LATTICE4:th 46
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being Element of Fin the carrier of b1 holds
   (FinJoin b2) ` = FinMeet(b2,comp b1);

:: LATTICE4:th 47
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being Element of the carrier of b1
for b3 being Element of Fin the carrier of b1 holds
   FinMeet(b3 \/ {.b2.},comp b1) = (FinMeet(b3,comp b1)) "/\" (b2 `);

:: LATTICE4:th 48
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being Element of Fin the carrier of b1 holds
   (FinMeet b2) ` = FinJoin(b2,comp b1);

:: LATTICE4:th 49
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being non empty ClosedSubset of b1
   st Bottom b1 in b2 & Top b1 in b2
for b3 being Element of Fin the carrier of b1
      st b3 c= SetImp b2
   holds ex b4 being Element of Fin the carrier of b1 st
      b4 c= SetImp b2 & FinJoin(b3,comp b1) = FinMeet b4;

:: LATTICE4:th 50
theorem
for b1 being non empty Lattice-like Boolean LattStr
for b2 being non empty ClosedSubset of b1
      st Bottom b1 in b2 & Top b1 in b2
   holds {FinMeet b3 where b3 is Element of Fin the carrier of b1: b3 c= SetImp b2} = field_by b2;