Article CONNSP_3, MML version 4.99.1005

:: CONNSP_3:funcnot 1 => CONNSP_3:func 1
definition
  let a1 be TopStruct;
  let a2 be Element of bool the carrier of a1;
  func Component_of A2 -> Element of bool the carrier of a1 means
    ex b1 being Element of bool bool the carrier of a1 st
       (for b2 being Element of bool the carrier of a1 holds
              b2 in b1
           iff
              b2 is connected(a1) & a2 c= b2) &
        union b1 = it;
end;

:: CONNSP_3:def 1
theorem
for b1 being TopStruct
for b2, b3 being Element of bool the carrier of b1 holds
   b3 = Component_of b2
iff
   ex b4 being Element of bool bool the carrier of b1 st
      (for b5 being Element of bool the carrier of b1 holds
             b5 in b4
          iff
             b5 is connected(b1) & b2 c= b5) &
       union b4 = b3;

:: CONNSP_3:th 1
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st ex b3 being Element of bool the carrier of b1 st
           b3 is connected(b1) & b2 c= b3
   holds b2 c= Component_of b2;

:: CONNSP_3:th 2
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st for b3 being Element of bool the carrier of b1
              st b3 is connected(b1)
           holds not b2 c= b3
   holds Component_of b2 = {};

:: CONNSP_3:th 3
theorem
for b1 being non empty TopSpace-like TopStruct holds
   Component_of {} b1 = the carrier of b1;

:: CONNSP_3:th 4
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st b2 is connected(b1)
   holds Component_of b2 <> {};

:: CONNSP_3:th 5
theorem
for b1 being TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st b2 is connected(b1) & b2 <> {}
   holds Component_of b2 is connected(b1);

:: CONNSP_3:th 6
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is connected(b1) & b3 is connected(b1) & Component_of b2 c= b3
   holds b3 = Component_of b2;

:: CONNSP_3:th 7
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st b2 is_a_component_of b1
   holds Component_of b2 = b2;

:: CONNSP_3:th 8
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1 holds
      b2 is_a_component_of b1
   iff
      ex b3 being Element of bool the carrier of b1 st
         b3 is connected(b1) & b3 <> {} & b2 = Component_of b3;

:: CONNSP_3:th 9
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st b2 is connected(b1) & b2 <> {}
   holds Component_of b2 is_a_component_of b1;

:: CONNSP_3:th 10
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is_a_component_of b1 & b3 is connected(b1) & b3 c= b2 & b3 <> {}
   holds b2 = Component_of b3;

:: CONNSP_3:th 11
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st b2 is connected(b1) & b2 <> {}
   holds Component_of Component_of b2 = Component_of b2;

:: CONNSP_3:th 12
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is connected(b1) & b3 is connected(b1) & b2 <> {} & b2 c= b3
   holds Component_of b2 = Component_of b3;

:: CONNSP_3:th 13
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is connected(b1) & b3 is connected(b1) & b2 <> {} & b2 c= b3
   holds b3 c= Component_of b2;

:: CONNSP_3:th 14
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is connected(b1) & b2 \/ b3 is connected(b1) & b2 <> {}
   holds b2 \/ b3 c= Component_of b2;

:: CONNSP_3:th 15
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b2 is connected(b1) & b3 in b2
   holds Component_of b3 = Component_of b2;

:: CONNSP_3:th 16
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is connected(b1) & b3 is connected(b1) & b2 meets b3
   holds b2 \/ b3 c= Component_of b2 & b2 \/ b3 c= Component_of b3 & b2 c= Component_of b3 & b3 c= Component_of b2;

:: CONNSP_3:th 17
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st b2 is connected(b1) & b2 <> {}
   holds Cl b2 c= Component_of b2;

:: CONNSP_3:th 18
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is_a_component_of b1 & b3 is connected(b1) & b3 <> {} & b2 misses b3
   holds b2 misses Component_of b3;

:: CONNSP_3:modenot 1 => CONNSP_3:mode 1
definition
  let a1 be TopStruct;
  mode a_union_of_components of A1 -> Element of bool the carrier of a1 means
    ex b1 being Element of bool bool the carrier of a1 st
       (for b2 being Element of bool the carrier of a1
              st b2 in b1
           holds b2 is_a_component_of a1) &
        it = union b1;
end;

:: CONNSP_3:dfs 2
definiens
  let a1 be TopStruct;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is a_union_of_components of a1
it is sufficient to prove
  thus ex b1 being Element of bool bool the carrier of a1 st
       (for b2 being Element of bool the carrier of a1
              st b2 in b1
           holds b2 is_a_component_of a1) &
        a2 = union b1;

:: CONNSP_3:def 2
theorem
for b1 being TopStruct
for b2 being Element of bool the carrier of b1 holds
      b2 is a_union_of_components of b1
   iff
      ex b3 being Element of bool bool the carrier of b1 st
         (for b4 being Element of bool the carrier of b1
                st b4 in b3
             holds b4 is_a_component_of b1) &
          b2 = union b3;

:: CONNSP_3:th 19
theorem
for b1 being non empty TopSpace-like TopStruct holds
   {} b1 is a_union_of_components of b1;

:: CONNSP_3:th 20
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
      st b2 = the carrier of b1
   holds b2 is a_union_of_components of b1;

:: CONNSP_3:th 21
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 in b2 & b2 is a_union_of_components of b1
   holds Component_of b3 c= b2;

:: CONNSP_3:th 22
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is a_union_of_components of b1 & b3 is a_union_of_components of b1
   holds b2 \/ b3 is a_union_of_components of b1 & b2 /\ b3 is a_union_of_components of b1;

:: CONNSP_3:th 23
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st for b3 being Element of bool the carrier of b1
              st b3 in b2
           holds b3 is a_union_of_components of b1
   holds union b2 is a_union_of_components of b1;

:: CONNSP_3:th 24
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool bool the carrier of b1
      st for b3 being Element of bool the carrier of b1
              st b3 in b2
           holds b3 is a_union_of_components of b1
   holds meet b2 is a_union_of_components of b1;

:: CONNSP_3:th 25
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is a_union_of_components of b1 & b3 is a_union_of_components of b1
   holds b2 \ b3 is a_union_of_components of b1;

:: CONNSP_3:funcnot 2 => CONNSP_3:func 2
definition
  let a1 be TopStruct;
  let a2 be Element of bool the carrier of a1;
  let a3 be Element of the carrier of a1;
  assume a3 in a2;
  func Down(A3,A2) -> Element of the carrier of a1 | a2 equals
    a3;
end;

:: CONNSP_3:def 3
theorem
for b1 being TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 in b2
   holds Down(b3,b2) = b3;

:: CONNSP_3:funcnot 3 => CONNSP_3:func 3
definition
  let a1 be TopStruct;
  let a2 be Element of bool the carrier of a1;
  let a3 be Element of the carrier of a1 | a2;
  assume a2 <> {};
  func Up A3 -> Element of the carrier of a1 equals
    a3;
end;

:: CONNSP_3:def 4
theorem
for b1 being TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 | b2
      st b2 <> {}
   holds Up b3 = b3;

:: CONNSP_3:funcnot 4 => CONNSP_3:func 4
definition
  let a1 be TopStruct;
  let a2, a3 be Element of bool the carrier of a1;
  func Down(A2,A3) -> Element of bool the carrier of a1 | a3 equals
    a2 /\ a3;
end;

:: CONNSP_3:def 5
theorem
for b1 being TopStruct
for b2, b3 being Element of bool the carrier of b1 holds
Down(b2,b3) = b2 /\ b3;

:: CONNSP_3:funcnot 5 => CONNSP_3:func 5
definition
  let a1 be TopStruct;
  let a2 be Element of bool the carrier of a1;
  let a3 be Element of bool the carrier of a1 | a2;
  func Up A3 -> Element of bool the carrier of a1 equals
    a3;
end;

:: CONNSP_3:def 6
theorem
for b1 being TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of bool the carrier of b1 | b2 holds
   Up b3 = b3;

:: CONNSP_3:funcnot 6 => CONNSP_3:func 6
definition
  let a1 be TopStruct;
  let a2 be Element of bool the carrier of a1;
  let a3 be Element of the carrier of a1;
  assume a3 in a2;
  func Component_of(A3,A2) -> Element of bool the carrier of a1 means
    for b1 being Element of the carrier of a1 | a2
          st b1 = a3
       holds it = Component_of b1;
end;

:: CONNSP_3:def 7
theorem
for b1 being TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
   st b3 in b2
for b4 being Element of bool the carrier of b1 holds
      b4 = Component_of(b3,b2)
   iff
      for b5 being Element of the carrier of b1 | b2
            st b5 = b3
         holds b4 = Component_of b5;

:: CONNSP_3:th 26
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 in b2
   holds b3 in Component_of(b3,b2);

:: CONNSP_3:th 27
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 in b2
   holds Component_of(b3,b2) = Component_of Down(b3,b2);

:: CONNSP_3:th 29
theorem
for b1 being TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 is open(b1)
   holds Down(b2,b3) is open(b1 | b3);

:: CONNSP_3:th 30
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 c= b3
   holds Cl Down(b2,b3) = (Cl b2) /\ b3;

:: CONNSP_3:th 31
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of bool the carrier of b1 | b2 holds
   Cl b3 = (Cl Up b3) /\ b2;

:: CONNSP_3:th 32
theorem
for b1 being non empty TopSpace-like TopStruct
for b2, b3 being Element of bool the carrier of b1
      st b2 c= b3
   holds Cl Down(b2,b3) c= Cl b2;

:: CONNSP_3:th 33
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of bool the carrier of b1 | b2
      st b3 c= b2
   holds Down(Up b3,b2) = b3;

:: CONNSP_3:th 35
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1
      st b3 in b2
   holds Component_of(b3,b2) is connected(b1);

:: CONNSP_3:exreg 1
registration
  let a1 be non empty TopSpace-like TopStruct;
  cluster non empty a_union_of_components of a1;
end;

:: CONNSP_3:th 36
theorem
for b1 being non empty TopSpace-like TopStruct
for b2 being non empty a_union_of_components of b1
      st b2 is connected(b1)
   holds b2 is_a_component_of b1;