Article WAYBEL_6, MML version 4.99.1005

:: WAYBEL_6:sch 1
scheme WAYBEL_6:sch 1
{F1 -> non empty RelStr,
  F2 -> Element of bool the carrier of F1(),
  F3 -> non empty Element of bool the carrier of F1()}:
ex b1 being Function-like quasi_total Relation of F2(),F3() st
   for b2 being Element of the carrier of F1()
         st b2 in F2()
      holds ex b3 being Element of the carrier of F1() st
         b3 in F3() & b3 = b1 . b2 & P1[b2, b3]
provided
   for b1 being Element of the carrier of F1()
         st b1 in F2()
      holds ex b2 being Element of the carrier of F1() st
         b2 in F3() & P1[b1, b2];


:: WAYBEL_6:funcnot 1 => WAYBEL_6:func 1
definition
  let a1 be reflexive transitive antisymmetric with_suprema with_infima RelStr;
  let a2 be non empty Element of bool the carrier of a1;
  let a3 be Function-like quasi_total Relation of a2,a2;
  let a4 be Element of NAT;
  redefine func iter(a3,a4) -> Function-like quasi_total Relation of a2,a2;
end;

:: WAYBEL_6:funcnot 2 => WAYBEL_6:func 2
definition
  let a1 be reflexive transitive antisymmetric with_suprema with_infima RelStr;
  let a2, a3 be non empty Element of bool the carrier of a1;
  let a4 be Function-like quasi_total Relation of a2,a3;
  let a5 be Element of a2;
  redefine func a4 . a5 -> Element of the carrier of a1;
end;

:: WAYBEL_6:condreg 1
registration
  let a1 be non empty reflexive transitive antisymmetric RelStr;
  cluster strongly_connected -> directed filtered (Element of bool the carrier of a1);
end;

:: WAYBEL_6:exreg 1
registration
  cluster non empty strict total reflexive transitive antisymmetric lower-bounded distributive with_suprema with_infima continuous RelStr;
end;

:: WAYBEL_6:th 1
theorem
for b1, b2 being reflexive transitive antisymmetric with_infima RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
      b3 is meet-preserving(b1, b2)
   iff
      for b4, b5 being Element of the carrier of b1 holds
      b3 . (b4 "/\" b5) = (b3 . b4) "/\" (b3 . b5);

:: WAYBEL_6:th 2
theorem
for b1, b2 being reflexive transitive antisymmetric with_suprema RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
      b3 is join-preserving(b1, b2)
   iff
      for b4, b5 being Element of the carrier of b1 holds
      b3 . (b4 "\/" b5) = (b3 . b4) "\/" (b3 . b5);

:: WAYBEL_6:th 3
theorem
for b1, b2 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
      st b2 is distributive & b3 is meet-preserving(b1, b2) & b3 is join-preserving(b1, b2) & b3 is one-to-one
   holds b1 is distributive;

:: WAYBEL_6:exreg 2
registration
  let a1, a2 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  cluster Relation-like Function-like quasi_total sups-preserving Relation of the carrier of a1,the carrier of a2;
end;

:: WAYBEL_6:th 4
theorem
for b1, b2 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b3 being Function-like quasi_total sups-preserving Relation of the carrier of b1,the carrier of b2
      st b2 is meet-continuous & b3 is meet-preserving(b1, b2) & b3 is one-to-one
   holds b1 is meet-continuous;

:: WAYBEL_6:attrnot 1 => WAYBEL_6:attr 1
definition
  let a1 be non empty reflexive RelStr;
  let a2 be Element of bool the carrier of a1;
  attr a2 is Open 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 a2 & b2 is_way_below b1;
end;

:: WAYBEL_6:dfs 1
definiens
  let a1 be non empty reflexive RelStr;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is Open
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 a2 & b2 is_way_below b1;

:: WAYBEL_6:def 1
theorem
for b1 being non empty reflexive RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is Open(b1)
   iff
      for b3 being Element of the carrier of b1
            st b3 in b2
         holds ex b4 being Element of the carrier of b1 st
            b4 in b2 & b4 is_way_below b3;

:: WAYBEL_6:th 5
theorem
for b1 being reflexive transitive antisymmetric up-complete with_suprema with_infima RelStr
for b2 being upper Element of bool the carrier of b1 holds
      b2 is Open(b1)
   iff
      for b3 being Element of the carrier of b1
            st b3 in b2
         holds waybelow b3 meets b2;

:: WAYBEL_6:th 6
theorem
for b1 being reflexive transitive antisymmetric up-complete with_suprema with_infima RelStr
for b2 being upper Element of bool the carrier of b1 holds
      b2 is Open(b1)
   iff
      b2 = union {wayabove b3 where b3 is Element of the carrier of b1: b3 in b2};

:: WAYBEL_6:exreg 3
registration
  let a1 be reflexive transitive antisymmetric lower-bounded up-complete with_suprema with_infima RelStr;
  cluster non empty filtered upper Open Element of bool the carrier of a1;
end;

:: WAYBEL_6:th 7
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema with_infima continuous RelStr
for b2 being Element of the carrier of b1 holds
   wayabove b2 is Open(b1);

:: WAYBEL_6:th 8
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema with_infima continuous RelStr
for b2, b3 being Element of the carrier of b1
      st b2 is_way_below b3
   holds ex b4 being non empty filtered upper Open Element of bool the carrier of b1 st
      b3 in b4 & b4 c= wayabove b2;

:: WAYBEL_6:th 9
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2 being upper Open Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 in b2 `
   holds ex b4 being Element of the carrier of b1 st
      b3 <= b4 & b4 is_maximal_in b2 `;

:: WAYBEL_6:attrnot 2 => WAYBEL_6:attr 2
definition
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  attr a2 is meet-irreducible means
    for b1, b2 being Element of the carrier of a1
          st a2 = b1 "/\" b2 & b1 <> a2
       holds b2 = a2;
end;

:: WAYBEL_6:dfs 2
definiens
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
To prove
     a2 is meet-irreducible
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
          st a2 = b1 "/\" b2 & b1 <> a2
       holds b2 = a2;

:: WAYBEL_6:def 2
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1 holds
      b2 is meet-irreducible(b1)
   iff
      for b3, b4 being Element of the carrier of b1
            st b2 = b3 "/\" b4 & b3 <> b2
         holds b4 = b2;

:: WAYBEL_6:attrnot 3 => WAYBEL_6:attr 2
notation
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  synonym irreducible for meet-irreducible;
end;

:: WAYBEL_6:attrnot 4 => WAYBEL_6:attr 3
definition
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  attr a2 is join-irreducible means
    for b1, b2 being Element of the carrier of a1
          st a2 = b1 "\/" b2 & b1 <> a2
       holds b2 = a2;
end;

:: WAYBEL_6:dfs 3
definiens
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
To prove
     a2 is join-irreducible
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
          st a2 = b1 "\/" b2 & b1 <> a2
       holds b2 = a2;

:: WAYBEL_6:def 3
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1 holds
      b2 is join-irreducible(b1)
   iff
      for b3, b4 being Element of the carrier of b1
            st b2 = b3 "\/" b4 & b3 <> b2
         holds b4 = b2;

:: WAYBEL_6:funcnot 3 => WAYBEL_6:func 3
definition
  let a1 be non empty RelStr;
  func IRR A1 -> Element of bool the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
          b1 in it
       iff
          b1 is meet-irreducible(a1);
end;

:: WAYBEL_6:def 4
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 = IRR b1
   iff
      for b3 being Element of the carrier of b1 holds
            b3 in b2
         iff
            b3 is meet-irreducible(b1);

:: WAYBEL_6:th 10
theorem
for b1 being non empty antisymmetric upper-bounded with_infima RelStr holds
   Top b1 is meet-irreducible(b1);

:: WAYBEL_6:exreg 4
registration
  let a1 be non empty antisymmetric upper-bounded with_infima RelStr;
  cluster meet-irreducible Element of the carrier of a1;
end;

:: WAYBEL_6:th 11
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2 being Element of the carrier of b1 holds
      b2 is meet-irreducible(b1)
   iff
      for b3 being non empty finite Element of bool the carrier of b1
            st b2 = "/\"(b3,b1)
         holds b2 in b3;

:: WAYBEL_6:th 12
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2 being Element of the carrier of b1
      st (uparrow b2) \ {b2} is non empty filtered upper Element of bool the carrier of b1
   holds b2 is meet-irreducible(b1);

:: WAYBEL_6:th 13
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2 being Element of the carrier of b1
for b3 being non empty filtered upper Element of bool the carrier of b1
      st b2 is_maximal_in b3 `
   holds b2 is meet-irreducible(b1);

:: WAYBEL_6:th 14
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema with_infima continuous RelStr
for b2, b3 being Element of the carrier of b1
      st not b3 <= b2
   holds ex b4 being Element of the carrier of b1 st
      b4 is meet-irreducible(b1) & b2 <= b4 & not b3 <= b4;

:: WAYBEL_6:attrnot 5 => WAYBEL_6:attr 4
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  attr a2 is order-generating means
    for b1 being Element of the carrier of a1 holds
       ex_inf_of (uparrow b1) /\ a2,a1 & b1 = "/\"((uparrow b1) /\ a2,a1);
end;

:: WAYBEL_6:dfs 5
definiens
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is order-generating
it is sufficient to prove
  thus for b1 being Element of the carrier of a1 holds
       ex_inf_of (uparrow b1) /\ a2,a1 & b1 = "/\"((uparrow b1) /\ a2,a1);

:: WAYBEL_6:def 5
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is order-generating(b1)
   iff
      for b3 being Element of the carrier of b1 holds
         ex_inf_of (uparrow b3) /\ b2,b1 & b3 = "/\"((uparrow b3) /\ b2,b1);

:: WAYBEL_6:th 15
theorem
for b1 being reflexive transitive antisymmetric lower-bounded up-complete with_suprema with_infima RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is order-generating(b1)
   iff
      for b3 being Element of the carrier of b1 holds
         ex b4 being Element of bool b2 st
            b3 = "/\"(b4,b1);

:: WAYBEL_6:th 16
theorem
for b1 being reflexive transitive antisymmetric lower-bounded up-complete with_suprema with_infima RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is order-generating(b1)
   iff
      for b3 being Element of bool the carrier of b1
            st b2 c= b3 &
               (for b4 being Element of bool b3 holds
                  "/\"(b4,b1) in b3)
         holds the carrier of b1 = b3;

:: WAYBEL_6:th 17
theorem
for b1 being reflexive transitive antisymmetric lower-bounded up-complete with_suprema with_infima RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is order-generating(b1)
   iff
      for b3, b4 being Element of the carrier of b1
            st not b4 <= b3
         holds ex b5 being Element of the carrier of b1 st
            b5 in b2 & b3 <= b5 & not b4 <= b5;

:: WAYBEL_6:th 18
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema with_infima continuous RelStr
for b2 being Element of bool the carrier of b1
      st b2 = (IRR b1) \ {Top b1}
   holds b2 is order-generating(b1);

:: WAYBEL_6:th 19
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema with_infima continuous RelStr
for b2, b3 being Element of bool the carrier of b1
      st b2 is order-generating(b1) & b2 c= b3
   holds b3 is order-generating(b1);

:: WAYBEL_6:attrnot 6 => WAYBEL_6:attr 5
definition
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  attr a2 is prime means
    for b1, b2 being Element of the carrier of a1
          st b1 "/\" b2 <= a2 & not b1 <= a2
       holds b2 <= a2;
end;

:: WAYBEL_6:dfs 6
definiens
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
To prove
     a2 is prime
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
          st b1 "/\" b2 <= a2 & not b1 <= a2
       holds b2 <= a2;

:: WAYBEL_6:def 6
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1 holds
      b2 is prime(b1)
   iff
      for b3, b4 being Element of the carrier of b1
            st b3 "/\" b4 <= b2 & not b3 <= b2
         holds b4 <= b2;

:: WAYBEL_6:funcnot 4 => WAYBEL_6:func 4
definition
  let a1 be non empty RelStr;
  func PRIME A1 -> Element of bool the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
          b1 in it
       iff
          b1 is prime(a1);
end;

:: WAYBEL_6:def 7
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 = PRIME b1
   iff
      for b3 being Element of the carrier of b1 holds
            b3 in b2
         iff
            b3 is prime(b1);

:: WAYBEL_6:attrnot 7 => WAYBEL_6:attr 6
definition
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  attr a2 is co-prime means
    a2 ~ is prime(a1 ~);
end;

:: WAYBEL_6:dfs 8
definiens
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
To prove
     a2 is co-prime
it is sufficient to prove
  thus a2 ~ is prime(a1 ~);

:: WAYBEL_6:def 8
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1 holds
      b2 is co-prime(b1)
   iff
      b2 ~ is prime(b1 ~);

:: WAYBEL_6:th 20
theorem
for b1 being non empty antisymmetric upper-bounded RelStr holds
   Top b1 is prime(b1);

:: WAYBEL_6:th 21
theorem
for b1 being non empty antisymmetric lower-bounded RelStr holds
   Bottom b1 is co-prime(b1);

:: WAYBEL_6:exreg 5
registration
  let a1 be non empty antisymmetric upper-bounded RelStr;
  cluster prime Element of the carrier of a1;
end;

:: WAYBEL_6:th 22
theorem
for b1 being reflexive transitive antisymmetric with_infima RelStr
for b2 being Element of the carrier of b1 holds
      b2 is prime(b1)
   iff
      for b3 being non empty finite Element of bool the carrier of b1
            st "/\"(b3,b1) <= b2
         holds ex b4 being Element of the carrier of b1 st
            b4 in b3 & b4 <= b2;

:: WAYBEL_6:th 23
theorem
for b1 being reflexive transitive antisymmetric with_suprema RelStr
for b2 being Element of the carrier of b1 holds
      b2 is co-prime(b1)
   iff
      for b3 being non empty finite Element of bool the carrier of b1
            st b2 <= "\/"(b3,b1)
         holds ex b4 being Element of the carrier of b1 st
            b4 in b3 & b2 <= b4;

:: WAYBEL_6:th 24
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2 being Element of the carrier of b1
      st b2 is prime(b1)
   holds b2 is meet-irreducible(b1);

:: WAYBEL_6:th 25
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima RelStr
for b2 being Element of the carrier of b1 holds
      b2 is prime(b1)
   iff
      for b3 being set
      for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of BoolePoset {b3}
            st for b5 being Element of the carrier of b1 holds
                    b4 . b5 = {}
                 iff
                    b5 <= b2
         holds b4 is meet-preserving(b1, BoolePoset {b3}) & b4 is join-preserving(b1, BoolePoset {b3});

:: WAYBEL_6:th 26
theorem
for b1 being reflexive transitive antisymmetric upper-bounded with_suprema with_infima RelStr
for b2 being Element of the carrier of b1
      st b2 <> Top b1
   holds    b2 is prime(b1)
   iff
      (downarrow b2) ` is non empty filtered upper Element of bool the carrier of b1;

:: WAYBEL_6:th 27
theorem
for b1 being reflexive transitive antisymmetric distributive with_suprema with_infima RelStr
for b2 being Element of the carrier of b1 holds
      b2 is prime(b1)
   iff
      b2 is meet-irreducible(b1);

:: WAYBEL_6:th 28
theorem
for b1 being reflexive transitive antisymmetric distributive with_suprema with_infima RelStr holds
   PRIME b1 = IRR b1;

:: WAYBEL_6:th 29
theorem
for b1 being reflexive transitive antisymmetric Boolean with_suprema with_infima RelStr
for b2 being Element of the carrier of b1
      st b2 <> Top b1
   holds    b2 is prime(b1)
   iff
      for b3 being Element of the carrier of b1
            st b2 < b3
         holds b3 = Top b1;

:: WAYBEL_6:th 30
theorem
for b1 being reflexive transitive antisymmetric lower-bounded distributive with_suprema with_infima continuous RelStr
for b2 being Element of the carrier of b1
      st b2 <> Top b1
   holds    b2 is prime(b1)
   iff
      ex b3 being non empty filtered upper Open Element of bool the carrier of b1 st
         b2 is_maximal_in b3 `;

:: WAYBEL_6:th 31
theorem
for b1 being RelStr
for b2 being Element of bool the carrier of b1 holds
   chi(b2,the carrier of b1) is Function-like quasi_total Relation of the carrier of b1,the carrier of BoolePoset {{}};

:: WAYBEL_6:th 32
theorem
for b1 being non empty RelStr
for b2, b3 being Element of the carrier of b1 holds
   (chi((downarrow b2) `,the carrier of b1)) . b3 = {}
iff
   b3 <= b2;

:: WAYBEL_6:th 33
theorem
for b1 being reflexive transitive antisymmetric upper-bounded with_suprema with_infima RelStr
for b2 being Function-like quasi_total Relation of the carrier of b1,the carrier of BoolePoset {{}}
for b3 being prime Element of the carrier of b1
      st chi((downarrow b3) `,the carrier of b1) = b2
   holds b2 is meet-preserving(b1, BoolePoset {{}}) & b2 is join-preserving(b1, BoolePoset {{}});

:: WAYBEL_6:th 34
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
      st PRIME b1 is order-generating(b1)
   holds b1 is distributive & b1 is meet-continuous;

:: WAYBEL_6:th 35
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema with_infima continuous RelStr holds
      b1 is distributive
   iff
      PRIME b1 is order-generating(b1);

:: WAYBEL_6:th 36
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema with_infima continuous RelStr holds
      b1 is distributive
   iff
      b1 is Heyting;

:: WAYBEL_6:th 37
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete continuous RelStr
   st for b2 being Element of the carrier of b1 holds
        ex b3 being Element of bool the carrier of b1 st
           b2 = "\/"(b3,b1) &
            (for b4 being Element of the carrier of b1
                  st b4 in b3
               holds b4 is co-prime(b1))
for b2 being Element of the carrier of b1 holds
   b2 = "\/"((waybelow b2) /\ PRIME (b1 ~),b1);

:: WAYBEL_6:th 38
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr holds
      b1 is completely-distributive
   iff
      b1 is continuous &
       (for b2 being Element of the carrier of b1 holds
          ex b3 being Element of bool the carrier of b1 st
             b2 = "\/"(b3,b1) &
              (for b4 being Element of the carrier of b1
                    st b4 in b3
                 holds b4 is co-prime(b1)));

:: WAYBEL_6:th 39
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr holds
      b1 is completely-distributive
   iff
      b1 is distributive & b1 is continuous & b1 ~ is continuous;