Article REAL_LAT, MML version 4.99.1005

:: REAL_LAT:funcnot 1 => REAL_LAT:func 1
definition
  func minreal -> Function-like quasi_total Relation of [:REAL,REAL:],REAL means
    for b1, b2 being Element of REAL holds
    it .(b1,b2) = min(b1,b2);
end;

:: REAL_LAT:def 1
theorem
for b1 being Function-like quasi_total Relation of [:REAL,REAL:],REAL holds
      b1 = minreal
   iff
      for b2, b3 being Element of REAL holds
      b1 .(b2,b3) = min(b2,b3);

:: REAL_LAT:funcnot 2 => REAL_LAT:func 2
definition
  func maxreal -> Function-like quasi_total Relation of [:REAL,REAL:],REAL means
    for b1, b2 being Element of REAL holds
    it .(b1,b2) = max(b1,b2);
end;

:: REAL_LAT:def 2
theorem
for b1 being Function-like quasi_total Relation of [:REAL,REAL:],REAL holds
      b1 = maxreal
   iff
      for b2, b3 being Element of REAL holds
      b1 .(b2,b3) = max(b2,b3);

:: REAL_LAT:funcnot 3 => REAL_LAT:func 3
definition
  func Real_Lattice -> strict LattStr equals
    LattStr(#REAL,maxreal,minreal#);
end;

:: REAL_LAT:def 4
theorem
Real_Lattice = LattStr(#REAL,maxreal,minreal#);

:: REAL_LAT:condreg 1
registration
  cluster -> real (Element of the carrier of Real_Lattice);
end;

:: REAL_LAT:funcreg 1
registration
  cluster Real_Lattice -> non empty strict;
end;

:: REAL_LAT:funcreg 2
registration
  cluster Real_Lattice -> strict Lattice-like;
end;

:: REAL_LAT:th 8
theorem
for b1, b2 being Element of the carrier of Real_Lattice holds
maxreal .(b1,b2) = maxreal .(b2,b1);

:: REAL_LAT:th 9
theorem
for b1, b2 being Element of the carrier of Real_Lattice holds
minreal .(b1,b2) = minreal .(b2,b1);

:: REAL_LAT:th 10
theorem
for b1, b2, b3 being Element of the carrier of Real_Lattice holds
maxreal .(b1,maxreal .(b2,b3)) = maxreal .(maxreal .(b2,b3),b1) &
 maxreal .(b1,maxreal .(b2,b3)) = maxreal .(maxreal .(b1,b2),b3) &
 maxreal .(b1,maxreal .(b2,b3)) = maxreal .(maxreal .(b2,b1),b3) &
 maxreal .(b1,maxreal .(b2,b3)) = maxreal .(maxreal .(b3,b1),b2) &
 maxreal .(b1,maxreal .(b2,b3)) = maxreal .(maxreal .(b3,b2),b1) &
 maxreal .(b1,maxreal .(b2,b3)) = maxreal .(maxreal .(b1,b3),b2);

:: REAL_LAT:th 11
theorem
for b1, b2, b3 being Element of the carrier of Real_Lattice holds
minreal .(b1,minreal .(b2,b3)) = minreal .(minreal .(b2,b3),b1) &
 minreal .(b1,minreal .(b2,b3)) = minreal .(minreal .(b1,b2),b3) &
 minreal .(b1,minreal .(b2,b3)) = minreal .(minreal .(b2,b1),b3) &
 minreal .(b1,minreal .(b2,b3)) = minreal .(minreal .(b3,b1),b2) &
 minreal .(b1,minreal .(b2,b3)) = minreal .(minreal .(b3,b2),b1) &
 minreal .(b1,minreal .(b2,b3)) = minreal .(minreal .(b1,b3),b2);

:: REAL_LAT:th 12
theorem
for b1, b2 being Element of the carrier of Real_Lattice holds
maxreal .(minreal .(b1,b2),b2) = b2 & maxreal .(b2,minreal .(b1,b2)) = b2 & maxreal .(b2,minreal .(b2,b1)) = b2 & maxreal .(minreal .(b2,b1),b2) = b2;

:: REAL_LAT:th 13
theorem
for b1, b2 being Element of the carrier of Real_Lattice holds
minreal .(b1,maxreal .(b1,b2)) = b1 & minreal .(maxreal .(b2,b1),b1) = b1 & minreal .(b1,maxreal .(b2,b1)) = b1 & minreal .(maxreal .(b1,b2),b1) = b1;

:: REAL_LAT:th 14
theorem
for b1, b2, b3 being Element of the carrier of Real_Lattice holds
minreal .(b1,maxreal .(b2,b3)) = maxreal .(minreal .(b1,b2),minreal .(b1,b3));

:: REAL_LAT:funcreg 3
registration
  cluster Real_Lattice -> strict distributive;
end;

:: REAL_LAT:funcnot 4 => REAL_LAT:func 4
definition
  let a1 be non empty set;
  func maxfuncreal A1 -> Function-like quasi_total Relation of [:Funcs(a1,REAL),Funcs(a1,REAL):],Funcs(a1,REAL) means
    for b1, b2 being Element of Funcs(a1,REAL) holds
    it .(b1,b2) = maxreal .:(b1,b2);
end;

:: REAL_LAT:def 5
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:Funcs(b1,REAL),Funcs(b1,REAL):],Funcs(b1,REAL) holds
      b2 = maxfuncreal b1
   iff
      for b3, b4 being Element of Funcs(b1,REAL) holds
      b2 .(b3,b4) = maxreal .:(b3,b4);

:: REAL_LAT:funcnot 5 => REAL_LAT:func 5
definition
  let a1 be non empty set;
  func minfuncreal A1 -> Function-like quasi_total Relation of [:Funcs(a1,REAL),Funcs(a1,REAL):],Funcs(a1,REAL) means
    for b1, b2 being Element of Funcs(a1,REAL) holds
    it .(b1,b2) = minreal .:(b1,b2);
end;

:: REAL_LAT:def 6
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:Funcs(b1,REAL),Funcs(b1,REAL):],Funcs(b1,REAL) holds
      b2 = minfuncreal b1
   iff
      for b3, b4 being Element of Funcs(b1,REAL) holds
      b2 .(b3,b4) = minreal .:(b3,b4);

:: REAL_LAT:th 20
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(maxfuncreal b1) .(b2,b3) = (maxfuncreal b1) .(b3,b2);

:: REAL_LAT:th 21
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(minfuncreal b1) .(b2,b3) = (minfuncreal b1) .(b3,b2);

:: REAL_LAT:th 22
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,REAL) holds
(maxfuncreal b1) .((maxfuncreal b1) .(b2,b3),b4) = (maxfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4));

:: REAL_LAT:th 23
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,REAL) holds
(minfuncreal b1) .((minfuncreal b1) .(b2,b3),b4) = (minfuncreal b1) .(b2,(minfuncreal b1) .(b3,b4));

:: REAL_LAT:th 24
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(maxfuncreal b1) .(b2,(minfuncreal b1) .(b2,b3)) = b2;

:: REAL_LAT:th 25
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(maxfuncreal b1) .((minfuncreal b1) .(b2,b3),b2) = b2;

:: REAL_LAT:th 26
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(maxfuncreal b1) .((minfuncreal b1) .(b2,b3),b3) = b3;

:: REAL_LAT:th 27
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(maxfuncreal b1) .(b2,(minfuncreal b1) .(b3,b2)) = b2;

:: REAL_LAT:th 28
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(minfuncreal b1) .(b2,(maxfuncreal b1) .(b2,b3)) = b2;

:: REAL_LAT:th 29
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(minfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b2)) = b2;

:: REAL_LAT:th 30
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(minfuncreal b1) .((maxfuncreal b1) .(b2,b3),b3) = b3;

:: REAL_LAT:th 31
theorem
for b1 being non empty set
for b2, b3 being Element of Funcs(b1,REAL) holds
(minfuncreal b1) .((maxfuncreal b1) .(b2,b3),b2) = b2;

:: REAL_LAT:th 32
theorem
for b1 being non empty set
for b2, b3, b4 being Element of Funcs(b1,REAL) holds
(minfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((minfuncreal b1) .(b2,b3),(minfuncreal b1) .(b2,b4));

:: REAL_LAT:funcnot 6 => REAL_LAT:func 6
definition
  let a1 be non empty set;
  let a2 be Element of the carrier of LattStr(#Funcs(a1,REAL),maxfuncreal a1,minfuncreal a1#);
  func @ A2 -> Element of Funcs(a1,REAL) equals
    a2;
end;

:: REAL_LAT:def 9
theorem
for b1 being non empty set
for b2 being Element of the carrier of LattStr(#Funcs(b1,REAL),maxfuncreal b1,minfuncreal b1#) holds
   @ b2 = b2;

:: REAL_LAT:funcnot 7 => REAL_LAT:func 7
definition
  let a1 be non empty set;
  func RealFunc_Lattice A1 -> non empty strict Lattice-like LattStr equals
    LattStr(#Funcs(a1,REAL),maxfuncreal a1,minfuncreal a1#);
end;

:: REAL_LAT:def 10
theorem
for b1 being non empty set holds
   RealFunc_Lattice b1 = LattStr(#Funcs(b1,REAL),maxfuncreal b1,minfuncreal b1#);

:: REAL_LAT:th 40
theorem
for b1 being non empty set
for b2, b3 being Element of the carrier of RealFunc_Lattice b1 holds
(maxfuncreal b1) .(b2,b3) = (maxfuncreal b1) .(b3,b2);

:: REAL_LAT:th 41
theorem
for b1 being non empty set
for b2, b3 being Element of the carrier of RealFunc_Lattice b1 holds
(minfuncreal b1) .(b2,b3) = (minfuncreal b1) .(b3,b2);

:: REAL_LAT:th 42
theorem
for b1 being non empty set
for b2, b3, b4 being Element of the carrier of RealFunc_Lattice b1 holds
(maxfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((maxfuncreal b1) .(b3,b4),b2) &
 (maxfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((maxfuncreal b1) .(b2,b3),b4) &
 (maxfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((maxfuncreal b1) .(b3,b2),b4) &
 (maxfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((maxfuncreal b1) .(b4,b2),b3) &
 (maxfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((maxfuncreal b1) .(b4,b3),b2) &
 (maxfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((maxfuncreal b1) .(b2,b4),b3);

:: REAL_LAT:th 43
theorem
for b1 being non empty set
for b2, b3, b4 being Element of the carrier of RealFunc_Lattice b1 holds
(minfuncreal b1) .(b2,(minfuncreal b1) .(b3,b4)) = (minfuncreal b1) .((minfuncreal b1) .(b3,b4),b2) &
 (minfuncreal b1) .(b2,(minfuncreal b1) .(b3,b4)) = (minfuncreal b1) .((minfuncreal b1) .(b2,b3),b4) &
 (minfuncreal b1) .(b2,(minfuncreal b1) .(b3,b4)) = (minfuncreal b1) .((minfuncreal b1) .(b3,b2),b4) &
 (minfuncreal b1) .(b2,(minfuncreal b1) .(b3,b4)) = (minfuncreal b1) .((minfuncreal b1) .(b4,b2),b3) &
 (minfuncreal b1) .(b2,(minfuncreal b1) .(b3,b4)) = (minfuncreal b1) .((minfuncreal b1) .(b4,b3),b2) &
 (minfuncreal b1) .(b2,(minfuncreal b1) .(b3,b4)) = (minfuncreal b1) .((minfuncreal b1) .(b2,b4),b3);

:: REAL_LAT:th 44
theorem
for b1 being non empty set
for b2, b3 being Element of the carrier of RealFunc_Lattice b1 holds
(maxfuncreal b1) .((minfuncreal b1) .(b2,b3),b3) = b3 &
 (maxfuncreal b1) .(b3,(minfuncreal b1) .(b2,b3)) = b3 &
 (maxfuncreal b1) .(b3,(minfuncreal b1) .(b3,b2)) = b3 &
 (maxfuncreal b1) .((minfuncreal b1) .(b3,b2),b3) = b3;

:: REAL_LAT:th 45
theorem
for b1 being non empty set
for b2, b3 being Element of the carrier of RealFunc_Lattice b1 holds
(minfuncreal b1) .(b2,(maxfuncreal b1) .(b2,b3)) = b2 &
 (minfuncreal b1) .((maxfuncreal b1) .(b3,b2),b2) = b2 &
 (minfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b2)) = b2 &
 (minfuncreal b1) .((maxfuncreal b1) .(b2,b3),b2) = b2;

:: REAL_LAT:th 46
theorem
for b1 being non empty set
for b2, b3, b4 being Element of the carrier of RealFunc_Lattice b1 holds
(minfuncreal b1) .(b2,(maxfuncreal b1) .(b3,b4)) = (maxfuncreal b1) .((minfuncreal b1) .(b2,b3),(minfuncreal b1) .(b2,b4));

:: REAL_LAT:th 47
theorem
for b1 being non empty set holds
   RealFunc_Lattice b1 is non empty Lattice-like distributive LattStr;