reserve G for _Graph;
reserve G2 for _Graph, G1 for Supergraph of G2;
reserve V for set;
reserve v for object;

theorem
  for G2 for v1,v2 being Vertex of G2, e being object
  for G1 being addEdge of G2,v1,e,v2
  st G2 is non connected & v2 in G2.reachableFrom v1
  holds G1 is non connected
proof
  :: the Proof follows this reasoning:
  :: assume the additional edge would allow a walk between two vertices
  :: (from different components), then the walk taken from this walk
  :: with the edge replaced by a certain walk (connecting the vertices of the
  :: edge without using it, which is possible because the edge connects
  :: two vertices of the same component) would also be walk between those
  :: two vertices, leading to a contradiction
  let G2;
  let v1,v2 be Vertex of G2;
  let e be object;
  let G1 be addEdge of G2,v1,e,v2;
  assume that
    A1: G2 is non connected and
    A2: v2 in G2.reachableFrom v1;
  per cases;
  suppose A3: v1 in the_Vertices_of G2 & v2 in the_Vertices_of G2 &
    not e in the_Edges_of G2;
    not for u,v being Vertex of G1 holds
      ex W being Walk of G1 st W is_Walk_from u,v
    proof
      assume A4: for u,v being Vertex of G1 holds
        ex W being Walk of G1 st W is_Walk_from u,v;
      consider u,v being Vertex of G2 such that
        A5: for W being Walk of G2 holds not W is_Walk_from u,v
        by A1, GLIB_002:def 1;
      reconsider u1=u,v3=v as Vertex of G1 by Th72;
      consider W1 being Walk of G1 such that
        A6: W1 is_Walk_from u1,v3 by A4;
      :: we simplify the walk to a trail to use its one-on-one property
      set T = the Trail of W1;
      A7: T is_Walk_from u1,v3 by A6, GLIB_001:160;
      per cases;
      suppose not e in T.edges();
        then reconsider W=T as Walk of G2 by Th113;
        W is_Walk_from u,v by A7, GLIB_001:19;
        hence contradiction by A5;
      end;
      suppose e in T.edges();
        then consider w1, w2 being Vertex of G1, n being odd Element of NAT
        such that
          A9: n+2 <= len T and
          A10: w1 = T.n & e = T.(n+1) & w2 = T.(n+2) and
          A11: e Joins w1, w2,G1 by GLIB_001:103;
        set E = G1.walkOf(w1,e,w2);
        A12: E is_odd_substring_of T,0 by A9, A10, Th31;
        e DJoins v1,v2,G1 by A3, Th109;
        then A13: e Joins v1,v2,G1 by GLIB_000:16;
        then per cases by A11, GLIB_000:15;
        suppose A14: v1 = w1 & v2 = w2;
          consider W2 being Walk of G2 such that
            A15: W2 is_Walk_from v1,v2 by A2, GLIB_002:def 5;
          reconsider W4=W2 as Walk of G1 by Th79;
          not e in W2.edges() by A3;
          then A16: not e in W4.edges() by GLIB_001:110;
          set W5 = T.replaceEdgeWith(e,W4);
          A17: W5 is_Walk_from u1,v3 by A7, Th51;
          W2.first() = v1 & W2.last() = v2 by A15, GLIB_001:def 23;
          then A18: W4.first() = v1 & W4.last() = v2 by GLIB_001:16;
          G1.walkOf(W4.first(),e,W4.last()) is_odd_substring_of T, 0
            by A12, A14, A18;
          then not e in W5.edges() by A13, A16, A18, Th44;
          then reconsider W = W5 as Walk of G2 by Th113;
          W is_Walk_from u,v by A17, GLIB_001:19;
          hence contradiction by A5;
        end;
        suppose A21: v1 = w2 & v2 = w1;
          consider W3 being Walk of G2 such that
            A22: W3 is_Walk_from v1,v2 by A2, GLIB_002:def 5;
          set W2 = W3.reverse();
          A23: W2 is_Walk_from v2,v1 by A22, GLIB_001:23;
          reconsider W4=W2 as Walk of G1 by Th79;
          not e in W2.edges() by A3;
          then A24: not e in W4.edges() by GLIB_001:110;
          set W5 = T.replaceEdgeWith(e,W4);
          A25: W5 is_Walk_from u1,v3 by A7, Th51;
          W2.first() = v2 & W2.last() = v1 by A23, GLIB_001:def 23;
          then A26: W4.first() = v2 & W4.last() = v1 by GLIB_001:16;
          G1.walkOf(W4.first(),e,W4.last()) is_odd_substring_of T, 0
            by A12, A21, A26;
          then not e in W5.edges() by A13, A24, A26, Th44, GLIB_000:14;
          then reconsider W = W5 as Walk of G2 by Th113;
          W is_Walk_from u,v by A25, GLIB_001:19;
          hence contradiction by A5;
        end;
      end;
    end;
    hence thesis by GLIB_002:def 1;
  end;
  suppose not (v1 in the_Vertices_of G2 & v2 in the_Vertices_of G2 &
    not e in the_Edges_of G2);
    then G1 == G2 by Def11;
    hence thesis by A1, GLIB_002:8;
  end;
end;
