Article FINTOPO6, MML version 4.99.1005

:: FINTOPO6:funcreg 1
registration
  let a1 be non empty RelStr;
  cluster {} a1 -> connected;
end;

:: FINTOPO6:th 1
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1 holds
(b2 \/ b3) ^b = b2 ^b \/ (b3 ^b);

:: FINTOPO6:th 2
theorem
for b1 being non empty RelStr holds
   ({} b1) ^b = {};

:: FINTOPO6:funcreg 2
registration
  let a1 be non empty RelStr;
  cluster ({} a1) ^b -> empty;
end;

:: FINTOPO6:th 3
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st for b3, b4 being Element of bool the carrier of b1
              st b2 = b3 \/ b4 & b3 <> {} & b4 <> {} & b3 misses b4
           holds b3 ^b meets b4 & b3 meets b4 ^b
   holds b2 is connected(b1);

:: FINTOPO6:attrnot 1 => FINTOPO6:attr 1
definition
  let a1 be non empty RelStr;
  attr a1 is connected means
    [#] a1 is connected(a1);
end;

:: FINTOPO6:dfs 1
definiens
  let a1 be non empty RelStr;
To prove
     a1 is connected
it is sufficient to prove
  thus [#] a1 is connected(a1);

:: FINTOPO6:def 1
theorem
for b1 being non empty RelStr holds
      b1 is connected
   iff
      [#] b1 is connected(b1);

:: FINTOPO6:th 4
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b2 is connected(b1)
for b3, b4 being Element of bool the carrier of b1
      st b2 = b3 \/ b4 & b3 misses b4 & b3,b4 are_separated & b3 <> {} b1
   holds b4 = {} b1;

:: FINTOPO6:th 5
theorem
for b1 being non empty RelStr
   st b1 is connected
for b2, b3 being Element of bool the carrier of b1
      st [#] b1 = b2 \/ b3 & b2 misses b3 & b2,b3 are_separated & b2 <> {} b1
   holds b3 = {} b1;

:: FINTOPO6:th 6
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b1 is symmetric & b2 ^b misses b3
   holds b2 misses b3 ^b;

:: FINTOPO6:th 7
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is symmetric &
         (for b3, b4 being Element of bool the carrier of b1
               st b2 = b3 \/ b4 & b3 misses b4 & b3,b4 are_separated & b3 <> {} b1
            holds b4 = {} b1)
   holds b2 is connected(b1);

:: FINTOPO6:modenot 1 => FINTOPO6:mode 1
definition
  let a1 be RelStr;
  mode SubSpace of A1 -> RelStr means
    the carrier of it c= the carrier of a1 &
     (for b1 being Element of the carrier of it
           st b1 in the carrier of it
        holds U_FT b1 = (Im(the InternalRel of a1,b1)) /\ the carrier of it);
end;

:: FINTOPO6:dfs 2
definiens
  let a1, a2 be RelStr;
To prove
     a2 is SubSpace of a1
it is sufficient to prove
  thus the carrier of a2 c= the carrier of a1 &
     (for b1 being Element of the carrier of a2
           st b1 in the carrier of a2
        holds U_FT b1 = (Im(the InternalRel of a1,b1)) /\ the carrier of a2);

:: FINTOPO6:def 2
theorem
for b1, b2 being RelStr holds
   b2 is SubSpace of b1
iff
   the carrier of b2 c= the carrier of b1 &
    (for b3 being Element of the carrier of b2
          st b3 in the carrier of b2
       holds U_FT b3 = (Im(the InternalRel of b1,b3)) /\ the carrier of b2);

:: FINTOPO6:exreg 1
registration
  let a1 be RelStr;
  cluster strict SubSpace of a1;
end;

:: FINTOPO6:exreg 2
registration
  let a1 be non empty RelStr;
  cluster non empty strict SubSpace of a1;
end;

:: FINTOPO6:funcnot 1 => FINTOPO6:func 1
definition
  let a1 be non empty RelStr;
  let a2 be non empty Element of bool the carrier of a1;
  func A1 | A2 -> non empty strict SubSpace of a1 means
    [#] it = a2;
end;

:: FINTOPO6:def 3
theorem
for b1 being non empty RelStr
for b2 being non empty Element of bool the carrier of b1
for b3 being non empty strict SubSpace of b1 holds
      b3 = b1 | b2
   iff
      [#] b3 = b2;

:: FINTOPO6:th 8
theorem
for b1 being non empty RelStr
for b2 being non empty SubSpace of b1
      st b1 is reflexive
   holds b2 is reflexive;

:: FINTOPO6:condreg 1
registration
  let a1 be non empty reflexive RelStr;
  cluster non empty -> reflexive (SubSpace of a1);
end;

:: FINTOPO6:th 9
theorem
for b1 being non empty RelStr
for b2 being non empty SubSpace of b1
      st b1 is symmetric
   holds b2 is symmetric;

:: FINTOPO6:th 10
theorem
for b1 being non empty RelStr
for b2 being SubSpace of b1
for b3 being Element of bool the carrier of b2 holds
   b3 is Element of bool the carrier of b1;

:: FINTOPO6:th 11
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is closed(b1)
   iff
      b2 ` is open(b1);

:: FINTOPO6:th 12
theorem
for b1 being non empty 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 U_FT b3 c= b2
          holds b3 in b2) &
       (for b3 being Element of the carrier of b1
             st b3 in b2
          holds U_FT b3 c= b2);

:: FINTOPO6:th 13
theorem
for b1 being non empty RelStr
for b2 being non empty SubSpace of b1
for b3 being Element of bool the carrier of b1
for b4 being Element of bool the carrier of b2
      st b3 = b4
   holds b4 ^b = b3 ^b /\ [#] b2;

:: FINTOPO6:th 14
theorem
for b1 being non empty RelStr
for b2 being non empty SubSpace of b1
for b3, b4 being Element of bool the carrier of b1
for b5, b6 being Element of bool the carrier of b2
      st b5 = b3 & b6 = b4 & b5,b6 are_separated
   holds b3,b4 are_separated;

:: FINTOPO6:th 15
theorem
for b1 being non empty RelStr
for b2 being non empty SubSpace of b1
for b3, b4 being Element of bool the carrier of b1
for b5, b6 being Element of bool the carrier of b2
      st b3 = b5 & b4 = b6 & b3 \/ b4 c= [#] b2 & b3,b4 are_separated
   holds b5,b6 are_separated;

:: FINTOPO6:th 16
theorem
for b1 being non empty RelStr
for b2 being non empty Element of bool the carrier of b1 holds
      b2 is connected(b1)
   iff
      b1 | b2 is connected;

:: FINTOPO6:th 17
theorem
for b1 being non empty reflexive RelStr
for b2 being non empty Element of bool the carrier of b1
      st b1 is symmetric
   holds    b2 is connected(b1)
   iff
      for b3, b4 being Element of bool the carrier of b1
            st b2 = b3 \/ b4 & b3 misses b4 & b3,b4 are_separated & b3 <> {} b1
         holds b4 = {} b1;

:: FINTOPO6:th 18
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is reflexive & b1 is connected & b2 <> {} & b2 ` <> {}
   holds b2 ^delta <> {};

:: FINTOPO6:th 19
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is reflexive & b1 is symmetric & b1 is connected & b2 <> {} & b2 ` <> {}
   holds b2 ^deltai <> {};

:: FINTOPO6:th 20
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is reflexive & b1 is symmetric & b1 is connected & b2 <> {} & b2 ` <> {}
   holds b2 ^deltao <> {};

:: FINTOPO6:th 21
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 ^deltai misses b2 ^deltao;

:: FINTOPO6:th 22
theorem
for b1 being non empty reflexive RelStr
for b2 being Element of bool the carrier of b1 holds
   b2 ^deltao = b2 ^b \ b2;

:: FINTOPO6:th 23
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b2,b3 are_separated
   holds b2 ^deltao misses b3;

:: FINTOPO6:th 24
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b1 is reflexive & b2 misses b3 & b2 ^deltao misses b3 & b3 ^deltao misses b2
   holds b2,b3 are_separated;

:: FINTOPO6:th 25
theorem
for b1 being non empty RelStr
for b2 being Element of the carrier of b1 holds
   {b2} is connected(b1);

:: FINTOPO6:funcreg 3
registration
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  cluster {a2} -> connected;
end;

:: FINTOPO6:prednot 1 => FINTOPO6:pred 1
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  pred A2 is_a_component_of A1 means
    a2 is connected(a1) &
     (for b1 being Element of bool the carrier of a1
           st b1 is connected(a1) & a2 c= b1
        holds a2 = b1);
end;

:: FINTOPO6:dfs 4
definiens
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is_a_component_of a1
it is sufficient to prove
  thus a2 is connected(a1) &
     (for b1 being Element of bool the carrier of a1
           st b1 is connected(a1) & a2 c= b1
        holds a2 = b1);

:: FINTOPO6:def 4
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is_a_component_of b1
   iff
      b2 is connected(b1) &
       (for b3 being Element of bool the carrier of b1
             st b3 is connected(b1) & b2 c= b3
          holds b2 = b3);

:: FINTOPO6:th 26
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b2 is_a_component_of b1
   holds b2 <> {} b1;

:: FINTOPO6:th 27
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b2 is closed(b1) & b3 is closed(b1) & b2 misses b3
   holds b2,b3 are_separated;

:: FINTOPO6:th 28
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b1 is reflexive & [#] b1 = b2 \/ b3 & b2,b3 are_separated
   holds b2 is open(b1) & b2 is closed(b1);

:: FINTOPO6:th 29
theorem
for b1 being non empty RelStr
for b2, b3, b4, b5 being Element of bool the carrier of b1
      st b2,b3 are_separated & b4 c= b2 & b5 c= b3
   holds b4,b5 are_separated;

:: FINTOPO6:th 30
theorem
for b1 being non empty RelStr
for b2, b3, b4 being Element of bool the carrier of b1
      st b2,b3 are_separated & b2,b4 are_separated
   holds b2,b3 \/ b4 are_separated;

:: FINTOPO6:th 31
theorem
for b1 being non empty RelStr
      st b1 is reflexive &
         b1 is symmetric &
         (for b2, b3 being Element of bool the carrier of b1
               st [#] b1 = b2 \/ b3 & b2 <> {} b1 & b3 <> {} b1 & b2 is closed(b1) & b3 is closed(b1)
            holds b2 meets b3)
   holds b1 is connected;

:: FINTOPO6:th 32
theorem
for b1 being non empty RelStr
   st b1 is connected
for b2, b3 being Element of bool the carrier of b1
      st [#] b1 = b2 \/ b3 & b2 <> {} b1 & b3 <> {} b1 & b2 is closed(b1) & b3 is closed(b1)
   holds b2 meets b3;

:: FINTOPO6:th 33
theorem
for b1 being non empty RelStr
for b2, b3, b4 being Element of bool the carrier of b1
      st b1 is reflexive & b2 is connected(b1) & b2 c= b3 \/ b4 & b3,b4 are_separated & not b2 c= b3
   holds b2 c= b4;

:: FINTOPO6:th 34
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b1 is symmetric & b2 is connected(b1) & b3 is connected(b1) & not b2,b3 are_separated
   holds b2 \/ b3 is connected(b1);

:: FINTOPO6:th 35
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b1 is symmetric & b3 is connected(b1) & b3 c= b2 & b2 c= b3 ^b
   holds b2 is connected(b1);

:: FINTOPO6:th 36
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is reflexive & b1 is symmetric & b2 is connected(b1)
   holds b2 ^b is connected(b1);

:: FINTOPO6:th 37
theorem
for b1 being non empty RelStr
for b2, b3, b4 being Element of bool the carrier of b1
      st b1 is reflexive & b1 is symmetric & b1 is connected & b2 is connected(b1) & ([#] b1) \ b2 = b3 \/ b4 & b3,b4 are_separated
   holds b2 \/ b3 is connected(b1);

:: FINTOPO6:th 38
theorem
for b1 being non empty RelStr
for b2 being non empty SubSpace of b1
for b3 being Element of bool the carrier of b1
for b4 being Element of bool the carrier of b2
      st b1 is symmetric & b3 = b4
   holds    b3 is connected(b1)
   iff
      b4 is connected(b2);

:: FINTOPO6:th 39
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is reflexive & b1 is symmetric & b2 is_a_component_of b1
   holds b2 is closed(b1);

:: FINTOPO6:th 40
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b1 is symmetric & b2 is_a_component_of b1 & b3 is_a_component_of b1 & b2 <> b3
   holds b2,b3 are_separated;

:: FINTOPO6:th 41
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
      st b1 is reflexive & b1 is symmetric & b2 is_a_component_of b1 & b3 is_a_component_of b1 & b2 <> b3
   holds b2 misses b3;

:: FINTOPO6:th 42
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
   st b1 is reflexive & b1 is symmetric & b2 is connected(b1)
for b3 being Element of bool the carrier of b1
      st b3 is_a_component_of b1 & b2 meets b3
   holds b2 c= b3;

:: FINTOPO6:prednot 2 => FINTOPO6:pred 2
definition
  let a1 be non empty RelStr;
  let a2 be non empty Element of bool the carrier of a1;
  let a3 be Element of bool the carrier of a1;
  pred A3 is_a_component_of A2 means
    ex b1 being Element of bool the carrier of a1 | a2 st
       b1 = a3 & b1 is_a_component_of a1 | a2;
end;

:: FINTOPO6:dfs 5
definiens
  let a1 be non empty RelStr;
  let a2 be non empty Element of bool the carrier of a1;
  let a3 be Element of bool the carrier of a1;
To prove
     a3 is_a_component_of a2
it is sufficient to prove
  thus ex b1 being Element of bool the carrier of a1 | a2 st
       b1 = a3 & b1 is_a_component_of a1 | a2;

:: FINTOPO6:def 5
theorem
for b1 being non empty RelStr
for b2 being non empty Element of bool the carrier of b1
for b3 being Element of bool the carrier of b1 holds
      b3 is_a_component_of b2
   iff
      ex b4 being Element of bool the carrier of b1 | b2 st
         b4 = b3 & b4 is_a_component_of b1 | b2;

:: FINTOPO6:th 43
theorem
for b1 being non empty RelStr
for b2, b3 being Element of bool the carrier of b1
for b4 being non empty Element of bool the carrier of b1
      st b1 is reflexive & b1 is symmetric & b4 = ([#] b1) \ b2 & b1 is connected & b2 is connected(b1) & b3 is_a_component_of b4
   holds ([#] b1) \ b3 is connected(b1);

:: FINTOPO6:attrnot 2 => FINTOPO6:attr 2
definition
  let a1 be non empty RelStr;
  let a2 be FinSequence of the carrier of a1;
  attr a2 is continuous means
    1 <= len a2 &
     (for b1 being natural set
     for b2 being Element of the carrier of a1
           st 1 <= b1 & b1 < len a2 & b2 = a2 . b1
        holds a2 . (b1 + 1) in U_FT b2);
end;

:: FINTOPO6:dfs 6
definiens
  let a1 be non empty RelStr;
  let a2 be FinSequence of the carrier of a1;
To prove
     a2 is continuous
it is sufficient to prove
  thus 1 <= len a2 &
     (for b1 being natural set
     for b2 being Element of the carrier of a1
           st 1 <= b1 & b1 < len a2 & b2 = a2 . b1
        holds a2 . (b1 + 1) in U_FT b2);

:: FINTOPO6:def 6
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1 holds
      b2 is continuous(b1)
   iff
      1 <= len b2 &
       (for b3 being natural set
       for b4 being Element of the carrier of b1
             st 1 <= b3 & b3 < len b2 & b4 = b2 . b3
          holds b2 . (b3 + 1) in U_FT b4);

:: FINTOPO6:funcreg 4
registration
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  cluster <*a2*> -> continuous;
end;

:: FINTOPO6:th 44
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3, b4 being Element of the carrier of b1
      st b2 is continuous(b1) & b4 = b2 . len b2 & b3 in U_FT b4
   holds b2 ^ <*b3*> is continuous(b1);

:: FINTOPO6:th 45
theorem
for b1 being non empty RelStr
for b2, b3 being FinSequence of the carrier of b1
      st b2 is continuous(b1) &
         b3 is continuous(b1) &
         b3 . 1 in U_FT (b2 /. len b2)
   holds b2 ^ b3 is continuous(b1);

:: FINTOPO6:attrnot 3 => FINTOPO6:attr 3
definition
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
  attr a2 is arcwise_connected means
    for b1, b2 being Element of the carrier of a1
          st b1 in a2 & b2 in a2
       holds ex b3 being FinSequence of the carrier of a1 st
          b3 is continuous(a1) & rng b3 c= a2 & b3 . 1 = b1 & b3 . len b3 = b2;
end;

:: FINTOPO6:dfs 7
definiens
  let a1 be non empty RelStr;
  let a2 be Element of bool the carrier of a1;
To prove
     a2 is arcwise_connected
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
          st b1 in a2 & b2 in a2
       holds ex b3 being FinSequence of the carrier of a1 st
          b3 is continuous(a1) & rng b3 c= a2 & b3 . 1 = b1 & b3 . len b3 = b2;

:: FINTOPO6:def 7
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is arcwise_connected(b1)
   iff
      for b3, b4 being Element of the carrier of b1
            st b3 in b2 & b4 in b2
         holds ex b5 being FinSequence of the carrier of b1 st
            b5 is continuous(b1) & rng b5 c= b2 & b5 . 1 = b3 & b5 . len b5 = b4;

:: FINTOPO6:funcreg 5
registration
  let a1 be non empty RelStr;
  cluster {} a1 -> arcwise_connected;
end;

:: FINTOPO6:funcreg 6
registration
  let a1 be non empty RelStr;
  let a2 be Element of the carrier of a1;
  cluster {a2} -> arcwise_connected;
end;

:: FINTOPO6:th 46
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
      st b1 is symmetric
   holds    b2 is connected(b1)
   iff
      b2 is arcwise_connected(b1);

:: FINTOPO6:th 47
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being natural set
      st b2 is continuous(b1) & 1 <= b3
   holds b2 | b3 is continuous(b1);

:: FINTOPO6:th 48
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of NAT
      st b2 is continuous(b1) & b3 < len b2
   holds b2 /^ b3 is continuous(b1);

:: FINTOPO6:prednot 3 => FINTOPO6:pred 3
definition
  let a1 be non empty RelStr;
  let a2 be FinSequence of the carrier of a1;
  let a3 be Element of bool the carrier of a1;
  let a4, a5 be Element of the carrier of a1;
  pred A2 is_minimum_path_in A3,A4,A5 means
    a2 is continuous(a1) &
     rng a2 c= a3 &
     a2 . 1 = a4 &
     a2 . len a2 = a5 &
     (for b1 being FinSequence of the carrier of a1
           st b1 is continuous(a1) & rng b1 c= a3 & b1 . 1 = a4 & b1 . len b1 = a5
        holds len a2 <= len b1);
end;

:: FINTOPO6:dfs 8
definiens
  let a1 be non empty RelStr;
  let a2 be FinSequence of the carrier of a1;
  let a3 be Element of bool the carrier of a1;
  let a4, a5 be Element of the carrier of a1;
To prove
     a2 is_minimum_path_in a3,a4,a5
it is sufficient to prove
  thus a2 is continuous(a1) &
     rng a2 c= a3 &
     a2 . 1 = a4 &
     a2 . len a2 = a5 &
     (for b1 being FinSequence of the carrier of a1
           st b1 is continuous(a1) & rng b1 c= a3 & b1 . 1 = a4 & b1 . len b1 = a5
        holds len a2 <= len b1);

:: FINTOPO6:def 8
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1 holds
   b2 is_minimum_path_in b3,b4,b5
iff
   b2 is continuous(b1) &
    rng b2 c= b3 &
    b2 . 1 = b4 &
    b2 . len b2 = b5 &
    (for b6 being FinSequence of the carrier of b1
          st b6 is continuous(b1) & rng b6 c= b3 & b6 . 1 = b4 & b6 . len b6 = b5
       holds len b2 <= len b6);

:: FINTOPO6:th 49
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
      st b3 in b2
   holds <*b3*> is_minimum_path_in b2,b3,b3;

:: FINTOPO6:th 50
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1 holds
      b2 is arcwise_connected(b1)
   iff
      for b3, b4 being Element of the carrier of b1
            st b3 in b2 & b4 in b2
         holds ex b5 being FinSequence of the carrier of b1 st
            b5 is_minimum_path_in b2,b3,b4;

:: FINTOPO6:th 51
theorem
for b1 being non empty RelStr
for b2 being Element of bool the carrier of b1
for b3, b4 being Element of the carrier of b1
      st ex b5 being FinSequence of the carrier of b1 st
           b5 is continuous(b1) & rng b5 c= b2 & b5 . 1 = b3 & b5 . len b5 = b4
   holds ex b5 being FinSequence of the carrier of b1 st
      b5 is_minimum_path_in b2,b3,b4;

:: FINTOPO6:th 52
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
for b6 being Element of NAT
      st b2 is_minimum_path_in b3,b4,b5 & 1 <= b6 & b6 <= len b2
   holds b2 | b6 is continuous(b1) &
    rng (b2 | b6) c= b3 &
    (b2 | b6) . 1 = b4 &
    (b2 | b6) . len (b2 | b6) = b2 /. b6;

:: FINTOPO6:th 53
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
for b6 being Element of NAT
      st b2 is_minimum_path_in b3,b4,b5 & b6 < len b2
   holds b2 /^ b6 is continuous(b1) &
    rng (b2 /^ b6) c= b3 &
    (b2 /^ b6) . 1 = b2 /. (1 + b6) &
    (b2 /^ b6) . len (b2 /^ b6) = b5;

:: FINTOPO6:th 54
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
   st b2 is_minimum_path_in b3,b4,b5
for b6 being natural set
      st 1 <= b6 & b6 <= len b2
   holds b2 | b6 is_minimum_path_in b3,b4,b2 /. b6;

:: FINTOPO6:th 55
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
      st b2 is_minimum_path_in b3,b4,b5
   holds b2 is one-to-one;

:: FINTOPO6:attrnot 4 => FINTOPO6:attr 4
definition
  let a1 be non empty RelStr;
  let a2 be FinSequence of the carrier of a1;
  attr a2 is inv_continuous means
    1 <= len a2 &
     (for b1, b2 being natural set
     for b3 being Element of the carrier of a1
           st 1 <= b1 & b1 <= len a2 & 1 <= b2 & b2 <= len a2 & b3 = a2 . b1 & b1 <> b2 & a2 . b2 in U_FT b3 & b1 <> b2 + 1
        holds b2 = b1 + 1);
end;

:: FINTOPO6:dfs 9
definiens
  let a1 be non empty RelStr;
  let a2 be FinSequence of the carrier of a1;
To prove
     a2 is inv_continuous
it is sufficient to prove
  thus 1 <= len a2 &
     (for b1, b2 being natural set
     for b3 being Element of the carrier of a1
           st 1 <= b1 & b1 <= len a2 & 1 <= b2 & b2 <= len a2 & b3 = a2 . b1 & b1 <> b2 & a2 . b2 in U_FT b3 & b1 <> b2 + 1
        holds b2 = b1 + 1);

:: FINTOPO6:def 9
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1 holds
      b2 is inv_continuous(b1)
   iff
      1 <= len b2 &
       (for b3, b4 being natural set
       for b5 being Element of the carrier of b1
             st 1 <= b3 & b3 <= len b2 & 1 <= b4 & b4 <= len b2 & b5 = b2 . b3 & b3 <> b4 & b2 . b4 in U_FT b5 & b3 <> b4 + 1
          holds b4 = b3 + 1);

:: FINTOPO6:th 56
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
      st b2 is_minimum_path_in b3,b4,b5 & b1 is symmetric
   holds b2 is inv_continuous(b1);

:: FINTOPO6:th 57
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
      st b2 is_minimum_path_in b3,b4,b5 & b1 is reflexive & b1 is symmetric & b4 <> b5
   holds (for b6 being natural set
          st 1 < b6 & b6 < len b2
       holds (rng b2) /\ U_FT (b2 /. b6) = {b2 . (b6 -' 1),b2 . b6,b2 . (b6 + 1)}) &
    (rng b2) /\ U_FT (b2 /. 1) = {b2 . 1,b2 . 2} &
    (rng b2) /\ U_FT (b2 /. len b2) = {b2 . ((len b2) -' 1),b2 . len b2};

:: FINTOPO6:th 58
theorem
for b1 being non empty RelStr
for b2 being FinSequence of the carrier of b1
for b3 being non empty Element of bool the carrier of b1
for b4, b5 being Element of the carrier of b1
for b6 being Element of bool the carrier of b1 | b3
   st b2 is_minimum_path_in b3,b4,b5 & b1 is reflexive & b1 is symmetric & b4 <> b5 & b6 = {b4}
for b7 being Element of NAT
      st b7 < len b2
   holds b2 . (b7 + 1) in Finf(b6,b7) &
    (1 <= b7 implies not b2 . (b7 + 1) in Finf(b6,b7 -' 1));