
theorem Th46:
  for G being _Graph, W1, W3 being Walk of G, e being object
  st e Joins W3.first(),W3.last(),G &
    G.walkOf(W3.first(),e,W3.last()) is_odd_substring_of W1, 0
  holds ex W2 being Walk of G
    st W1.replaceEdgeWith(e,W3) = W1.replaceWith(W2,W3)
proof
  let G be _Graph, W1, W3 be Walk of G, e be object;
  ::per cases;
  ::suppose A1: e Joins W3.first(),W3.last(),G &
  ::  G.walkOf(W3.first(),e,W3.last()) is_odd_substring_of W1, 0;
  assume A1: e Joins W3.first(),W3.last(),G &
    G.walkOf(W3.first(),e,W3.last()) is_odd_substring_of W1, 0;
    take G.walkOf(W3.first(),e,W3.last());
    thus thesis by A1, Def6;
  ::end;
  ::suppose not (e Joins W3.first(),W3.last(),G &
  ::  G.walkOf(W3.first(),e,W3.last()) is_odd_substring_of W1, 0);
  ::  then A2: W1.replaceEdgeWith(e, W3) = W1 by Def6;
  ::  take W3;
  ::  thus thesis by A2, ThExtra;
  ::end;
end;
