Article YELLOW_7, MML version 4.99.1005

:: YELLOW_7:funcnot 1 => LATTICE3:func 7
notation
  let a1 be RelStr;
  synonym a1 opp for a1 ~;
end;

:: YELLOW_7:th 1
theorem
for b1 being RelStr
for b2, b3 being Element of the carrier of b1 ~ holds
   b2 <= b3
iff
   ~ b3 <= ~ b2;

:: YELLOW_7:th 2
theorem
for b1 being RelStr
for b2 being Element of the carrier of b1
for b3 being Element of the carrier of b1 ~ holds
   (b2 <= ~ b3 implies b3 <= b2 ~) & (b3 <= b2 ~ implies b2 <= ~ b3) & (~ b3 <= b2 implies b2 ~ <= b3) & (b2 ~ <= b3 implies ~ b3 <= b2);

:: YELLOW_7:th 3
theorem
for b1 being RelStr holds
      b1 is empty
   iff
      b1 ~ is empty;

:: YELLOW_7:th 4
theorem
for b1 being RelStr holds
      b1 is reflexive
   iff
      b1 ~ is reflexive;

:: YELLOW_7:th 5
theorem
for b1 being RelStr holds
      b1 is antisymmetric
   iff
      b1 ~ is antisymmetric;

:: YELLOW_7:th 6
theorem
for b1 being RelStr holds
      b1 is transitive
   iff
      b1 ~ is transitive;

:: YELLOW_7:th 7
theorem
for b1 being non empty RelStr holds
      b1 is connected
   iff
      b1 ~ is connected;

:: YELLOW_7:funcreg 1
registration
  let a1 be reflexive RelStr;
  cluster a1 ~ -> strict reflexive;
end;

:: YELLOW_7:funcreg 2
registration
  let a1 be transitive RelStr;
  cluster a1 ~ -> strict transitive;
end;

:: YELLOW_7:funcreg 3
registration
  let a1 be antisymmetric RelStr;
  cluster a1 ~ -> strict antisymmetric;
end;

:: YELLOW_7:funcreg 4
registration
  let a1 be non empty connected RelStr;
  cluster a1 ~ -> strict connected;
end;

:: YELLOW_7:th 8
theorem
for b1 being RelStr
for b2 being Element of the carrier of b1
for b3 being set holds
   (b2 is_<=_than b3 implies b3 is_<=_than b2 ~) & (b3 is_<=_than b2 ~ implies b2 is_<=_than b3) & (b3 is_<=_than b2 implies b2 ~ is_<=_than b3) & (b2 ~ is_<=_than b3 implies b3 is_<=_than b2);

:: YELLOW_7:th 9
theorem
for b1 being RelStr
for b2 being Element of the carrier of b1 ~
for b3 being set holds
   (b2 is_<=_than b3 implies b3 is_<=_than ~ b2) & (b3 is_<=_than ~ b2 implies b2 is_<=_than b3) & (b3 is_<=_than b2 implies ~ b2 is_<=_than b3) & (~ b2 is_<=_than b3 implies b3 is_<=_than b2);

:: YELLOW_7:th 10
theorem
for b1 being RelStr
for b2 being set holds
      ex_sup_of b2,b1
   iff
      ex_inf_of b2,b1 ~;

:: YELLOW_7:th 11
theorem
for b1 being RelStr
for b2 being set holds
      ex_sup_of b2,b1 ~
   iff
      ex_inf_of b2,b1;

:: YELLOW_7:th 12
theorem
for b1 being non empty RelStr
for b2 being set
      st (ex_sup_of b2,b1 or ex_inf_of b2,b1 ~)
   holds "\/"(b2,b1) = "/\"(b2,b1 ~);

:: YELLOW_7:th 13
theorem
for b1 being non empty RelStr
for b2 being set
      st (ex_inf_of b2,b1 or ex_sup_of b2,b1 ~)
   holds "/\"(b2,b1) = "\/"(b2,b1 ~);

:: YELLOW_7:th 14
theorem
for b1, b2 being RelStr
      st RelStr(#the carrier of b1,the InternalRel of b1#) = RelStr(#the carrier of b2,the InternalRel of b2#) &
         b1 is with_infima
   holds b2 is with_infima;

:: YELLOW_7:th 15
theorem
for b1, b2 being RelStr
      st RelStr(#the carrier of b1,the InternalRel of b1#) = RelStr(#the carrier of b2,the InternalRel of b2#) &
         b1 is with_suprema
   holds b2 is with_suprema;

:: YELLOW_7:th 16
theorem
for b1 being RelStr holds
      b1 is with_infima
   iff
      b1 ~ is with_suprema;

:: YELLOW_7:th 17
theorem
for b1 being non empty RelStr holds
      b1 is complete
   iff
      b1 ~ is complete;

:: YELLOW_7:funcreg 5
registration
  let a1 be with_infima RelStr;
  cluster a1 ~ -> strict with_suprema;
end;

:: YELLOW_7:funcreg 6
registration
  let a1 be with_suprema RelStr;
  cluster a1 ~ -> strict with_infima;
end;

:: YELLOW_7:funcreg 7
registration
  let a1 be non empty complete RelStr;
  cluster a1 ~ -> strict complete;
end;

:: YELLOW_7:th 18
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of bool the carrier of b1 ~
      st b2 = b3
   holds fininfs b2 = finsups b3 & finsups b2 = fininfs b3;

:: YELLOW_7:th 19
theorem
for b1 being RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of bool the carrier of b1 ~
      st b2 = b3
   holds downarrow b2 = uparrow b3 & uparrow b2 = downarrow b3;

:: YELLOW_7:th 20
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1
for b3 being Element of the carrier of b1 ~
      st b2 = b3
   holds downarrow b2 = uparrow b3 & uparrow b2 = downarrow b3;

:: YELLOW_7:th 21
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2, b3 being Element of the carrier of b1 holds
b2 "/\" b3 = b2 ~ "\/" (b3 ~);

:: YELLOW_7:th 22
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2, b3 being Element of the carrier of b1 ~ holds
(~ b2) "/\" ~ b3 = b2 "\/" b3;

:: YELLOW_7:th 23
theorem
for b1 being reflexive transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of the carrier of b1 holds
b2 "\/" b3 = b2 ~ "/\" (b3 ~);

:: YELLOW_7:th 24
theorem
for b1 being reflexive transitive antisymmetric with_suprema RelStr
for b2, b3 being Element of the carrier of b1 ~ holds
(~ b2) "\/" ~ b3 = b2 "/\" b3;

:: YELLOW_7:th 25
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr holds
      b1 is distributive
   iff
      b1 ~ is distributive;

:: YELLOW_7:funcreg 8
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima distributive RelStr;
  cluster a1 ~ -> strict distributive;
end;

:: YELLOW_7:th 26
theorem
for b1 being RelStr
for b2 being set holds
      b2 is directed Element of bool the carrier of b1
   iff
      b2 is filtered Element of bool the carrier of b1 ~;

:: YELLOW_7:th 27
theorem
for b1 being RelStr
for b2 being set holds
      b2 is directed Element of bool the carrier of b1 ~
   iff
      b2 is filtered Element of bool the carrier of b1;

:: YELLOW_7:th 28
theorem
for b1 being RelStr
for b2 being set holds
      b2 is lower Element of bool the carrier of b1
   iff
      b2 is upper Element of bool the carrier of b1 ~;

:: YELLOW_7:th 29
theorem
for b1 being RelStr
for b2 being set holds
      b2 is lower Element of bool the carrier of b1 ~
   iff
      b2 is upper Element of bool the carrier of b1;

:: YELLOW_7:th 30
theorem
for b1 being RelStr holds
      b1 is lower-bounded
   iff
      b1 ~ is upper-bounded;

:: YELLOW_7:th 31
theorem
for b1 being RelStr holds
      b1 ~ is lower-bounded
   iff
      b1 is upper-bounded;

:: YELLOW_7:th 32
theorem
for b1 being RelStr holds
      b1 is bounded
   iff
      b1 ~ is bounded;

:: YELLOW_7:th 33
theorem
for b1 being non empty antisymmetric lower-bounded RelStr holds
   (Bottom b1) ~ = Top (b1 ~) & ~ Top (b1 ~) = Bottom b1;

:: YELLOW_7:th 34
theorem
for b1 being non empty antisymmetric upper-bounded RelStr holds
   (Top b1) ~ = Bottom (b1 ~) & ~ Bottom (b1 ~) = Top b1;

:: YELLOW_7:th 35
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima bounded RelStr
for b2, b3 being Element of the carrier of b1 holds
   b3 is_a_complement_of b2
iff
   b3 ~ is_a_complement_of b2 ~;

:: YELLOW_7:th 36
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima bounded RelStr holds
      b1 is complemented
   iff
      b1 ~ is complemented;

:: YELLOW_7:funcreg 9
registration
  let a1 be lower-bounded RelStr;
  cluster a1 ~ -> strict upper-bounded;
end;

:: YELLOW_7:funcreg 10
registration
  let a1 be upper-bounded RelStr;
  cluster a1 ~ -> strict lower-bounded;
end;

:: YELLOW_7:funcreg 11
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima bounded complemented RelStr;
  cluster a1 ~ -> strict complemented;
end;

:: YELLOW_7:th 37
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima Boolean RelStr
for b2 being Element of the carrier of b1 holds
   'not' (b2 ~) = 'not' b2;

:: YELLOW_7:funcnot 2 => YELLOW_7:func 1
definition
  let a1 be non empty RelStr;
  func ComplMap 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 = 'not' b1;
end;

:: YELLOW_7:def 1
theorem
for b1 being non empty RelStr
for b2 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 ~ holds
      b2 = ComplMap b1
   iff
      for b3 being Element of the carrier of b1 holds
         b2 . b3 = 'not' b3;

:: YELLOW_7:funcreg 12
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima Boolean RelStr;
  cluster ComplMap a1 -> Function-like one-to-one quasi_total;
end;

:: YELLOW_7:funcreg 13
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima Boolean RelStr;
  cluster ComplMap a1 -> Function-like quasi_total isomorphic;
end;

:: YELLOW_7:th 38
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima Boolean RelStr holds
   b1,b1 ~ are_isomorphic;

:: YELLOW_7:th 39
theorem
for b1, b2 being non empty RelStr
for b3 being set holds
   (b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2 implies b3 is Function-like quasi_total Relation of the carrier of b1 ~,the carrier of b2) &
    (b3 is Function-like quasi_total Relation of the carrier of b1 ~,the carrier of b2 implies b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2) &
    (b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2 implies b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2 ~) &
    (b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2 ~ implies b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2) &
    (b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2 implies b3 is Function-like quasi_total Relation of the carrier of b1 ~,the carrier of b2 ~) &
    (b3 is Function-like quasi_total Relation of the carrier of b1 ~,the carrier of b2 ~ implies b3 is Function-like quasi_total Relation of the carrier of b1,the carrier of b2);

:: YELLOW_7:th 40
theorem
for b1, b2 being non empty RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 ~
      st b3 = b4
   holds (b3 is monotone(b1, b2) implies b4 is antitone(b1, b2 ~)) & (b4 is antitone(b1, b2 ~) implies b3 is monotone(b1, b2)) & (b3 is antitone(b1, b2) implies b4 is monotone(b1, b2 ~)) & (b4 is monotone(b1, b2 ~) implies b3 is antitone(b1, b2));

:: YELLOW_7:th 41
theorem
for b1, b2 being non empty RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 ~
for b4 being Function-like quasi_total Relation of the carrier of b1 ~,the carrier of b2
      st b3 = b4
   holds (b3 is monotone(b1, b2 ~) implies b4 is monotone(b1 ~, b2)) &
    (b4 is monotone(b1 ~, b2) implies b3 is monotone(b1, b2 ~)) &
    (b3 is antitone(b1, b2 ~) implies b4 is antitone(b1 ~, b2)) &
    (b4 is antitone(b1 ~, b2) implies b3 is antitone(b1, b2 ~));

:: YELLOW_7:th 42
theorem
for b1, b2 being non empty RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b4 being Function-like quasi_total Relation of the carrier of b1 ~,the carrier of b2 ~
      st b3 = b4
   holds (b3 is monotone(b1, b2) implies b4 is monotone(b1 ~, b2 ~)) &
    (b4 is monotone(b1 ~, b2 ~) implies b3 is monotone(b1, b2)) &
    (b3 is antitone(b1, b2) implies b4 is antitone(b1 ~, b2 ~)) &
    (b4 is antitone(b1 ~, b2 ~) implies b3 is antitone(b1, b2));

:: YELLOW_7:th 43
theorem
for b1, b2 being non empty RelStr
for b3 being set holds
   (b3 is Connection of b1,b2 implies b3 is Connection of b1 ~,b2) &
    (b3 is Connection of b1 ~,b2 implies b3 is Connection of b1,b2) &
    (b3 is Connection of b1,b2 implies b3 is Connection of b1,b2 ~) &
    (b3 is Connection of b1,b2 ~ implies b3 is Connection of b1,b2) &
    (b3 is Connection of b1,b2 implies b3 is Connection of b1 ~,b2 ~) &
    (b3 is Connection of b1 ~,b2 ~ implies b3 is Connection of b1,b2);

:: YELLOW_7:th 44
theorem
for b1, b2 being non empty reflexive transitive antisymmetric RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b1
for b5 being Function-like quasi_total Relation of the carrier of b1 ~,the carrier of b2 ~
for b6 being Function-like quasi_total Relation of the carrier of b2 ~,the carrier of b1 ~
      st b3 = b5 & b4 = b6
   holds    [b3,b4] is Galois(b1, b2)
   iff
      [b6,b5] is Galois(b2 ~, b1 ~);

:: YELLOW_7:th 45
theorem
for b1 being set
for b2 being non empty set
for b3 being ManySortedSet of b1
for b4 being ManySortedFunction of b3,b1 --> b2 holds
   doms b4 = b3;

:: YELLOW_7:funcnot 3 => YELLOW_7:func 2
definition
  let a1, a2 be non empty set;
  let a3 be non-empty ManySortedSet of a1;
  let a4 be ManySortedFunction of a3,a1 --> a2;
  let a5 be Element of a1;
  let a6 be Element of a3 . a5;
  redefine func a4 ..(a5,a6) -> Element of a2;
end;

:: YELLOW_7:th 46
theorem
for b1 being non empty RelStr
for b2 being set
for b3 being ManySortedSet of b2
for b4 being set holds
      b4 is ManySortedFunction of b3,b2 --> the carrier of b1
   iff
      b4 is ManySortedFunction of b3,b2 --> the carrier of b1 ~;

:: YELLOW_7:th 47
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2 being non empty set
for b3 being non-empty ManySortedSet of b2
for b4 being ManySortedFunction of b3,b2 --> the carrier of b1 holds
   \\/(/\\(b4,b1),b1) <= //\(\//(Frege b4,b1),b1);

:: YELLOW_7:th 48
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr holds
      b1 is completely-distributive
   iff
      for b2 being non empty set
      for b3 being non-empty ManySortedSet of b2
      for b4 being ManySortedFunction of b3,b2 --> the carrier of b1 holds
         \\/(/\\(b4,b1),b1) = //\(\//(Frege b4,b1),b1);

:: YELLOW_7:th 49
theorem
for b1 being non empty antisymmetric complete RelStr
for b2 being Relation-like Function-like set holds
   \\/(b2,b1) = //\(b2,b1 ~) & //\(b2,b1) = \\/(b2,b1 ~);

:: YELLOW_7:th 50
theorem
for b1 being non empty antisymmetric complete RelStr
for b2 being Relation-like Function-like Function-yielding set holds
   \//(b2,b1) = /\\(b2,b1 ~) & /\\(b2,b1) = \//(b2,b1 ~);

:: YELLOW_7:condreg 1
registration
  cluster non empty completely-distributive -> complete (RelStr);
end;

:: YELLOW_7:exreg 1
registration
  cluster non empty trivial strict reflexive transitive antisymmetric completely-distributive RelStr;
end;

:: YELLOW_7:th 51
theorem
for b1 being non empty reflexive transitive antisymmetric RelStr holds
      b1 is completely-distributive
   iff
      b1 ~ is completely-distributive;