
theorem Th23:
  for G being _finite Path-like _Graph
  ex p being non empty _finite Path-like Graph-yielding FinSequence
  st p.1 is _trivial edgeless & p.len p = G & len p = G.order() &
    for n being Element of dom p st n <= len p - 1
    ex v1,v2 being Vertex of G, e being object
    st p.(n+1) is addAdjVertex of p.n,v1,e,v2 &
      e in the_Edges_of G \ the_Edges_of p.n &
      ((v1 in the_Vertices_of p.n & (n >= 2 implies v1 in Endvertices(p.n)) &
          not v2 in the_Vertices_of p.n) or
        (not v1 in the_Vertices_of p.n & v2 in the_Vertices_of p.n &
          (n >= 2 implies v2 in Endvertices(p.n))))
proof
  let G be _finite Path-like _Graph;
  set H = the _trivial Subgraph of G;
  consider p being non empty _finite Path-like Graph-yielding FinSequence
  such that
    A1: p.1 == H & p.len p = G & len p = G.order() - H.order() + 1 and
    A2: for n being Element of dom p st n <= len p - 1
      ex v1,v2 being Vertex of G, e being object
      st p.(n+1) is addAdjVertex of p.n,v1,e,v2 &
        e in the_Edges_of G \ the_Edges_of p.n &
        ( (v1 in the_Vertices_of p.n & not v2 in the_Vertices_of p.n &
            (p.n is non _trivial implies v1 in Endvertices(p.n))) or
          (not v1 in the_Vertices_of p.n & v2 in the_Vertices_of p.n &
            (p.n is non _trivial implies v2 in Endvertices(p.n)))) by Th22;
  take p;
  thus p.1 is _trivial edgeless by A1, GLIB_008:52, GLIB_000:89;
  thus p.len p = G by A1;
  H.order() = 1 by GLIB_000:26;
  hence len p = G.order() by A1;
  let n be Element of dom p;
  assume A3: n <= len p - 1;
  then consider v1,v2 being Vertex of G, e being object such that
    A4: p.(n+1) is addAdjVertex of p.n,v1,e,v2 &
      e in the_Edges_of G \ the_Edges_of p.n &
      ( (v1 in the_Vertices_of p.n & not v2 in the_Vertices_of p.n &
          (p.n is non _trivial implies v1 in Endvertices(p.n))) or
        (not v1 in the_Vertices_of p.n & v2 in the_Vertices_of p.n &
          (p.n is non _trivial implies v2 in Endvertices(p.n)))) by A2;
  take v1, v2, e;
  thus p.(n+1) is addAdjVertex of p.n,v1,e,v2 by A4;
  thus e in the_Edges_of G \ the_Edges_of p.n by A4;
  n >= 2 implies p.n is non _trivial
  proof
    assume n >= 2;
    then A6: n-1 >= 2-1 by XREAL_1:9;
    n - 1 <= n - 0 by XREAL_1:10;
    then A7: n - 1 <= len p - 1 by A3, XXREAL_0:2;
    len p - 1 <= len p - 0 by XREAL_1:10;
    then A8: n - 1 <= len p by A7, XXREAL_0:2;
    reconsider n1 = n - 1 as Element of NAT by A6, INT_1:3;
    reconsider n1 as Element of dom p by A6, A8, FINSEQ_3:25;
    consider w1,w2 being Vertex of G, e9 being object such that
      A9: p.(n1+1) is addAdjVertex of p.n1,w1,e9,w2 &
        e9 in the_Edges_of G \ the_Edges_of p.n1 &
        ( (w1 in the_Vertices_of p.n1 & not w2 in the_Vertices_of p.n1 &
            (p.n1 is non _trivial implies w1 in Endvertices(p.n1))) or
          (not w1 in the_Vertices_of p.n1 & w2 in the_Vertices_of p.n1 &
            (p.n1 is non _trivial implies w2 in Endvertices(p.n1)))) by A2, A7;
    not e9 in the_Edges_of p.n1 by A9, XBOOLE_0:def 5;
    hence thesis by A9, GLIB_006:143, GLIB_006:144;
  end;
  hence thesis by A4;
end;
