
theorem Th41:
  for G being _Graph, W1, W2, W3 being Walk of G
  st W2 is_odd_substring_of W1, 0 &
    W2.first() = W3.first() & W2.last() = W3.last()
  holds W1.replaceWith(W2, W3).edges() =
    W1.cut(1,W1.findFirstVertex(W2)).edges() \/ W3.edges() \/
      W1.cut(W1.findLastVertex(W2), len W1).edges()
proof
  let G be _Graph, W1,W2,W3 be Walk of G;
  assume A1: W2 is_odd_substring_of W1, 0 &
    W2.first() = W3.first() & W2.last() = W3.last();
  reconsider n1 = 1 as odd Element of NAT by POLYFORM:4;
  set n2 = W1.findFirstVertex(W2);
  set n3 = W1.findLastVertex(W2);
  set n4 = len W1;
  set W1c = W1.cut(n1,n2);
  set W1ca = W1c.append(W3);
  set W1c2 = W1.cut(n3, n4);
  set W1caa = W1ca.append(W1c2);
  W1c.last() = W3.first() by A1, Th38;
  then A2: W1ca.edges() = W1c.edges() \/ W3.edges() by GLIB_001:102;
  W1ca.last() = W3.last() & W1c2.first() = W3.last() by A1, Th38;
  then W1caa.edges() = W1ca.edges() \/ W1c2.edges() by GLIB_001:102;
  hence thesis by A1, A2, Def5;
end;
