Article JGRAPH_1, MML version 4.99.1005

:: JGRAPH_1:th 4
theorem
for b1 being Graph-like MultiGraphStruct
for b2 being oriented Chain of b1
for b3 being FinSequence of the Vertices of b1
   st b2 is Simple(b1) & b3 is_oriented_vertex_seq_of b2
for b4, b5 being Element of NAT
      st 1 <= b4 & b4 < b5 & b5 <= len b3 & b3 . b4 = b3 . b5
   holds b4 = 1 & b5 = len b3;

:: JGRAPH_1:funcnot 1 => JGRAPH_1:func 1
definition
  let a1 be set;
  func PGraph A1 -> MultiGraphStruct equals
    MultiGraphStruct(#a1,[:a1,a1:],pr1(a1,a1),pr2(a1,a1)#);
end;

:: JGRAPH_1:def 1
theorem
for b1 being set holds
   PGraph b1 = MultiGraphStruct(#b1,[:b1,b1:],pr1(b1,b1),pr2(b1,b1)#);

:: JGRAPH_1:th 6
theorem
for b1 being set holds
   the Vertices of PGraph b1 = b1;

:: JGRAPH_1:funcnot 2 => JGRAPH_1:func 2
definition
  let a1 be Relation-like Function-like FinSequence-like set;
  func PairF A1 -> Relation-like Function-like FinSequence-like set means
    len it = (len a1) -' 1 &
     (for b1 being Element of NAT
           st 1 <= b1 & b1 < len a1
        holds it . b1 = [a1 . b1,a1 . (b1 + 1)]);
end;

:: JGRAPH_1:def 2
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set holds
   b2 = PairF b1
iff
   len b2 = (len b1) -' 1 &
    (for b3 being Element of NAT
          st 1 <= b3 & b3 < len b1
       holds b2 . b3 = [b1 . b3,b1 . (b3 + 1)]);

:: JGRAPH_1:funcreg 1
registration
  let a1 be non empty set;
  cluster PGraph a1 -> Graph-like;
end;

:: JGRAPH_1:th 7
theorem
for b1 being non empty set
for b2 being FinSequence of b1 holds
   b2 is FinSequence of the Vertices of PGraph b1;

:: JGRAPH_1:th 8
theorem
for b1 being non empty set
for b2 being FinSequence of b1 holds
   PairF b2 is FinSequence of the Edges of PGraph b1;

:: JGRAPH_1:funcnot 3 => JGRAPH_1:func 3
definition
  let a1 be non empty set;
  let a2 be FinSequence of a1;
  redefine func PairF a2 -> FinSequence of the Edges of PGraph a1;
end;

:: JGRAPH_1:th 9
theorem
for b1 being non empty set
for b2 being Element of NAT
for b3 being FinSequence of b1
      st 1 <= b2 & b2 <= len PairF b3
   holds (PairF b3) . b2 in the Edges of PGraph b1;

:: JGRAPH_1:th 10
theorem
for b1 being non empty set
for b2 being FinSequence of b1 holds
   PairF b2 is oriented Chain of PGraph b1;

:: JGRAPH_1:funcnot 4 => JGRAPH_1:func 4
definition
  let a1 be non empty set;
  let a2 be FinSequence of a1;
  redefine func PairF a2 -> oriented Chain of PGraph a1;
end;

:: JGRAPH_1:th 11
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being FinSequence of the Vertices of PGraph b1
      st 1 <= len b2 & b2 = b3
   holds b3 is_oriented_vertex_seq_of PairF b2;

:: JGRAPH_1:prednot 1 => JGRAPH_1:pred 1
definition
  let a1 be non empty set;
  let a2, a3 be FinSequence of a1;
  pred A3 is_Shortcut_of A2 means
    a2 . 1 = a3 . 1 &
     a2 . len a2 = a3 . len a3 &
     (ex b1 being Element of bool PairF a2 st
        ex b2 being Element of bool a2 st
           ex b3 being oriented simple Chain of PGraph a1 st
              ex b4 being FinSequence of the Vertices of PGraph a1 st
                 Seq b1 = b3 & Seq b2 = a3 & b4 = a3 & b4 is_oriented_vertex_seq_of b3);
end;

:: JGRAPH_1:dfs 3
definiens
  let a1 be non empty set;
  let a2, a3 be FinSequence of a1;
To prove
     a3 is_Shortcut_of a2
it is sufficient to prove
  thus a2 . 1 = a3 . 1 &
     a2 . len a2 = a3 . len a3 &
     (ex b1 being Element of bool PairF a2 st
        ex b2 being Element of bool a2 st
           ex b3 being oriented simple Chain of PGraph a1 st
              ex b4 being FinSequence of the Vertices of PGraph a1 st
                 Seq b1 = b3 & Seq b2 = a3 & b4 = a3 & b4 is_oriented_vertex_seq_of b3);

:: JGRAPH_1:def 3
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1 holds
   b3 is_Shortcut_of b2
iff
   b2 . 1 = b3 . 1 &
    b2 . len b2 = b3 . len b3 &
    (ex b4 being Element of bool PairF b2 st
       ex b5 being Element of bool b2 st
          ex b6 being oriented simple Chain of PGraph b1 st
             ex b7 being FinSequence of the Vertices of PGraph b1 st
                Seq b4 = b6 & Seq b5 = b3 & b7 = b3 & b7 is_oriented_vertex_seq_of b6);

:: JGRAPH_1:th 12
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
      st b3 is_Shortcut_of b2
   holds 1 <= len b3 & len b3 <= len b2;

:: JGRAPH_1:th 13
theorem
for b1 being non empty set
for b2 being FinSequence of b1
      st 1 <= len b2
   holds ex b3 being FinSequence of b1 st
      b3 is_Shortcut_of b2;

:: JGRAPH_1:th 14
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
      st b3 is_Shortcut_of b2
   holds rng PairF b3 c= rng PairF b2;

:: JGRAPH_1:th 15
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
      st b2 . 1 <> b2 . len b2 & b3 is_Shortcut_of b2
   holds b3 is one-to-one;

:: JGRAPH_1:attrnot 1 => JGRAPH_1:attr 1
definition
  let a1 be Element of NAT;
  let a2 be FinSequence of the carrier of TOP-REAL a1;
  attr a2 is nodic means
    for b1, b2 being Element of NAT
          st LSeg(a2,b1) meets LSeg(a2,b2) &
             ((LSeg(a2,b1)) /\ LSeg(a2,b2) = {a2 . b1} implies a2 . b1 <> a2 . b2 & a2 . b1 <> a2 . (b2 + 1)) &
             ((LSeg(a2,b1)) /\ LSeg(a2,b2) = {a2 . (b1 + 1)} implies a2 . (b1 + 1) <> a2 . b2 &
              a2 . (b1 + 1) <> a2 . (b2 + 1))
       holds LSeg(a2,b1) = LSeg(a2,b2);
end;

:: JGRAPH_1:dfs 4
definiens
  let a1 be Element of NAT;
  let a2 be FinSequence of the carrier of TOP-REAL a1;
To prove
     a2 is nodic
it is sufficient to prove
  thus for b1, b2 being Element of NAT
          st LSeg(a2,b1) meets LSeg(a2,b2) &
             ((LSeg(a2,b1)) /\ LSeg(a2,b2) = {a2 . b1} implies a2 . b1 <> a2 . b2 & a2 . b1 <> a2 . (b2 + 1)) &
             ((LSeg(a2,b1)) /\ LSeg(a2,b2) = {a2 . (b1 + 1)} implies a2 . (b1 + 1) <> a2 . b2 &
              a2 . (b1 + 1) <> a2 . (b2 + 1))
       holds LSeg(a2,b1) = LSeg(a2,b2);

:: JGRAPH_1:def 4
theorem
for b1 being Element of NAT
for b2 being FinSequence of the carrier of TOP-REAL b1 holds
      b2 is nodic(b1)
   iff
      for b3, b4 being Element of NAT
            st LSeg(b2,b3) meets LSeg(b2,b4) &
               ((LSeg(b2,b3)) /\ LSeg(b2,b4) = {b2 . b3} implies b2 . b3 <> b2 . b4 & b2 . b3 <> b2 . (b4 + 1)) &
               ((LSeg(b2,b3)) /\ LSeg(b2,b4) = {b2 . (b3 + 1)} implies b2 . (b3 + 1) <> b2 . b4 &
                b2 . (b3 + 1) <> b2 . (b4 + 1))
         holds LSeg(b2,b3) = LSeg(b2,b4);

:: JGRAPH_1:th 16
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st b1 is s.n.c.
   holds b1 is s.c.c.;

:: JGRAPH_1:th 17
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st b1 is s.c.c. &
         LSeg(b1,1) misses LSeg(b1,(len b1) -' 1)
   holds b1 is s.n.c.;

:: JGRAPH_1:th 18
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st b1 is nodic(2) &
         PairF b1 is Simple(PGraph the carrier of TOP-REAL 2)
   holds b1 is s.c.c.;

:: JGRAPH_1:th 19
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st b1 is nodic(2) &
         PairF b1 is Simple(PGraph the carrier of TOP-REAL 2) &
         b1 . 1 <> b1 . len b1
   holds b1 is s.n.c.;

:: JGRAPH_1:th 20
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1
      st (ex b5 being set st
            b5 <> b3 & b5 in (LSeg(b2,b3)) /\ LSeg(b3,b4)) &
         not b2 in LSeg(b3,b4)
   holds b4 in LSeg(b2,b3);

:: JGRAPH_1:th 21
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st b1 is s.n.c. &
         (LSeg(b1,1)) /\ LSeg(b1,1 + 1) c= {b1 /. (1 + 1)} &
         (LSeg(b1,(len b1) -' 2)) /\ LSeg(b1,(len b1) -' 1) c= {b1 /. ((len b1) -' 1)}
   holds b1 is unfolded;

:: JGRAPH_1:th 22
theorem
for b1 being non empty set
for b2 being FinSequence of b1
      st PairF b2 is Simple(PGraph b1) & b2 . 1 <> b2 . len b2
   holds b2 is one-to-one & len b2 <> 1;

:: JGRAPH_1:th 23
theorem
for b1 being non empty set
for b2 being FinSequence of b1
      st b2 is one-to-one & 1 < len b2
   holds PairF b2 is Simple(PGraph b1) & b2 . 1 <> b2 . len b2;

:: JGRAPH_1:th 24
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st b1 is nodic(2) &
         PairF b1 is Simple(PGraph the carrier of TOP-REAL 2) &
         b1 . 1 <> b1 . len b1
   holds b1 is unfolded;

:: JGRAPH_1:th 25
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
for b3 being Element of NAT
      st b2 is_Shortcut_of b1 & 1 <= b3 & b3 + 1 <= len b2
   holds ex b4 being Element of NAT st
      1 <= b4 &
       b4 + 1 <= len b1 &
       b1 /. b4 = b2 /. b3 &
       b1 /. (b4 + 1) = b2 /. (b3 + 1) &
       b1 . b4 = b2 . b3 &
       b1 . (b4 + 1) = b2 . (b3 + 1);

:: JGRAPH_1:th 26
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
      st b2 is_Shortcut_of b1
   holds rng b2 c= rng b1;

:: JGRAPH_1:th 27
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
      st b2 is_Shortcut_of b1
   holds L~ b2 c= L~ b1;

:: JGRAPH_1:th 28
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
      st b1 is special & b2 is_Shortcut_of b1
   holds b2 is special;

:: JGRAPH_1:th 29
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st b1 is special & 2 <= len b1 & b1 . 1 <> b1 . len b1
   holds ex b2 being FinSequence of the carrier of TOP-REAL 2 st
      2 <= len b2 & b2 is special & b2 is one-to-one & L~ b2 c= L~ b1 & b1 . 1 = b2 . 1 & b1 . len b1 = b2 . len b2 & rng b2 c= rng b1;

:: JGRAPH_1:th 30
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
      st b1 is special &
         b2 is special &
         2 <= len b1 &
         2 <= len b2 &
         b1 . 1 <> b1 . len b1 &
         b2 . 1 <> b2 . len b2 &
         X_axis b1 lies_between (X_axis b1) . 1,(X_axis b1) . len b1 &
         X_axis b2 lies_between (X_axis b1) . 1,(X_axis b1) . len b1 &
         Y_axis b1 lies_between (Y_axis b2) . 1,(Y_axis b2) . len b2 &
         Y_axis b2 lies_between (Y_axis b2) . 1,(Y_axis b2) . len b2
   holds L~ b1 meets L~ b2;

:: JGRAPH_1:th 31
theorem
for b1, b2, b3, b4 being Element of REAL
      st b1 <= b3 & b3 <= b2 & b1 <= b4 & b4 <= b2
   holds abs (b3 - b4) <= b2 - b1;

:: JGRAPH_1:th 45
theorem
for b1 being Element of NAT
for b2, b3 being Element of the carrier of TOP-REAL b1
for b4, b5 being Element of the carrier of Euclid b1
      st b4 = b2 & b5 = b3
   holds |.b2 - b3.| = dist(b4,b5);

:: JGRAPH_1:th 46
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   |.b1.| ^2 = b1 `1 ^2 + (b1 `2 ^2);

:: JGRAPH_1:th 47
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   |.b1.| = sqrt (b1 `1 ^2 + (b1 `2 ^2));

:: JGRAPH_1:th 48
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   |.b1.| <= (abs (b1 `1)) + abs (b1 `2);

:: JGRAPH_1:th 49
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2 holds
|.b1 - b2.| <= (abs (b1 `1 - (b2 `1))) + abs (b1 `2 - (b2 `2));

:: JGRAPH_1:th 50
theorem
for b1 being Element of the carrier of TOP-REAL 2 holds
   abs (b1 `1) <= |.b1.| & abs (b1 `2) <= |.b1.|;

:: JGRAPH_1:th 51
theorem
for b1, b2 being Element of the carrier of TOP-REAL 2 holds
abs (b1 `1 - (b2 `1)) <= |.b1 - b2.| &
 abs (b1 `2 - (b2 `2)) <= |.b1 - b2.|;

:: JGRAPH_1:th 52
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1
      st b2 in LSeg(b3,b4)
   holds ex b5 being Element of REAL st
      0 <= b5 &
       b5 <= 1 &
       b2 = ((1 - b5) * b3) + (b5 * b4);

:: JGRAPH_1:th 53
theorem
for b1 being Element of NAT
for b2, b3, b4 being Element of the carrier of TOP-REAL b1
      st b2 in LSeg(b3,b4)
   holds |.b2 - b3.| <= |.b3 - b4.| &
    |.b2 - b4.| <= |.b3 - b4.|;

:: JGRAPH_1:th 54
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being Element of bool the carrier of TopSpaceMetr b1
      st b2 <> {} & b2 is compact(TopSpaceMetr b1) & b3 <> {} & b3 is compact(TopSpaceMetr b1)
   holds 0 <= min_dist_min(b2,b3);

:: JGRAPH_1:th 55
theorem
for b1 being non empty Reflexive discerning symmetric triangle MetrStruct
for b2, b3 being Element of bool the carrier of TopSpaceMetr b1
      st b2 <> {} & b2 is compact(TopSpaceMetr b1) & b3 <> {} & b3 is compact(TopSpaceMetr b1)
   holds    b2 misses b3
   iff
      0 < min_dist_min(b2,b3);

:: JGRAPH_1:th 56
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
for b2, b3, b4 being Element of REAL
      st 1 <= len b1 &
         X_axis b1 lies_between (X_axis b1) . 1,(X_axis b1) . len b1 &
         Y_axis b1 lies_between b3,b4 &
         0 < b2 &
         (for b5 being Element of NAT
               st 1 <= b5 & b5 + 1 <= len b1
            holds |.(b1 /. b5) - (b1 /. (b5 + 1)).| < b2)
   holds ex b5 being FinSequence of the carrier of TOP-REAL 2 st
      b5 is special &
       b5 . 1 = b1 . 1 &
       b5 . len b5 = b1 . len b1 &
       len b1 <= len b5 &
       X_axis b5 lies_between (X_axis b1) . 1,(X_axis b1) . len b1 &
       Y_axis b5 lies_between b3,b4 &
       (for b6 being Element of NAT
             st b6 in dom b5
          holds ex b7 being Element of NAT st
             b7 in dom b1 &
              |.(b5 /. b6) - (b1 /. b7).| < b2) &
       (for b6 being Element of NAT
             st 1 <= b6 & b6 + 1 <= len b5
          holds |.(b5 /. b6) - (b5 /. (b6 + 1)).| < b2);

:: JGRAPH_1:th 57
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
for b2, b3, b4 being Element of REAL
      st 1 <= len b1 &
         Y_axis b1 lies_between (Y_axis b1) . 1,(Y_axis b1) . len b1 &
         X_axis b1 lies_between b3,b4 &
         0 < b2 &
         (for b5 being Element of NAT
               st 1 <= b5 & b5 + 1 <= len b1
            holds |.(b1 /. b5) - (b1 /. (b5 + 1)).| < b2)
   holds ex b5 being FinSequence of the carrier of TOP-REAL 2 st
      b5 is special &
       b5 . 1 = b1 . 1 &
       b5 . len b5 = b1 . len b1 &
       len b1 <= len b5 &
       Y_axis b5 lies_between (Y_axis b1) . 1,(Y_axis b1) . len b1 &
       X_axis b5 lies_between b3,b4 &
       (for b6 being Element of NAT
             st b6 in dom b5
          holds ex b7 being Element of NAT st
             b7 in dom b1 &
              |.(b5 /. b6) - (b1 /. b7).| < b2) &
       (for b6 being Element of NAT
             st 1 <= b6 & b6 + 1 <= len b5
          holds |.(b5 /. b6) - (b5 /. (b6 + 1)).| < b2);

:: JGRAPH_1:th 59
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st 1 <= len b1
   holds len X_axis b1 = len b1 &
    (X_axis b1) . 1 = (b1 /. 1) `1 &
    (X_axis b1) . len b1 = (b1 /. len b1) `1;

:: JGRAPH_1:th 60
theorem
for b1 being FinSequence of the carrier of TOP-REAL 2
      st 1 <= len b1
   holds len Y_axis b1 = len b1 &
    (Y_axis b1) . 1 = (b1 /. 1) `2 &
    (Y_axis b1) . len b1 = (b1 /. len b1) `2;

:: JGRAPH_1:th 61
theorem
for b1 being Element of NAT
for b2 being FinSequence of the carrier of TOP-REAL 2
      st b1 in dom b2
   holds (X_axis b2) . b1 = (b2 /. b1) `1 & (Y_axis b2) . b1 = (b2 /. b1) `2;

:: JGRAPH_1:th 62
theorem
for b1, b2 being non empty Element of bool the carrier of TOP-REAL 2
for b3, b4, b5, b6 being Element of the carrier of TOP-REAL 2
      st b1 is_an_arc_of b3,b4 &
         b2 is_an_arc_of b5,b6 &
         (for b7 being Element of the carrier of TOP-REAL 2
               st b7 in b1
            holds b3 `1 <= b7 `1 & b7 `1 <= b4 `1) &
         (for b7 being Element of the carrier of TOP-REAL 2
               st b7 in b2
            holds b3 `1 <= b7 `1 & b7 `1 <= b4 `1) &
         (for b7 being Element of the carrier of TOP-REAL 2
               st b7 in b1
            holds b5 `2 <= b7 `2 & b7 `2 <= b6 `2) &
         (for b7 being Element of the carrier of TOP-REAL 2
               st b7 in b2
            holds b5 `2 <= b7 `2 & b7 `2 <= b6 `2)
   holds b1 meets b2;

:: JGRAPH_1:th 63
theorem
for b1, b2 being non empty TopSpace-like TopStruct
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b4 being non empty Element of bool the carrier of b2
for b5 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 | b4
      st b3 = b5 & b3 is continuous(b1, b2)
   holds b5 is continuous(b1, b2 | b4);

:: JGRAPH_1:th 64
theorem
for b1, b2 being non empty TopSpace-like TopStruct
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2
for b4 being non empty Element of bool the carrier of b2
      st b1 is compact & b2 is being_T2 & b3 is continuous(b1, b2) & b3 is one-to-one & b4 = rng b3
   holds ex b5 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 | b4 st
      b3 = b5 & b5 is being_homeomorphism(b1, b2 | b4);

:: JGRAPH_1:th 65
theorem
for b1, b2 being Function-like quasi_total Relation of the carrier of I[01],the carrier of TOP-REAL 2
for b3, b4, b5, b6 being real set
for b7, b8 being Element of the carrier of I[01]
      st b7 = 0 &
         b8 = 1 &
         b1 is continuous(I[01], TOP-REAL 2) &
         b1 is one-to-one &
         b2 is continuous(I[01], TOP-REAL 2) &
         b2 is one-to-one &
         (b1 . b7) `1 = b3 &
         (b1 . b8) `1 = b4 &
         (b2 . b7) `2 = b5 &
         (b2 . b8) `2 = b6 &
         (for b9 being Element of the carrier of I[01] holds
            b3 <= (b1 . b9) `1 & (b1 . b9) `1 <= b4 & b3 <= (b2 . b9) `1 & (b2 . b9) `1 <= b4 & b5 <= (b1 . b9) `2 & (b1 . b9) `2 <= b6 & b5 <= (b2 . b9) `2 & (b2 . b9) `2 <= b6)
   holds rng b1 meets rng b2;