let G be real-weighted WGraph; :: thesis: for EL being FF:ELabeling of
for W being Walk of G
for e, v being set st W is_augmenting_wrt EL & not v in W .vertices() & ( ( e DJoins W .last() ,v,G & EL . e < (the_Weight_of G) . e ) or ( e DJoins v,W .last() ,G & 0 < EL . e ) ) holds
W .addEdge e is_augmenting_wrt EL
let EL be FF:ELabeling of ; :: thesis: for W being Walk of G
for e, v being set st W is_augmenting_wrt EL & not v in W .vertices() & ( ( e DJoins W .last() ,v,G & EL . e < (the_Weight_of G) . e ) or ( e DJoins v,W .last() ,G & 0 < EL . e ) ) holds
W .addEdge e is_augmenting_wrt EL
let W be Walk of G; :: thesis: for e, v being set st W is_augmenting_wrt EL & not v in W .vertices() & ( ( e DJoins W .last() ,v,G & EL . e < (the_Weight_of G) . e ) or ( e DJoins v,W .last() ,G & 0 < EL . e ) ) holds
W .addEdge e is_augmenting_wrt EL
let e, v be set ; :: thesis: ( W is_augmenting_wrt EL & not v in W .vertices() & ( ( e DJoins W .last() ,v,G & EL . e < (the_Weight_of G) . e ) or ( e DJoins v,W .last() ,G & 0 < EL . e ) ) implies W .addEdge e is_augmenting_wrt EL )
assume AA:
W is_augmenting_wrt EL
; :: thesis: ( v in W .vertices() or ( not ( e DJoins W .last() ,v,G & EL . e < (the_Weight_of G) . e ) & not ( e DJoins v,W .last() ,G & 0 < EL . e ) ) or W .addEdge e is_augmenting_wrt EL )
set W2 = W .addEdge e;
assume A1:
( not v in W .vertices() & ( ( e DJoins W .last() ,v,G & EL . e < (the_Weight_of G) . e ) or ( e DJoins v,W .last() ,G & 0 < EL . e ) ) )
; :: thesis: W .addEdge e is_augmenting_wrt EL
let n be odd Nat; :: according to GLIB_005:def 8 :: thesis: ( n < len (W .addEdge e) implies ( ( (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies EL . ((W .addEdge e) . (n + 1)) < (the_Weight_of G) . ((W .addEdge e) . (n + 1)) ) & ( not (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies 0 < EL . ((W .addEdge e) . (n + 1)) ) ) )
assume A2:
n < len (W .addEdge e)
; :: thesis: ( ( (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies EL . ((W .addEdge e) . (n + 1)) < (the_Weight_of G) . ((W .addEdge e) . (n + 1)) ) & ( not (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies 0 < EL . ((W .addEdge e) . (n + 1)) ) )
A3:
e Joins W .last() ,v,G
by A1, GLIB_000:19;
now per cases
( n < len W or n >= len W )
;
suppose A5:
n >= len W
;
:: thesis: ( ( (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies EL . ((W .addEdge e) . (n + 1)) < (the_Weight_of G) . ((W .addEdge e) . (n + 1)) ) & ( not (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies 0 < EL . ((W .addEdge e) . (n + 1)) ) )
n + 1
<= len (W .addEdge e)
by A2, NAT_1:13;
then
n + 1
<= (len W) + (2 * 1)
by A3, GLIB_001:65;
then
n + 1
< ((len W) + 1) + 1
by XXREAL_0:1;
then
n + 1
<= (len W) + 1
by NAT_1:13;
then
n <= len W
by XREAL_1:8;
then A6:
( 1
<= n &
n = len W )
by A5, HEYTING3:1, XXREAL_0:1;
then
n in dom W
by FINSEQ_3:27;
then A7:
(W .addEdge e) . n =
W . n
by A3, GLIB_001:66
.=
W .last()
by A6, GLIB_001:def 7
;
A8:
(
(W .addEdge e) . (n + 1) = e &
(W .addEdge e) . (n + 2) = v )
by A3, A6, GLIB_001:66;
hence
(
(W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,
(W .addEdge e) . (n + 2),
G implies
EL . ((W .addEdge e) . (n + 1)) < (the_Weight_of G) . ((W .addEdge e) . (n + 1)) )
by A1, A7, A8;
:: thesis: ( not (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies 0 < EL . ((W .addEdge e) . (n + 1)) )assume
not
(W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,
(W .addEdge e) . (n + 2),
G
;
:: thesis: 0 < EL . ((W .addEdge e) . (n + 1))hence
0 < EL . ((W .addEdge e) . (n + 1))
by A1, A7, A8;
:: thesis: verum end; end; end;
hence
( ( (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies EL . ((W .addEdge e) . (n + 1)) < (the_Weight_of G) . ((W .addEdge e) . (n + 1)) ) & ( not (W .addEdge e) . (n + 1) DJoins (W .addEdge e) . n,(W .addEdge e) . (n + 2),G implies 0 < EL . ((W .addEdge e) . (n + 1)) ) )
; :: thesis: verum