let G be _Graph; :: thesis: for W being Walk of G
for m, n being Element of NAT
for x, y being set st W is_Walk_from x,y holds
W .remove (m,n) is_Walk_from x,y

let W be Walk of G; :: thesis: for m, n being Element of NAT
for x, y being set st W is_Walk_from x,y holds
W .remove (m,n) is_Walk_from x,y

let m, n be Element of NAT ; :: thesis: for x, y being set st W is_Walk_from x,y holds
W .remove (m,n) is_Walk_from x,y

let x, y be set ; :: thesis: ( W is_Walk_from x,y implies W .remove (m,n) is_Walk_from x,y )
set W2 = W .remove (m,n);
set WA = W .cut (1,m);
set WB = W .cut (n,(len W));
assume A1: W is_Walk_from x,y ; :: thesis: W .remove (m,n) is_Walk_from x,y
now :: thesis: W .remove (m,n) is_Walk_from x,y
per cases ( ( m is odd & n is odd & m <= n & n <= len W & W . m = W . n ) or not m is odd or not n is odd or not m <= n or not n <= len W or not W . m = W . n ) ;
suppose A2: ( m is odd & n is odd & m <= n & n <= len W & W . m = W . n ) ; :: thesis: W .remove (m,n) is_Walk_from x,y
then A3: (W .cut (n,(len W))) .last() = W .last() by Lm16
.= y by A1 ;
A4: W .remove (m,n) = (W .cut (1,m)) .append (W .cut (n,(len W))) by ;
A5: m <= len W by ;
A6: 1 <= m by ;
then A7: (W .cut (1,m)) .first() = W .first() by
.= x by A1 ;
(W .cut (1,m)) .last() = W . n by
.= (W .cut (n,(len W))) .first() by ;
hence W .remove (m,n) is_Walk_from x,y by A4, A7, A3, Lm11; :: thesis: verum
end;
suppose ( not m is odd or not n is odd or not m <= n or not n <= len W or not W . m = W . n ) ; :: thesis: W .remove (m,n) is_Walk_from x,y
hence W .remove (m,n) is_Walk_from x,y by ; :: thesis: verum
end;
end;
end;
hence W .remove (m,n) is_Walk_from x,y ; :: thesis: verum