Article MSUALG_7, MML version 4.99.1005

:: MSUALG_7:th 1
theorem
for b1, b2 being set holds
   b1 in the carrier of EqRelLatt b2
iff
   b1 is symmetric transitive total Relation of b2,b2;

:: MSUALG_7:th 2
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
   id b2 is MSEquivalence_Relation-like ManySortedRelation of b2,b2;

:: MSUALG_7:th 3
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
   [|b2,b2|] is MSEquivalence_Relation-like ManySortedRelation of b2,b2;

:: MSUALG_7:funcreg 1
registration
  let a1 be non empty set;
  let a2 be ManySortedSet of a1;
  cluster EqRelLatt a2 -> non empty strict Lattice-like bounded;
end;

:: MSUALG_7:th 4
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
   Bottom EqRelLatt b2 = id b2;

:: MSUALG_7:th 5
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
   Top EqRelLatt b2 = [|b2,b2|];

:: MSUALG_7:th 6
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Element of bool the carrier of EqRelLatt b2 holds
   b3 is Element of bool Bool [|b2,b2|];

:: MSUALG_7:th 7
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3, b4 being Element of the carrier of EqRelLatt b2
for b5, b6 being MSEquivalence_Relation-like ManySortedRelation of b2,b2
      st b3 = b5 & b4 = b6
   holds    b3 [= b4
   iff
      b5 c= b6;

:: MSUALG_7:th 8
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Element of bool the carrier of EqRelLatt b2
for b4 being Element of bool Bool [|b2,b2|]
   st b4 = b3
for b5, b6 being MSEquivalence_Relation-like ManySortedRelation of b2,b2
      st b5 = meet |:b4:| & b6 in b3
   holds b5 c= b6;

:: MSUALG_7:th 9
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Element of bool the carrier of EqRelLatt b2
for b4 being Element of bool Bool [|b2,b2|]
      st b4 = b3 & b3 is not empty
   holds meet |:b4:| is MSEquivalence_Relation-like ManySortedRelation of b2,b2;

:: MSUALG_7:attrnot 1 => LATTICE3:attr 4
definition
  let a1 be non empty LattStr;
  attr a1 is complete means
    for b1 being Element of bool the carrier of a1 holds
       ex b2 being Element of the carrier of a1 st
          b1 is_less_than b2 &
           (for b3 being Element of the carrier of a1
                 st b1 is_less_than b3
              holds b2 [= b3);
end;

:: MSUALG_7:dfs 1
definiens
  let a1 be non empty LattStr;
To prove
     a1 is complete
it is sufficient to prove
  thus for b1 being Element of bool the carrier of a1 holds
       ex b2 being Element of the carrier of a1 st
          b1 is_less_than b2 &
           (for b3 being Element of the carrier of a1
                 st b1 is_less_than b3
              holds b2 [= b3);

:: MSUALG_7:def 1
theorem
for b1 being non empty LattStr holds
      b1 is complete
   iff
      for b2 being Element of bool the carrier of b1 holds
         ex b3 being Element of the carrier of b1 st
            b2 is_less_than b3 &
             (for b4 being Element of the carrier of b1
                   st b2 is_less_than b4
                holds b3 [= b4);

:: MSUALG_7:th 10
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
   EqRelLatt b2 is complete;

:: MSUALG_7:funcreg 2
registration
  let a1 be non empty set;
  let a2 be ManySortedSet of a1;
  cluster EqRelLatt a2 -> non empty strict Lattice-like complete;
end;

:: MSUALG_7:th 11
theorem
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Element of bool the carrier of EqRelLatt b2
for b4 being Element of bool Bool [|b2,b2|]
   st b4 = b3 & b3 is not empty
for b5, b6 being MSEquivalence_Relation-like ManySortedRelation of b2,b2
      st b5 = meet |:b4:| & b6 = "/\"(b3,EqRelLatt b2)
   holds b5 = b6;

:: MSUALG_7:attrnot 2 => MSUALG_7:attr 1
definition
  let a1 be non empty Lattice-like LattStr;
  let a2 be SubLattice of a1;
  attr a2 is /\-inheriting means
    for b1 being Element of bool the carrier of a2 holds
       "/\"(b1,a1) in the carrier of a2;
end;

:: MSUALG_7:dfs 2
definiens
  let a1 be non empty Lattice-like LattStr;
  let a2 be SubLattice of a1;
To prove
     a2 is /\-inheriting
it is sufficient to prove
  thus for b1 being Element of bool the carrier of a2 holds
       "/\"(b1,a1) in the carrier of a2;

:: MSUALG_7:def 2
theorem
for b1 being non empty Lattice-like LattStr
for b2 being SubLattice of b1 holds
      b2 is /\-inheriting(b1)
   iff
      for b3 being Element of bool the carrier of b2 holds
         "/\"(b3,b1) in the carrier of b2;

:: MSUALG_7:attrnot 3 => MSUALG_7:attr 2
definition
  let a1 be non empty Lattice-like LattStr;
  let a2 be SubLattice of a1;
  attr a2 is \/-inheriting means
    for b1 being Element of bool the carrier of a2 holds
       "\/"(b1,a1) in the carrier of a2;
end;

:: MSUALG_7:dfs 3
definiens
  let a1 be non empty Lattice-like LattStr;
  let a2 be SubLattice of a1;
To prove
     a2 is \/-inheriting
it is sufficient to prove
  thus for b1 being Element of bool the carrier of a2 holds
       "\/"(b1,a1) in the carrier of a2;

:: MSUALG_7:def 3
theorem
for b1 being non empty Lattice-like LattStr
for b2 being SubLattice of b1 holds
      b2 is \/-inheriting(b1)
   iff
      for b3 being Element of bool the carrier of b2 holds
         "\/"(b3,b1) in the carrier of b2;

:: MSUALG_7:th 12
theorem
for b1 being non empty Lattice-like LattStr
for b2 being SubLattice of b1
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
      st b3 = b5 & b4 = b6
   holds b3 "\/" b4 = b5 "\/" b6 & b3 "/\" b4 = b5 "/\" b6;

:: MSUALG_7:th 13
theorem
for b1 being non empty Lattice-like LattStr
for b2 being SubLattice of b1
for b3 being Element of bool the carrier of b2
for b4 being Element of the carrier of b1
for b5 being Element of the carrier of b2
      st b4 = b5
   holds    b4 is_less_than b3
   iff
      b5 is_less_than b3;

:: MSUALG_7:th 14
theorem
for b1 being non empty Lattice-like LattStr
for b2 being SubLattice of b1
for b3 being Element of bool the carrier of b2
for b4 being Element of the carrier of b1
for b5 being Element of the carrier of b2
      st b4 = b5
   holds    b3 is_less_than b4
   iff
      b3 is_less_than b5;

:: MSUALG_7:th 15
theorem
for b1 being non empty Lattice-like complete LattStr
for b2 being SubLattice of b1
      st b2 is /\-inheriting(b1)
   holds b2 is complete;

:: MSUALG_7:th 16
theorem
for b1 being non empty Lattice-like complete LattStr
for b2 being SubLattice of b1
      st b2 is \/-inheriting(b1)
   holds b2 is complete;

:: MSUALG_7:exreg 1
registration
  let a1 be non empty Lattice-like complete LattStr;
  cluster non empty join-commutative join-associative meet-commutative meet-associative meet-absorbing join-absorbing Lattice-like complete SubLattice of a1;
end;

:: MSUALG_7:condreg 1
registration
  let a1 be non empty Lattice-like complete LattStr;
  cluster /\-inheriting -> complete (SubLattice of a1);
end;

:: MSUALG_7:condreg 2
registration
  let a1 be non empty Lattice-like complete LattStr;
  cluster \/-inheriting -> complete (SubLattice of a1);
end;

:: MSUALG_7:th 17
theorem
for b1 being non empty Lattice-like complete LattStr
for b2 being SubLattice of b1
   st b2 is /\-inheriting(b1)
for b3 being Element of bool the carrier of b2 holds
   "/\"(b3,b1) = "/\"(b3,b2);

:: MSUALG_7:th 18
theorem
for b1 being non empty Lattice-like complete LattStr
for b2 being SubLattice of b1
   st b2 is \/-inheriting(b1)
for b3 being Element of bool the carrier of b2 holds
   "\/"(b3,b1) = "\/"(b3,b2);

:: MSUALG_7:th 19
theorem
for b1 being non empty Lattice-like complete LattStr
for b2 being SubLattice of b1
   st b2 is /\-inheriting(b1)
for b3 being Element of bool the carrier of b1
for b4 being Element of bool the carrier of b2
      st b3 = b4
   holds "/\"(b3,b1) = "/\"(b4,b2);

:: MSUALG_7:th 20
theorem
for b1 being non empty Lattice-like complete LattStr
for b2 being SubLattice of b1
   st b2 is \/-inheriting(b1)
for b3 being Element of bool the carrier of b1
for b4 being Element of bool the carrier of b2
      st b3 = b4
   holds "\/"(b3,b1) = "\/"(b4,b2);

:: MSUALG_7:funcnot 1 => MSUALG_7:func 1
definition
  let a1, a2 be Element of REAL;
  assume a1 <= a2;
  func RealSubLatt(A1,A2) -> non empty strict Lattice-like LattStr means
    the carrier of it = [.a1,a2.] &
     the L_join of it = maxreal || [.a1,a2.] &
     the L_meet of it = minreal || [.a1,a2.];
end;

:: MSUALG_7:def 4
theorem
for b1, b2 being Element of REAL
   st b1 <= b2
for b3 being non empty strict Lattice-like LattStr holds
      b3 = RealSubLatt(b1,b2)
   iff
      the carrier of b3 = [.b1,b2.] &
       the L_join of b3 = maxreal || [.b1,b2.] &
       the L_meet of b3 = minreal || [.b1,b2.];

:: MSUALG_7:th 21
theorem
for b1, b2 being Element of REAL
      st b1 <= b2
   holds RealSubLatt(b1,b2) is complete;

:: MSUALG_7:th 22
theorem
ex b1 being SubLattice of RealSubLatt(0,1) st
   b1 is \/-inheriting(RealSubLatt(0,1)) & b1 is /\-inheriting(not RealSubLatt(0,1));

:: MSUALG_7:th 23
theorem
ex b1 being non empty Lattice-like complete LattStr st
   ex b2 being SubLattice of b1 st
      b2 is \/-inheriting(b1) & b2 is not /\-inheriting(b1);

:: MSUALG_7:th 24
theorem
ex b1 being SubLattice of RealSubLatt(0,1) st
   b1 is /\-inheriting(RealSubLatt(0,1)) & b1 is \/-inheriting(not RealSubLatt(0,1));

:: MSUALG_7:th 25
theorem
ex b1 being non empty Lattice-like complete LattStr st
   ex b2 being SubLattice of b1 st
      b2 is /\-inheriting(b1) & b2 is not \/-inheriting(b1);