
theorem Th32:
  for G being _Graph, W1 being Walk of G, e,x,y being object
  st e Joins x,y,G & e in W1.edges() & W1 is Cycle-like
  ex W2 being Path of G st W2 is_Walk_from x,y &
    W2.edges() = W1.edges() \ {e} & (not e in G.loops() implies W2 is open)
proof
  let G be _Graph, W1 be Walk of G, e,x,y be object;
  assume A1: e Joins x,y,G & e in W1.edges() & W1 is Cycle-like;
  then consider n being odd Element of NAT such that
    A2: n < len W1 & W1.(n+1) = e by GLIB_001:100;
  set W7 = W1.cut(n+2,len W1), W8 = W1.cut(1,n), W9 = W7.append(W8);
  A3: W9 is_Walk_from W1.(n+2),W1.n by A1, A2, Th31;
  A4: W9.edges() = W1.edges() \ {e} by A1, A2, Th31;
  A5: W9 is Path-like & (not e in G.loops() implies W9 is open)
    by A1, A2, Th31;
  W1.(n+1) Joins W1.n,W1.(n+2),G by A2, GLIB_001:def 3;
  then per cases by A1, A2, GLIB_000:15;
  suppose A6: W1.n = y & W1.(n+2) = x;
    reconsider W2 = W9 as Path of G by A5;
    take W2;
    thus thesis by A3, A4, A5, A6;
  end;
  suppose A7: W1.n = x & W1.(n+2) = y;
    reconsider W2 = W9.reverse() as Path of G by A5;
    take W2;
    A8: W2 is_Walk_from x,y by A3, A7, GLIB_001:23;
    W2.edges() = W1.edges() \ {e} by A4, GLIB_001:107;
    hence thesis by A5, A8, GLIB_001:120;
  end;
end;
