Article WAYBEL10, MML version 4.99.1005

:: WAYBEL10:sch 1
scheme WAYBEL10:sch 1
{F1 -> non empty RelStr,
  F2 -> set}:
ex b1 being non empty strict full SubRelStr of F1() st
   for b2 being Element of the carrier of F1() holds
         b2 is Element of the carrier of b1
      iff
         P1[b2]
provided
   P1[F2()]
and
   F2() in the carrier of F1();


:: WAYBEL10:sch 2
scheme WAYBEL10:sch 2
{F1 -> non empty RelStr,
  F2 -> non empty RelStr}:
RelStr(#the carrier of F1(),the InternalRel of F1()#) = RelStr(#the carrier of F2(),the InternalRel of F2()#)
provided
   for b1 being set holds
         b1 is Element of the carrier of F1()
      iff
         P1[b1]
and
   for b1 being set holds
         b1 is Element of the carrier of F2()
      iff
         P1[b1]
and
   for b1, b2 being Element of the carrier of F1() holds
      b1 <= b2
   iff
      P2[b1, b2]
and
   for b1, b2 being Element of the carrier of F2() holds
      b1 <= b2
   iff
      P2[b1, b2];


:: WAYBEL10:sch 3
scheme WAYBEL10:sch 3
{F1 -> non empty RelStr,
  F2 -> non empty full SubRelStr of F1(),
  F3 -> non empty full SubRelStr of F1()}:
RelStr(#the carrier of F2(),the InternalRel of F2()#) = RelStr(#the carrier of F3(),the InternalRel of F3()#)
provided
   for b1 being set holds
         b1 is Element of the carrier of F2()
      iff
         P1[b1]
and
   for b1 being set holds
         b1 is Element of the carrier of F3()
      iff
         P1[b1];


:: WAYBEL10:sch 4
scheme WAYBEL10:sch 4
{F1 -> non empty RelStr,
  F2 -> non empty full SubRelStr of F1(),
  F3 -> non empty full SubRelStr of F1()}:
RelStr(#the carrier of F2(),the InternalRel of F2()#) = RelStr(#the carrier of F3(),the InternalRel of F3()#)
provided
   for b1 being Element of the carrier of F1() holds
         b1 is Element of the carrier of F2()
      iff
         P1[b1]
and
   for b1 being Element of the carrier of F1() holds
         b1 is Element of the carrier of F3()
      iff
         P1[b1];


:: WAYBEL10:th 1
theorem
for b1, b2 being Relation-like set holds
(b1 c= b2 implies b1 ~ c= b2 ~) & (b1 ~ c= b2 ~ implies b1 c= b2) & (b1 ~ c= b2 implies b1 c= b2 ~) & (b1 c= b2 ~ implies b1 ~ c= b2);

:: WAYBEL10:th 3
theorem
for b1, b2 being RelStr holds
(b2 is SubRelStr of b1 implies b2 ~ is SubRelStr of b1 ~) & (b2 ~ is SubRelStr of b1 ~ implies b2 is SubRelStr of b1) & (b2 ~ is SubRelStr of b1 implies b2 is SubRelStr of b1 ~) & (b2 is SubRelStr of b1 ~ implies b2 ~ is SubRelStr of b1);

:: WAYBEL10:th 4
theorem
for b1, b2 being RelStr holds
(b2 is full SubRelStr of b1 implies b2 ~ is full SubRelStr of b1 ~) &
 (b2 ~ is full SubRelStr of b1 ~ implies b2 is full SubRelStr of b1) &
 (b2 ~ is full SubRelStr of b1 implies b2 is full SubRelStr of b1 ~) &
 (b2 is full SubRelStr of b1 ~ implies b2 ~ is full SubRelStr of b1);

:: WAYBEL10:funcnot 1 => WAYBEL10:func 1
definition
  let a1 be RelStr;
  let a2 be full SubRelStr of a1;
  redefine func a2 opp -> strict full SubRelStr of a1 ~;
end;

:: WAYBEL10:funcreg 1
registration
  let a1 be set;
  let a2 be non empty RelStr;
  cluster a1 --> a2 -> non-Empty;
end;

:: WAYBEL10:exreg 1
registration
  let a1 be RelStr;
  let a2 be non empty reflexive RelStr;
  cluster Relation-like Function-like total quasi_total monotone Relation of the carrier of a1,the carrier of a2;
end;

:: WAYBEL10:condreg 1
registration
  let a1 be non empty RelStr;
  cluster Function-like quasi_total projection -> idempotent monotone (Relation of the carrier of a1,the carrier of a1);
end;

:: WAYBEL10:funcreg 2
registration
  let a1, a2 be non empty reflexive RelStr;
  let a3 be Function-like quasi_total monotone Relation of the carrier of a1,the carrier of a2;
  cluster corestr a3 -> Function-like quasi_total monotone;
end;

:: WAYBEL10:funcreg 3
registration
  let a1 be non empty reflexive RelStr;
  cluster id a1 -> Function-like quasi_total infs-preserving sups-preserving;
end;

:: WAYBEL10:th 5
theorem
for b1 being RelStr
for b2 being Element of bool the carrier of b1 holds
   id b2 is Function-like quasi_total Relation of the carrier of subrelstr b2,the carrier of b1 &
    (for b3 being Function-like quasi_total Relation of the carrier of subrelstr b2,the carrier of b1
          st b3 = id b2
       holds b3 is monotone(subrelstr b2, b1));

:: WAYBEL10:exreg 2
registration
  let a1 be non empty reflexive RelStr;
  cluster Relation-like Function-like one-to-one non empty total quasi_total infs-preserving sups-preserving closure kernel Relation of the carrier of a1,the carrier of a1;
end;

:: WAYBEL10:th 6
theorem
for b1 being non empty reflexive RelStr
for b2 being Function-like quasi_total closure Relation of the carrier of b1,the carrier of b1
for b3 being Element of the carrier of b1 holds
   b3 <= b2 . b3;

:: WAYBEL10:funcnot 2 => WAYBEL10:func 2
definition
  let a1, a2 be 1-sorted;
  let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
  let a4 be 1-sorted;
  assume the carrier of a4 c= the carrier of a1;
  func A3 | A4 -> Function-like quasi_total Relation of the carrier of a4,the carrier of a2 equals
    a3 | the carrier of a4;
end;

:: WAYBEL10:def 1
theorem
for b1, b2 being 1-sorted
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b4 being 1-sorted
      st the carrier of b4 c= the carrier of b1
   holds b3 | b4 = b3 | the carrier of b4;

:: WAYBEL10:th 7
theorem
for b1, b2 being RelStr
for b3 being SubRelStr of b1
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
   b4 | b3 = b4 | the carrier of b3 &
    (for b5 being set
          st b5 in the carrier of b3
       holds (b4 | b3) . b5 = b4 . b5);

:: WAYBEL10:th 8
theorem
for b1, b2 being RelStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
   st b3 is one-to-one
for b4 being SubRelStr of b1 holds
   b3 | b4 is one-to-one;

:: WAYBEL10:funcreg 4
registration
  let a1, a2 be non empty reflexive RelStr;
  let a3 be Function-like quasi_total monotone Relation of the carrier of a1,the carrier of a2;
  let a4 be SubRelStr of a1;
  cluster a3 | a4 -> Function-like quasi_total monotone;
end;

:: WAYBEL10:th 9
theorem
for b1, b2 being non empty RelStr
for b3 being non empty SubRelStr of b1
for b4 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b1
      st b4 is one-to-one & b5 = b4 "
   holds b5 | Image (b4 | b3) is Function-like quasi_total Relation of the carrier of Image (b4 | b3),the carrier of b3 &
    b5 | Image (b4 | b3) = (b4 | b3) ";

:: WAYBEL10:funcreg 5
registration
  let a1 be RelStr;
  let a2 be non empty reflexive RelStr;
  cluster MonMaps(a1,a2) -> non empty strict full;
end;

:: WAYBEL10:th 10
theorem
for b1 being RelStr
for b2 being non empty reflexive RelStr
for b3 being set holds
      b3 is Element of the carrier of MonMaps(b1,b2)
   iff
      b3 is Function-like quasi_total monotone Relation of the carrier of b1,the carrier of b2;

:: WAYBEL10:funcnot 3 => WAYBEL10:func 3
definition
  let a1 be non empty reflexive RelStr;
  func ClOpers A1 -> non empty strict full SubRelStr of MonMaps(a1,a1) means
    for b1 being Function-like quasi_total Relation of the carrier of a1,the carrier of a1 holds
          b1 is Element of the carrier of it
       iff
          b1 is closure(a1);
end;

:: WAYBEL10:def 2
theorem
for b1 being non empty reflexive RelStr
for b2 being non empty strict full SubRelStr of MonMaps(b1,b1) holds
      b2 = ClOpers b1
   iff
      for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
            b3 is Element of the carrier of b2
         iff
            b3 is closure(b1);

:: WAYBEL10:th 11
theorem
for b1 being non empty reflexive RelStr
for b2 being set holds
      b2 is Element of the carrier of ClOpers b1
   iff
      b2 is Function-like quasi_total closure Relation of the carrier of b1,the carrier of b1;

:: WAYBEL10:th 12
theorem
for b1 being set
for b2 being non empty RelStr
for b3, b4 being Function-like quasi_total Relation of b1,the carrier of b2
for b5, b6 being Element of the carrier of b2 |^ b1
      st b5 = b3 & b6 = b4
   holds    b5 <= b6
   iff
      b3 <= b4;

:: WAYBEL10:th 13
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2, b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1
for b4, b5 being Element of the carrier of ClOpers b1
      st b4 = b2 & b5 = b3
   holds    b4 <= b5
   iff
      b2 <= b3;

:: WAYBEL10:th 14
theorem
for b1 being reflexive RelStr
for b2, b3 being full SubRelStr of b1
      st the carrier of b2 c= the carrier of b3
   holds b2 is SubRelStr of b3;

:: WAYBEL10:th 15
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2, b3 being Function-like quasi_total closure Relation of the carrier of b1,the carrier of b1 holds
   b2 <= b3
iff
   Image b3 is SubRelStr of Image b2;

:: WAYBEL10:funcnot 4 => WAYBEL10:func 4
definition
  let a1 be RelStr;
  func Sub A1 -> non empty strict RelStr means
    (for b1 being set holds
           b1 is Element of the carrier of it
        iff
           b1 is strict SubRelStr of a1) &
     (for b1, b2 being Element of the carrier of it holds
        b1 <= b2
     iff
        ex b3 being RelStr st
           b2 = b3 & b1 is SubRelStr of b3);
end;

:: WAYBEL10:def 3
theorem
for b1 being RelStr
for b2 being non empty strict RelStr holds
      b2 = Sub b1
   iff
      (for b3 being set holds
             b3 is Element of the carrier of b2
          iff
             b3 is strict SubRelStr of b1) &
       (for b3, b4 being Element of the carrier of b2 holds
          b3 <= b4
       iff
          ex b5 being RelStr st
             b4 = b5 & b3 is SubRelStr of b5);

:: WAYBEL10:th 16
theorem
for b1, b2 being RelStr
for b3, b4 being Element of the carrier of Sub b1
      st b4 = b2
   holds    b3 <= b4
   iff
      b3 is SubRelStr of b2;

:: WAYBEL10:funcreg 6
registration
  let a1 be RelStr;
  cluster Sub a1 -> non empty strict reflexive transitive antisymmetric;
end;

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

:: WAYBEL10:condreg 2
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  cluster infs-inheriting -> non empty (SubRelStr of a1);
end;

:: WAYBEL10:condreg 3
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  cluster sups-inheriting -> non empty (SubRelStr of a1);
end;

:: WAYBEL10:modenot 1
definition
  let a1 be RelStr;
  mode System of a1 is full SubRelStr of a1;
end;

:: WAYBEL10:attrnot 1 => YELLOW_0:attr 7
notation
  let a1 be non empty RelStr;
  let a2 be full SubRelStr of a1;
  synonym closure for infs-inheriting;
end;

:: WAYBEL10:funcreg 8
registration
  let a1 be non empty RelStr;
  cluster subrelstr [#] a1 -> strict full infs-inheriting sups-inheriting;
end;

:: WAYBEL10:funcnot 5 => WAYBEL10:func 5
definition
  let a1 be non empty RelStr;
  func ClosureSystems A1 -> non empty strict full SubRelStr of Sub a1 means
    for b1 being strict SubRelStr of a1 holds
          b1 is Element of the carrier of it
       iff
          b1 is infs-inheriting(a1) & b1 is full(a1);
end;

:: WAYBEL10:def 4
theorem
for b1 being non empty RelStr
for b2 being non empty strict full SubRelStr of Sub b1 holds
      b2 = ClosureSystems b1
   iff
      for b3 being strict SubRelStr of b1 holds
            b3 is Element of the carrier of b2
         iff
            b3 is infs-inheriting(b1) & b3 is full(b1);

:: WAYBEL10:th 17
theorem
for b1 being non empty RelStr
for b2 being set holds
      b2 is Element of the carrier of ClosureSystems b1
   iff
      b2 is strict full infs-inheriting SubRelStr of b1;

:: WAYBEL10:th 18
theorem
for b1 being non empty RelStr
for b2 being RelStr
for b3, b4 being Element of the carrier of ClosureSystems b1
      st b4 = b2
   holds    b3 <= b4
   iff
      b3 is SubRelStr of b2;

:: WAYBEL10:funcreg 9
registration
  let a1 be non empty reflexive transitive antisymmetric RelStr;
  let a2 be Function-like quasi_total closure Relation of the carrier of a1,the carrier of a1;
  cluster Image a2 -> strict full infs-inheriting;
end;

:: WAYBEL10:funcnot 6 => WAYBEL10:func 6
definition
  let a1 be non empty reflexive transitive antisymmetric RelStr;
  func ClImageMap A1 -> Function-like quasi_total Relation of the carrier of ClOpers a1,the carrier of (ClosureSystems a1) opp means
    for b1 being Function-like quasi_total closure Relation of the carrier of a1,the carrier of a1 holds
       it . b1 = Image b1;
end;

:: WAYBEL10:def 5
theorem
for b1 being non empty reflexive transitive antisymmetric RelStr
for b2 being Function-like quasi_total Relation of the carrier of ClOpers b1,the carrier of (ClosureSystems b1) opp holds
      b2 = ClImageMap b1
   iff
      for b3 being Function-like quasi_total closure Relation of the carrier of b1,the carrier of b1 holds
         b2 . b3 = Image b3;

:: WAYBEL10:funcnot 7 => WAYBEL10:func 7
definition
  let a1 be non empty RelStr;
  let a2 be SubRelStr of a1;
  func closure_op A2 -> 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 = "/\"((uparrow b1) /\ the carrier of a2,a1);
end;

:: WAYBEL10:def 6
theorem
for b1 being non empty RelStr
for b2 being SubRelStr of b1
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
      b3 = closure_op b2
   iff
      for b4 being Element of the carrier of b1 holds
         b3 . b4 = "/\"((uparrow b4) /\ the carrier of b2,b1);

:: WAYBEL10:funcreg 10
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  let a2 be full infs-inheriting SubRelStr of a1;
  cluster closure_op a2 -> Function-like quasi_total closure;
end;

:: WAYBEL10:th 19
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2 being full infs-inheriting SubRelStr of b1 holds
   Image closure_op b2 = RelStr(#the carrier of b2,the InternalRel of b2#);

:: WAYBEL10:th 20
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2 being Function-like quasi_total closure Relation of the carrier of b1,the carrier of b1 holds
   closure_op Image b2 = b2;

:: WAYBEL10:funcreg 11
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  cluster ClImageMap a1 -> Function-like one-to-one quasi_total;
end;

:: WAYBEL10:th 21
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr holds
   (ClImageMap b1) " is Function-like quasi_total Relation of the carrier of (ClosureSystems b1) opp,the carrier of ClOpers b1;

:: WAYBEL10:th 22
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2 being strict full infs-inheriting SubRelStr of b1 holds
   (ClImageMap b1) " . b2 = closure_op b2;

:: WAYBEL10:funcreg 12
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  cluster ClImageMap a1 -> Function-like quasi_total isomorphic;
end;

:: WAYBEL10:th 23
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr holds
   ClOpers b1,(ClosureSystems b1) opp are_isomorphic;

:: WAYBEL10:th 24
theorem
for b1 being RelStr
for b2 being full SubRelStr of b1
for b3 being Element of bool the carrier of b2 holds
   (b3 is directed Element of bool the carrier of b1 implies b3 is directed(b2)) &
    (b3 is filtered Element of bool the carrier of b1 implies b3 is filtered(b2));

:: WAYBEL10:th 25
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2 being full infs-inheriting SubRelStr of b1 holds
      closure_op b2 is directed-sups-preserving(b1, b1)
   iff
      b2 is directed-sups-inheriting(b1);

:: WAYBEL10:th 26
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr
for b2 being Function-like quasi_total closure Relation of the carrier of b1,the carrier of b1 holds
      b2 is directed-sups-preserving(b1, b1)
   iff
      Image b2 is directed-sups-inheriting(b1);

:: WAYBEL10:funcreg 13
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  let a2 be full infs-inheriting directed-sups-inheriting SubRelStr of a1;
  cluster closure_op a2 -> Function-like quasi_total directed-sups-preserving;
end;

:: WAYBEL10:funcreg 14
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  let a2 be Function-like quasi_total directed-sups-preserving closure Relation of the carrier of a1,the carrier of a1;
  cluster Image a2 -> strict full directed-sups-inheriting;
end;

:: WAYBEL10:funcnot 8 => WAYBEL10:func 8
definition
  let a1 be non empty reflexive RelStr;
  func DsupClOpers A1 -> non empty strict full SubRelStr of ClOpers a1 means
    for b1 being Function-like quasi_total closure Relation of the carrier of a1,the carrier of a1 holds
          b1 is Element of the carrier of it
       iff
          b1 is directed-sups-preserving(a1, a1);
end;

:: WAYBEL10:def 7
theorem
for b1 being non empty reflexive RelStr
for b2 being non empty strict full SubRelStr of ClOpers b1 holds
      b2 = DsupClOpers b1
   iff
      for b3 being Function-like quasi_total closure Relation of the carrier of b1,the carrier of b1 holds
            b3 is Element of the carrier of b2
         iff
            b3 is directed-sups-preserving(b1, b1);

:: WAYBEL10:th 27
theorem
for b1 being non empty reflexive RelStr
for b2 being set holds
      b2 is Element of the carrier of DsupClOpers b1
   iff
      b2 is Function-like quasi_total directed-sups-preserving closure Relation of the carrier of b1,the carrier of b1;

:: WAYBEL10:funcnot 9 => WAYBEL10:func 9
definition
  let a1 be non empty RelStr;
  func Subalgebras A1 -> non empty strict full SubRelStr of ClosureSystems a1 means
    for b1 being strict full infs-inheriting SubRelStr of a1 holds
          b1 is Element of the carrier of it
       iff
          b1 is directed-sups-inheriting(a1);
end;

:: WAYBEL10:def 8
theorem
for b1 being non empty RelStr
for b2 being non empty strict full SubRelStr of ClosureSystems b1 holds
      b2 = Subalgebras b1
   iff
      for b3 being strict full infs-inheriting SubRelStr of b1 holds
            b3 is Element of the carrier of b2
         iff
            b3 is directed-sups-inheriting(b1);

:: WAYBEL10:th 28
theorem
for b1 being non empty RelStr
for b2 being set holds
      b2 is Element of the carrier of Subalgebras b1
   iff
      b2 is strict full infs-inheriting directed-sups-inheriting SubRelStr of b1;

:: WAYBEL10:th 29
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr holds
   Image ((ClImageMap b1) | DsupClOpers b1) = (Subalgebras b1) opp;

:: WAYBEL10:funcreg 15
registration
  let a1 be reflexive transitive antisymmetric with_suprema with_infima complete RelStr;
  cluster corestr ((ClImageMap a1) | DsupClOpers a1) -> Function-like quasi_total isomorphic;
end;

:: WAYBEL10:th 30
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete RelStr holds
   DsupClOpers b1,(Subalgebras b1) opp are_isomorphic;