Article YELLOW11, MML version 4.99.1005

:: YELLOW11:th 1
theorem
3 = {0,1,2};

:: YELLOW11:th 2
theorem
2 \ 1 = {1};

:: YELLOW11:th 3
theorem
3 \ 1 = {1,2};

:: YELLOW11:th 4
theorem
3 \ 2 = {2};

:: YELLOW11:th 5
theorem
for b1 being reflexive antisymmetric with_suprema with_infima RelStr
for b2, b3 being Element of the carrier of b1 holds
   b2 "/\" b3 = b3
iff
   b2 "\/" b3 = b2;

:: YELLOW11:th 6
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2, b3, b4 being Element of the carrier of b1 holds
(b2 "/\" b3) "\/" (b2 "/\" b4) <= b2 "/\" (b3 "\/" b4);

:: YELLOW11:th 7
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2, b3, b4 being Element of the carrier of b1 holds
b2 "\/" (b3 "/\" b4) <= (b2 "\/" b3) "/\" (b2 "\/" b4);

:: YELLOW11:th 8
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2, b3, b4 being Element of the carrier of b1
      st b2 <= b4
   holds b2 "\/" (b3 "/\" b4) <= (b2 "\/" b3) "/\" b4;

:: YELLOW11:funcnot 1 => YELLOW11:func 1
definition
  func N_5 -> RelStr equals
    InclPoset {0,3 \ 1,2,3 \ 2,3};
end;

:: YELLOW11:def 1
theorem
N_5 = InclPoset {0,3 \ 1,2,3 \ 2,3};

:: YELLOW11:funcreg 1
registration
  cluster N_5 -> strict reflexive transitive antisymmetric;
end;

:: YELLOW11:funcreg 2
registration
  cluster N_5 -> with_suprema with_infima;
end;

:: YELLOW11:funcnot 2 => YELLOW11:func 2
definition
  func M_3 -> RelStr equals
    InclPoset {0,1,2 \ 1,3 \ 2,3};
end;

:: YELLOW11:def 2
theorem
M_3 = InclPoset {0,1,2 \ 1,3 \ 2,3};

:: YELLOW11:funcreg 3
registration
  cluster M_3 -> strict reflexive transitive antisymmetric;
end;

:: YELLOW11:funcreg 4
registration
  cluster M_3 -> with_suprema with_infima;
end;

:: YELLOW11:th 9
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr holds
      ex b2 being full meet-inheriting join-inheriting SubRelStr of b1 st
         N_5,b2 are_isomorphic
   iff
      ex b2, b3, b4, b5, b6 being Element of the carrier of b1 st
         b2 <> b3 & b2 <> b4 & b2 <> b5 & b2 <> b6 & b3 <> b4 & b3 <> b5 & b3 <> b6 & b4 <> b5 & b4 <> b6 & b5 <> b6 & b2 "/\" b3 = b2 & b2 "/\" b4 = b2 & b4 "/\" b6 = b4 & b5 "/\" b6 = b5 & b3 "/\" b4 = b2 & b3 "/\" b5 = b3 & b4 "/\" b5 = b2 & b3 "\/" b4 = b6 & b4 "\/" b5 = b6;

:: YELLOW11:th 10
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr holds
      ex b2 being full meet-inheriting join-inheriting SubRelStr of b1 st
         M_3,b2 are_isomorphic
   iff
      ex b2, b3, b4, b5, b6 being Element of the carrier of b1 st
         b2 <> b3 & b2 <> b4 & b2 <> b5 & b2 <> b6 & b3 <> b4 & b3 <> b5 & b3 <> b6 & b4 <> b5 & b4 <> b6 & b5 <> b6 & b2 "/\" b3 = b2 & b2 "/\" b4 = b2 & b2 "/\" b5 = b2 & b3 "/\" b6 = b3 & b4 "/\" b6 = b4 & b5 "/\" b6 = b5 & b3 "/\" b4 = b2 & b3 "/\" b5 = b2 & b4 "/\" b5 = b2 & b3 "\/" b4 = b6 & b3 "\/" b5 = b6 & b4 "\/" b5 = b6;

:: YELLOW11:attrnot 1 => YELLOW11:attr 1
definition
  let a1 be non empty RelStr;
  attr a1 is modular means
    for b1, b2, b3 being Element of the carrier of a1
          st b1 <= b3
       holds b1 "\/" (b2 "/\" b3) = (b1 "\/" b2) "/\" b3;
end;

:: YELLOW11:dfs 3
definiens
  let a1 be non empty RelStr;
To prove
     a1 is modular
it is sufficient to prove
  thus for b1, b2, b3 being Element of the carrier of a1
          st b1 <= b3
       holds b1 "\/" (b2 "/\" b3) = (b1 "\/" b2) "/\" b3;

:: YELLOW11:def 3
theorem
for b1 being non empty RelStr holds
      b1 is modular
   iff
      for b2, b3, b4 being Element of the carrier of b1
            st b2 <= b4
         holds b2 "\/" (b3 "/\" b4) = (b2 "\/" b3) "/\" b4;

:: YELLOW11:condreg 1
registration
  cluster non empty reflexive antisymmetric with_infima distributive -> modular (RelStr);
end;

:: YELLOW11:th 11
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr holds
      b1 is modular
   iff
      for b2 being full meet-inheriting join-inheriting SubRelStr of b1 holds
         not N_5,b2 are_isomorphic;

:: YELLOW11:th 12
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
      st b1 is modular
   holds    b1 is distributive
   iff
      for b2 being full meet-inheriting join-inheriting SubRelStr of b1 holds
         not M_3,b2 are_isomorphic;

:: YELLOW11:funcnot 3 => YELLOW11:func 3
definition
  let a1 be non empty RelStr;
  let a2, a3 be Element of the carrier of a1;
  func [#A2,A3#] -> Element of bool the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
          b1 in it
       iff
          a2 <= b1 & b1 <= a3;
end;

:: YELLOW11:def 4
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of bool the carrier of b1 holds
      b4 = [#b2,b3#]
   iff
      for b5 being Element of the carrier of b1 holds
            b5 in b4
         iff
            b2 <= b5 & b5 <= b3;

:: YELLOW11:attrnot 2 => YELLOW11:attr 2
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  attr a2 is interval means
    ex b1, b2 being Element of the carrier of a1 st
       a2 = [#b1,b2#];
end;

:: YELLOW11:dfs 5
definiens
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is interval
it is sufficient to prove
  thus ex b1, b2 being Element of the carrier of a1 st
       a2 = [#b1,b2#];

:: YELLOW11:def 5
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is interval(b1)
   iff
      ex b3, b4 being Element of the carrier of b1 st
         b2 = [#b3,b4#];

:: YELLOW11:condreg 2
registration
  let a1 be non empty reflexive transitive RelStr;
  cluster non empty interval -> directed (Element of bool the carrier of a1);
end;

:: YELLOW11:condreg 3
registration
  let a1 be non empty reflexive transitive RelStr;
  cluster non empty interval -> filtered (Element of bool the carrier of a1);
end;

:: YELLOW11:funcreg 5
registration
  let a1 be non empty RelStr;
  let a2, a3 be Element of the carrier of a1;
  cluster [#a2,a3#] -> interval;
end;

:: YELLOW11:th 13
theorem
for b1 being non empty reflexive transitive RelStr
for b2, b3 being Element of the carrier of b1 holds
[#b2,b3#] = (uparrow b2) /\ downarrow b3;

:: YELLOW11:funcreg 6
registration
  let a1 be reflexive transitive antisymmetric with_infima RelStr;
  let a2, a3 be Element of the carrier of a1;
  cluster subrelstr [#a2,a3#] -> strict full meet-inheriting;
end;

:: YELLOW11:funcreg 7
registration
  let a1 be reflexive transitive antisymmetric with_suprema RelStr;
  let a2, a3 be Element of the carrier of a1;
  cluster subrelstr [#a2,a3#] -> strict full join-inheriting;
end;

:: YELLOW11:th 14
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2, b3 being Element of the carrier of b1
      st b1 is modular
   holds subrelstr [#b3,b2 "\/" b3#],subrelstr [#b2 "/\" b3,b2#] are_isomorphic;

:: YELLOW11:exreg 1
registration
  cluster non empty finite total reflexive transitive antisymmetric with_suprema with_infima RelStr;
end;

:: YELLOW11:condreg 4
registration
  cluster finite reflexive transitive antisymmetric with_infima -> lower-bounded (RelStr);
end;

:: YELLOW11:condreg 5
registration
  cluster finite reflexive transitive antisymmetric with_suprema with_infima -> complete (RelStr);
end;