
theorem Th39:
  for G being _Graph, W1, W2, W3 being Walk of G holds
    W1.first() = W1.replaceWith(W2, W3).first() &
    W1.last() = W1.replaceWith(W2, W3).last()
proof
  let G be _Graph;
  let W1, W2, W3 be Walk of G;
  per cases;
  suppose A1: W2 is_odd_substring_of W1, 0 &
    W2.first() = W3.first() & W2.last() = W3.last();
    then A2: W1.replaceWith(W2, W3) =
      W1.cut(1,W1.findFirstVertex(W2)
        ).append(W3
        ).append(W1.cut(W1.findLastVertex(W2), len W1)) by Def5;
    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);
    W1ca.last() = W3.last() & W1c2.first() = W3.last() by A1, Th38;
    then W1caa.first() = W1ca.first() & W1caa.last() = W1c2.last()
      by GLIB_001:30;
    hence thesis by A1, A2, Th38;
  end;
  suppose not (W2 is_odd_substring_of W1, 0 &
    W2.first() = W3.first() & W2.last() = W3.last());
    hence thesis by Def5;
  end;
end;
