
theorem Th61:
  for G1 being _Graph, G2 being removeLoops of G1, W1 being Walk of G1
  ex W2 being Walk of G2 st W2 is_Walk_from W1.first(),W1.last()
proof
  let G1 be _Graph, G2 be removeLoops of G1;
  let W1 be Walk of G1;
  A1: W1 is_Walk_from W1.first(), W1.last() by GLIB_001:def 23;
  set P = the Path of W1, v = W1.first(), w = W1.last();
  A2: P is_Walk_from v,w by A1, GLIB_001:160;
  per cases;
  suppose P.edges() /\ G1.loops() = {};
    then P.edges() c= the_Edges_of G1 \ G1.loops()
      by XBOOLE_0:def 7, XBOOLE_1:86;
    then A3: P.edges() c= the_Edges_of G2 by GLIB_000:53;
    the_Vertices_of G1 = the_Vertices_of G2 by GLIB_000:53;
    then P.vertices() c= the_Vertices_of G2;
    then reconsider W2 = P as Walk of G2 by A3, GLIB_001:170;
    take W2;
    thus thesis by A2, GLIB_001:19;
  end;
  suppose P.edges() /\ G1.loops() <> {};
    then consider v0,e being object such that
      A4: e Joins v0,v0,G1 & P = G1.walkOf(v0,e,v0) by Th57, XBOOLE_0:def 7;
    P.first() = v0 & P.last() = v0 by A4, GLIB_001:15;
    then A5: v0 = v & v0 = w by A2, GLIB_001:def 23;
    v0 in the_Vertices_of G1 by A4, GLIB_000:13;
    then reconsider v0 as Vertex of G2 by GLIB_000:53;
    take G2.walkOf(v0);
    thus G2.walkOf(v0) is_Walk_from v,w by A5, GLIB_001:13;
  end;
end;
