Article YELLOW_4, MML version 4.99.1005

:: YELLOW_4:th 1
theorem
for b1 being RelStr
for b2 being set
for b3 being Element of the carrier of b1
      st b3 in b2 & ex_sup_of b2,b1
   holds b3 <= "\/"(b2,b1);

:: YELLOW_4:th 2
theorem
for b1 being RelStr
for b2 being set
for b3 being Element of the carrier of b1
      st b3 in b2 & ex_inf_of b2,b1
   holds "/\"(b2,b1) <= b3;

:: YELLOW_4:prednot 1 => YELLOW_4:pred 1
definition
  let a1 be RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  pred A2 is_finer_than A3 means
    for b1 being Element of the carrier of a1
          st b1 in a2
       holds ex b2 being Element of the carrier of a1 st
          b2 in a3 & b1 <= b2;
end;

:: YELLOW_4:dfs 1
definiens
  let a1 be RelStr;
  let a2, a3 be Element of bool the carrier of a1;
To prove
     a2 is_finer_than a3
it is sufficient to prove
  thus for b1 being Element of the carrier of a1
          st b1 in a2
       holds ex b2 being Element of the carrier of a1 st
          b2 in a3 & b1 <= b2;

:: YELLOW_4:def 1
theorem
for b1 being RelStr
for b2, b3 being Element of bool the carrier of b1 holds
   b2 is_finer_than b3
iff
   for b4 being Element of the carrier of b1
         st b4 in b2
      holds ex b5 being Element of the carrier of b1 st
         b5 in b3 & b4 <= b5;

:: YELLOW_4:prednot 2 => YELLOW_4:pred 2
definition
  let a1 be RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  pred A3 is_coarser_than A2 means
    for b1 being Element of the carrier of a1
          st b1 in a3
       holds ex b2 being Element of the carrier of a1 st
          b2 in a2 & b2 <= b1;
end;

:: YELLOW_4:dfs 2
definiens
  let a1 be RelStr;
  let a2, a3 be Element of bool the carrier of a1;
To prove
     a3 is_coarser_than a2
it is sufficient to prove
  thus for b1 being Element of the carrier of a1
          st b1 in a3
       holds ex b2 being Element of the carrier of a1 st
          b2 in a2 & b2 <= b1;

:: YELLOW_4:def 2
theorem
for b1 being RelStr
for b2, b3 being Element of bool the carrier of b1 holds
   b3 is_coarser_than b2
iff
   for b4 being Element of the carrier of b1
         st b4 in b3
      holds ex b5 being Element of the carrier of b1 st
         b5 in b2 & b5 <= b4;

:: YELLOW_4:prednot 3 => YELLOW_4:pred 3
definition
  let a1 be non empty reflexive RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  redefine pred a2 is_finer_than a3;
  reflexivity;
::  for a1 being non empty reflexive RelStr
::  for a2 being Element of bool the carrier of a1 holds
::     a2 is_finer_than a2;
end;

:: YELLOW_4:prednot 4 => YELLOW_4:pred 4
definition
  let a1 be non empty reflexive RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  redefine pred a3 is_coarser_than a2;
  reflexivity;
::  for a1 being non empty reflexive RelStr
::  for a2 being Element of bool the carrier of a1 holds
::     a2 is_coarser_than a2;
end;

:: YELLOW_4:th 3
theorem
for b1 being RelStr
for b2 being Element of bool the carrier of b1 holds
   {} b1 is_finer_than b2;

:: YELLOW_4:th 4
theorem
for b1 being transitive RelStr
for b2, b3, b4 being Element of bool the carrier of b1
      st b2 is_finer_than b3 & b3 is_finer_than b4
   holds b2 is_finer_than b4;

:: YELLOW_4:th 5
theorem
for b1 being RelStr
for b2, b3 being Element of bool the carrier of b1
      st b3 is_finer_than b2 & b2 is lower(b1)
   holds b3 c= b2;

:: YELLOW_4:th 6
theorem
for b1 being RelStr
for b2 being Element of bool the carrier of b1 holds
   {} b1 is_coarser_than b2;

:: YELLOW_4:th 7
theorem
for b1 being transitive RelStr
for b2, b3, b4 being Element of bool the carrier of b1
      st b4 is_coarser_than b3 & b3 is_coarser_than b2
   holds b4 is_coarser_than b2;

:: YELLOW_4:th 8
theorem
for b1 being RelStr
for b2, b3 being Element of bool the carrier of b1
      st b2 is_coarser_than b3 & b3 is upper(b1)
   holds b2 c= b3;

:: YELLOW_4:funcnot 1 => YELLOW_4:func 1
definition
  let a1 be non empty RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  func A2 "\/" A3 -> 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 a3};
end;

:: YELLOW_4:def 3
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 "\/" b3 = {b4 "\/" b5 where b4 is Element of the carrier of b1, b5 is Element of the carrier of b1: b4 in b2 & b5 in b3};

:: YELLOW_4:funcnot 2 => YELLOW_4:func 2
definition
  let a1 be antisymmetric with_suprema RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  redefine func a2 "\/" a3 -> Element of bool the carrier of a1;
  commutativity;
::  for a1 being antisymmetric with_suprema RelStr
::  for a2, a3 being Element of bool the carrier of a1 holds
::  a2 "\/" a3 = a3 "\/" a2;
end;

:: YELLOW_4:th 9
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 "\/" {} b1 = {};

:: YELLOW_4:th 10
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
      st b4 in b2 & b5 in b3
   holds b4 "\/" b5 in b2 "\/" b3;

:: YELLOW_4:th 11
theorem
for b1 being antisymmetric with_suprema RelStr
for b2 being Element of bool the carrier of b1
for b3 being non empty Element of bool the carrier of b1 holds
   b2 is_finer_than b2 "\/" b3;

:: YELLOW_4:th 12
theorem
for b1 being antisymmetric with_suprema RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 "\/" b3 is_coarser_than b2;

:: YELLOW_4:th 13
theorem
for b1 being reflexive antisymmetric with_suprema RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 c= b2 "\/" b2;

:: YELLOW_4:th 14
theorem
for b1 being transitive antisymmetric with_suprema RelStr
for b2, b3, b4 being Element of bool the carrier of b1 holds
(b2 "\/" b3) "\/" b4 = b2 "\/" (b3 "\/" b4);

:: YELLOW_4:funcreg 1
registration
  let a1 be non empty RelStr;
  let a2, a3 be non empty Element of bool the carrier of a1;
  cluster a2 "\/" a3 -> non empty;
end;

:: YELLOW_4:funcreg 2
registration
  let a1 be transitive antisymmetric with_suprema RelStr;
  let a2, a3 be directed Element of bool the carrier of a1;
  cluster a2 "\/" a3 -> directed;
end;

:: YELLOW_4:funcreg 3
registration
  let a1 be transitive antisymmetric with_suprema RelStr;
  let a2, a3 be filtered Element of bool the carrier of a1;
  cluster a2 "\/" a3 -> filtered;
end;

:: YELLOW_4:funcreg 4
registration
  let a1 be reflexive transitive antisymmetric with_suprema RelStr;
  let a2, a3 be upper Element of bool the carrier of a1;
  cluster a2 "\/" a3 -> upper;
end;

:: YELLOW_4:th 15
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
   {b3} "\/" b2 = {b3 "\/" b4 where b4 is Element of the carrier of b1: b4 in b2};

:: YELLOW_4:th 16
theorem
for b1 being non empty RelStr
for b2, b3, b4 being Element of bool the carrier of b1 holds
b2 "\/" (b3 \/ b4) = (b2 "\/" b3) \/ (b2 "\/" b4);

:: YELLOW_4:th 17
theorem
for b1 being reflexive antisymmetric with_suprema RelStr
for b2, b3, b4 being Element of bool the carrier of b1 holds
b2 \/ (b3 "\/" b4) c= (b2 \/ b3) "\/" (b2 \/ b4);

:: YELLOW_4:th 18
theorem
for b1 being antisymmetric with_suprema RelStr
for b2 being upper Element of bool the carrier of b1
for b3, b4 being Element of bool the carrier of b1 holds
(b2 \/ b3) "\/" (b2 \/ b4) c= b2 \/ (b3 "\/" b4);

:: YELLOW_4:th 19
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1 holds
{b2} "\/" {b3} = {b2 "\/" b3};

:: YELLOW_4:th 20
theorem
for b1 being non empty RelStr
for b2, b3, b4 being Element of the carrier of b1 holds
{b2} "\/" {b3,b4} = {b2 "\/" b3,b2 "\/" b4};

:: YELLOW_4:th 21
theorem
for b1 being non empty RelStr
for b2, b3, b4, b5 being Element of bool the carrier of b1
      st b2 c= b4 & b3 c= b5
   holds b2 "\/" b3 c= b4 "\/" b5;

:: YELLOW_4:th 22
theorem
for b1 being reflexive antisymmetric with_suprema RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 is_<=_than b2
   holds {b3} "\/" b2 = b2;

:: YELLOW_4:th 23
theorem
for b1 being antisymmetric with_suprema RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
   b3 is_<=_than {b3} "\/" b2;

:: YELLOW_4:th 24
theorem
for b1 being reflexive transitive antisymmetric with_suprema RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st ex_inf_of {b3} "\/" b2,b1 & ex_inf_of b2,b1
   holds b3 "\/" "/\"(b2,b1) <= "/\"({b3} "\/" b2,b1);

:: YELLOW_4:th 25
theorem
for b1 being non empty transitive antisymmetric complete RelStr
for b2 being Element of bool the carrier of b1
for b3 being non empty Element of bool the carrier of b1 holds
   b2 is_<=_than "\/"(b2 "\/" b3,b1);

:: YELLOW_4:th 26
theorem
for b1 being transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being Element of bool the carrier of b1
      st b2 is_<=_than b4 & b3 is_<=_than b5
   holds b2 "\/" b3 is_<=_than b4 "\/" b5;

:: YELLOW_4:th 27
theorem
for b1 being transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being Element of bool the carrier of b1
      st b4 is_<=_than b2 & b5 is_<=_than b3
   holds b4 "\/" b5 is_<=_than b2 "\/" b3;

:: YELLOW_4:th 28
theorem
for b1 being non empty reflexive transitive antisymmetric complete RelStr
for b2, b3 being non empty Element of bool the carrier of b1 holds
"\/"(b2 "\/" b3,b1) = ("\/"(b2,b1)) "\/" "\/"(b3,b1);

:: YELLOW_4:th 29
theorem
for b1 being antisymmetric with_suprema RelStr
for b2 being Element of bool the carrier of b1
for b3 being non empty Element of bool the carrier of b1 holds
   b2 c= downarrow (b2 "\/" b3);

:: YELLOW_4:th 30
theorem
for b1 being reflexive transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of the carrier of InclPoset Ids b1
for b4, b5 being Element of bool the carrier of b1
      st b2 = b4 & b3 = b5
   holds b2 "\/" b3 = downarrow (b4 "\/" b5);

:: YELLOW_4:th 31
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of [:b1,b1:] holds
   union {b3 where b3 is Element of bool the carrier of b1: ex b4 being Element of the carrier of b1 st
      b3 = {b4} "\/" proj2 b2 & b4 in proj1 b2} = (proj1 b2) "\/" proj2 b2;

:: YELLOW_4:th 32
theorem
for b1 being transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of bool the carrier of b1 holds
downarrow ((downarrow b2) "\/" downarrow b3) c= downarrow (b2 "\/" b3);

:: YELLOW_4:th 33
theorem
for b1 being reflexive transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of bool the carrier of b1 holds
downarrow ((downarrow b2) "\/" downarrow b3) = downarrow (b2 "\/" b3);

:: YELLOW_4:th 34
theorem
for b1 being transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of bool the carrier of b1 holds
uparrow ((uparrow b2) "\/" uparrow b3) c= uparrow (b2 "\/" b3);

:: YELLOW_4:th 35
theorem
for b1 being reflexive transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of bool the carrier of b1 holds
uparrow ((uparrow b2) "\/" uparrow b3) = uparrow (b2 "\/" b3);

:: YELLOW_4:funcnot 3 => YELLOW_4:func 3
definition
  let a1 be non empty RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  func A2 "/\" A3 -> 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 a3};
end;

:: YELLOW_4:def 4
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 "/\" b3 = {b4 "/\" b5 where b4 is Element of the carrier of b1, b5 is Element of the carrier of b1: b4 in b2 & b5 in b3};

:: YELLOW_4:funcnot 4 => YELLOW_4:func 4
definition
  let a1 be antisymmetric with_infima RelStr;
  let a2, a3 be Element of bool the carrier of a1;
  redefine func a2 "/\" a3 -> Element of bool the carrier of a1;
  commutativity;
::  for a1 being antisymmetric with_infima RelStr
::  for a2, a3 being Element of bool the carrier of a1 holds
::  a2 "/\" a3 = a3 "/\" a2;
end;

:: YELLOW_4:th 36
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 "/\" {} b1 = {};

:: YELLOW_4:th 37
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
      st b4 in b2 & b5 in b3
   holds b4 "/\" b5 in b2 "/\" b3;

:: YELLOW_4:th 38
theorem
for b1 being antisymmetric with_infima RelStr
for b2 being Element of bool the carrier of b1
for b3 being non empty Element of bool the carrier of b1 holds
   b2 is_coarser_than b2 "/\" b3;

:: YELLOW_4:th 39
theorem
for b1 being antisymmetric with_infima RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 "/\" b3 is_finer_than b2;

:: YELLOW_4:th 40
theorem
for b1 being reflexive antisymmetric with_infima RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 c= b2 "/\" b2;

:: YELLOW_4:th 41
theorem
for b1 being transitive antisymmetric with_infima RelStr
for b2, b3, b4 being Element of bool the carrier of b1 holds
(b2 "/\" b3) "/\" b4 = b2 "/\" (b3 "/\" b4);

:: YELLOW_4:funcreg 5
registration
  let a1 be non empty RelStr;
  let a2, a3 be non empty Element of bool the carrier of a1;
  cluster a2 "/\" a3 -> non empty;
end;

:: YELLOW_4:funcreg 6
registration
  let a1 be transitive antisymmetric with_infima RelStr;
  let a2, a3 be directed Element of bool the carrier of a1;
  cluster a2 "/\" a3 -> directed;
end;

:: YELLOW_4:funcreg 7
registration
  let a1 be transitive antisymmetric with_infima RelStr;
  let a2, a3 be filtered Element of bool the carrier of a1;
  cluster a2 "/\" a3 -> filtered;
end;

:: YELLOW_4:funcreg 8
registration
  let a1 be reflexive transitive antisymmetric with_infima RelStr;
  let a2, a3 be lower Element of bool the carrier of a1;
  cluster a2 "/\" a3 -> lower;
end;

:: YELLOW_4:th 42
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
   {b3} "/\" b2 = {b3 "/\" b4 where b4 is Element of the carrier of b1: b4 in b2};

:: YELLOW_4:th 43
theorem
for b1 being non empty RelStr
for b2, b3, b4 being Element of bool the carrier of b1 holds
b2 "/\" (b3 \/ b4) = (b2 "/\" b3) \/ (b2 "/\" b4);

:: YELLOW_4:th 44
theorem
for b1 being reflexive antisymmetric with_infima RelStr
for b2, b3, b4 being Element of bool the carrier of b1 holds
b2 \/ (b3 "/\" b4) c= (b2 \/ b3) "/\" (b2 \/ b4);

:: YELLOW_4:th 45
theorem
for b1 being antisymmetric with_infima RelStr
for b2 being lower Element of bool the carrier of b1
for b3, b4 being Element of bool the carrier of b1 holds
(b2 \/ b3) "/\" (b2 \/ b4) c= b2 \/ (b3 "/\" b4);

:: YELLOW_4:th 46
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1 holds
{b2} "/\" {b3} = {b2 "/\" b3};

:: YELLOW_4:th 47
theorem
for b1 being non empty RelStr
for b2, b3, b4 being Element of the carrier of b1 holds
{b2} "/\" {b3,b4} = {b2 "/\" b3,b2 "/\" b4};

:: YELLOW_4:th 48
theorem
for b1 being non empty RelStr
for b2, b3, b4, b5 being Element of bool the carrier of b1
      st b2 c= b4 & b3 c= b5
   holds b2 "/\" b3 c= b4 "/\" b5;

:: YELLOW_4:th 49
theorem
for b1 being reflexive antisymmetric with_infima RelStr
for b2, b3 being Element of bool the carrier of b1 holds
b2 /\ b3 c= b2 "/\" b3;

:: YELLOW_4:th 50
theorem
for b1 being reflexive antisymmetric with_infima RelStr
for b2, b3 being lower Element of bool the carrier of b1 holds
b2 "/\" b3 = b2 /\ b3;

:: YELLOW_4:th 51
theorem
for b1 being reflexive antisymmetric with_infima RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b2 is_<=_than b3
   holds {b3} "/\" b2 = b2;

:: YELLOW_4:th 52
theorem
for b1 being antisymmetric with_infima RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
   {b3} "/\" b2 is_<=_than b3;

:: YELLOW_4:th 53
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st ex_sup_of {b3} "/\" b2,b1 & ex_sup_of b2,b1
   holds "\/"({b3} "/\" b2,b1) <= b3 "/\" "\/"(b2,b1);

:: YELLOW_4:th 54
theorem
for b1 being non empty transitive antisymmetric complete RelStr
for b2 being Element of bool the carrier of b1
for b3 being non empty Element of bool the carrier of b1 holds
   "/\"(b2 "/\" b3,b1) is_<=_than b2;

:: YELLOW_4:th 55
theorem
for b1 being transitive antisymmetric with_infima RelStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being Element of bool the carrier of b1
      st b2 is_<=_than b4 & b3 is_<=_than b5
   holds b2 "/\" b3 is_<=_than b4 "/\" b5;

:: YELLOW_4:th 56
theorem
for b1 being transitive antisymmetric with_infima RelStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being Element of bool the carrier of b1
      st b4 is_<=_than b2 & b5 is_<=_than b3
   holds b4 "/\" b5 is_<=_than b2 "/\" b3;

:: YELLOW_4:th 57
theorem
for b1 being non empty reflexive transitive antisymmetric complete RelStr
for b2, b3 being non empty Element of bool the carrier of b1 holds
"/\"(b2 "/\" b3,b1) = ("/\"(b2,b1)) "/\" "/\"(b3,b1);

:: YELLOW_4:th 58
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2, b3 being Element of the carrier of InclPoset Ids b1
for b4, b5 being Element of bool the carrier of b1
      st b2 = b4 & b3 = b5
   holds b2 "/\" b3 = b4 "/\" b5;

:: YELLOW_4:th 59
theorem
for b1 being antisymmetric with_infima RelStr
for b2 being Element of bool the carrier of b1
for b3 being non empty Element of bool the carrier of b1 holds
   b2 c= uparrow (b2 "/\" b3);

:: YELLOW_4:th 60
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of [:b1,b1:] holds
   union {b3 where b3 is Element of bool the carrier of b1: ex b4 being Element of the carrier of b1 st
      b3 = {b4} "/\" proj2 b2 & b4 in proj1 b2} = (proj1 b2) "/\" proj2 b2;

:: YELLOW_4:th 61
theorem
for b1 being transitive antisymmetric with_infima RelStr
for b2, b3 being Element of bool the carrier of b1 holds
downarrow ((downarrow b2) "/\" downarrow b3) c= downarrow (b2 "/\" b3);

:: YELLOW_4:th 62
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2, b3 being Element of bool the carrier of b1 holds
downarrow ((downarrow b2) "/\" downarrow b3) = downarrow (b2 "/\" b3);

:: YELLOW_4:th 63
theorem
for b1 being transitive antisymmetric with_infima RelStr
for b2, b3 being Element of bool the carrier of b1 holds
uparrow ((uparrow b2) "/\" uparrow b3) c= uparrow (b2 "/\" b3);

:: YELLOW_4:th 64
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2, b3 being Element of bool the carrier of b1 holds
uparrow ((uparrow b2) "/\" uparrow b3) = uparrow (b2 "/\" b3);