let G be finite real-weighted WGraph; :: thesis: for EL being FF:ELabeling of
for source, sink being set
for V being Subset of (the_Vertices_of G) st EL has_valid_flow_from source,sink & source in V & not sink in V holds
EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)))
let EL be FF:ELabeling of ; :: thesis: for source, sink being set
for V being Subset of (the_Vertices_of G) st EL has_valid_flow_from source,sink & source in V & not sink in V holds
EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)))
let source, sink be set ; :: thesis: for V being Subset of (the_Vertices_of G) st EL has_valid_flow_from source,sink & source in V & not sink in V holds
EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)))
let V be Subset of (the_Vertices_of G); :: thesis: ( EL has_valid_flow_from source,sink & source in V & not sink in V implies EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V))) )
assume A1:
( EL has_valid_flow_from source,sink & source in V & not sink in V )
; :: thesis: EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)))
set VG = the_Vertices_of G;
set SG = the_Source_of G;
set TG = the_Target_of G;
defpred S1[ Nat] means for V being Subset of (the_Vertices_of G) st card ((the_Vertices_of G) \ V) = $1 & source in V & not sink in V holds
EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)));
now let V be
Subset of
(the_Vertices_of G);
:: thesis: ( card ((the_Vertices_of G) \ V) = 1 & source in V & not sink in V implies EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V))) )assume A2:
(
card ((the_Vertices_of G) \ V) = 1 &
source in V & not
sink in V )
;
:: thesis: EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)))then consider v being
set such that A3:
(the_Vertices_of G) \ V = {v}
by CARD_2:60;
sink is
Vertex of
G
by A1, Def7;
then
sink in (the_Vertices_of G) \ V
by A2, XBOOLE_0:def 5;
then A4:
v = sink
by A3, TARSKI:def 1;
then A7:
V = (the_Vertices_of G) \ {sink}
by TARSKI:2;
set ESS =
G .edgesDBetween {sink},
{sink};
reconsider EIN =
(G .edgesInto {sink}) \ (G .edgesDBetween {sink},{sink}) as
Subset of
(the_Edges_of G) ;
reconsider EOUT =
(G .edgesOutOf {sink}) \ (G .edgesDBetween {sink},{sink}) as
Subset of
(the_Edges_of G) ;
set EESS =
EL | (G .edgesDBetween {sink},{sink});
now let e be
set ;
:: thesis: ( ( e in G .edgesDBetween V,((the_Vertices_of G) \ V) implies e in EIN ) & ( e in EIN implies e in G .edgesDBetween V,((the_Vertices_of G) \ V) ) )assume A10:
e in EIN
;
:: thesis: e in G .edgesDBetween V,((the_Vertices_of G) \ V)then A11:
(
e in G .edgesInto {sink} & not
e in G .edgesDBetween {sink},
{sink} )
by XBOOLE_0:def 5;
(G .edgesInto {sink}) \ (G .edgesDBetween {sink},{sink}) is
Subset of
(G .edgesInto {sink})
;
then A12:
(
e in the_Edges_of G &
(the_Target_of G) . e in {sink} )
by A10, GLIB_000:def 28;
then
e DSJoins V,
{sink},
G
by A12, GLIB_000:def 18;
hence
e in G .edgesDBetween V,
((the_Vertices_of G) \ V)
by A3, A4, GLIB_000:def 33;
:: thesis: verum end; then A14:
G .edgesDBetween V,
((the_Vertices_of G) \ V) = EIN
by TARSKI:2;
then A15:
G .edgesDBetween {sink},
{sink} c= G .edgesInto {sink}
by TARSKI:def 3;
A16:
(G .edgesDBetween {sink},{sink}) \/ EIN =
(G .edgesInto {sink}) \/ (G .edgesDBetween {sink},{sink})
by XBOOLE_1:39
.=
G .edgesInto {sink}
by A15, XBOOLE_1:12
;
A17:
(
dom (EL | (G .edgesInto {sink})) = G .edgesInto {sink} &
dom (EL | (G .edgesDBetween {sink},{sink})) = G .edgesDBetween {sink},
{sink} &
dom (EL | EIN) = EIN &
dom (EL | EOUT) = EOUT &
dom (EL | (G .edgesOutOf {sink})) = G .edgesOutOf {sink} )
by PARTFUN1:def 4;
then A18:
dom ((EL | (G .edgesDBetween {sink},{sink})) +* (EL | EIN)) = (G .edgesDBetween {sink},{sink}) \/ EIN
by FUNCT_4:def 1;
then A23:
Sum (EL | (G .edgesInto {sink})) = (Sum (EL | EIN)) + (Sum (EL | (G .edgesDBetween {sink},{sink})))
by A16, A17, A18, FUNCT_1:9, GLIB_004:3;
now let e be
set ;
:: thesis: ( ( e in G .edgesDBetween ((the_Vertices_of G) \ V),V implies e in EOUT ) & ( e in EOUT implies e in G .edgesDBetween ((the_Vertices_of G) \ V),V ) )assume A26:
e in EOUT
;
:: thesis: e in G .edgesDBetween ((the_Vertices_of G) \ V),Vthen A27:
(
e in G .edgesOutOf {sink} & not
e in G .edgesDBetween {sink},
{sink} )
by XBOOLE_0:def 5;
(G .edgesOutOf {sink}) \ (G .edgesDBetween {sink},{sink}) is
Subset of
(G .edgesOutOf {sink})
;
then A28:
(
e in the_Edges_of G &
(the_Source_of G) . e in {sink} )
by A26, GLIB_000:def 29;
then
e DSJoins (the_Vertices_of G) \ V,
V,
G
by A3, A4, A28, GLIB_000:def 18;
hence
e in G .edgesDBetween ((the_Vertices_of G) \ V),
V
by GLIB_000:def 33;
:: thesis: verum end; then A30:
G .edgesDBetween ((the_Vertices_of G) \ V),
V = EOUT
by TARSKI:2;
then A31:
G .edgesDBetween {sink},
{sink} c= G .edgesOutOf {sink}
by TARSKI:def 3;
(G .edgesDBetween {sink},{sink}) \/ EOUT =
(G .edgesOutOf {sink}) \/ (G .edgesDBetween {sink},{sink})
by XBOOLE_1:39
.=
G .edgesOutOf {sink}
by A31, XBOOLE_1:12
;
then A32:
dom ((EL | (G .edgesDBetween {sink},{sink})) +* (EL | EOUT)) = G .edgesOutOf {sink}
by A17, FUNCT_4:def 1;
then
Sum (EL | (G .edgesOutOf {sink})) = (Sum (EL | EOUT)) + (Sum (EL | (G .edgesDBetween {sink},{sink})))
by A17, A32, FUNCT_1:9, GLIB_004:3;
then EL .flow source,
sink =
((Sum (EL | EIN)) + (Sum (EL | (G .edgesDBetween {sink},{sink})))) - ((Sum (EL | (G .edgesDBetween {sink},{sink}))) + (Sum (EL | EOUT)))
by A1, A23, Def8
.=
(Sum (EL | EIN)) - (Sum (EL | EOUT))
;
hence
EL .flow source,
sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)))
by A14, A30;
:: thesis: verum end;
then A37:
S1[1]
;
A38:
now let n be non
empty Nat;
:: thesis: ( S1[n] implies S1[n + 1] )assume A39:
S1[
n]
;
:: thesis: S1[n + 1]now let V2 be
Subset of
(the_Vertices_of G);
:: thesis: ( card ((the_Vertices_of G) \ V2) = n + 1 & source in V2 & not sink in V2 implies EL .flow source,sink = (Sum (EL | (G .edgesDBetween V2,((the_Vertices_of G) \ V2)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V2),V2))) )assume A40:
(
card ((the_Vertices_of G) \ V2) = n + 1 &
source in V2 & not
sink in V2 )
;
:: thesis: EL .flow source,sink = (Sum (EL | (G .edgesDBetween V2,((the_Vertices_of G) \ V2)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V2),V2)))set x =
choose (((the_Vertices_of G) \ V2) \ {sink});
A41:
V2 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))} is
Subset of
V2
;
sink is
Vertex of
G
by A1, Def7;
then
sink in (the_Vertices_of G) \ V2
by A40, XBOOLE_0:def 5;
then
{sink} c= (the_Vertices_of G) \ V2
by ZFMISC_1:37;
then card (((the_Vertices_of G) \ V2) \ {sink}) =
(n + 1) - (card {sink})
by A40, CARD_2:63
.=
(n + 1) - 1
by CARD_1:50
.=
n
;
then A42:
(
choose (((the_Vertices_of G) \ V2) \ {sink}) in (the_Vertices_of G) \ V2 & not
choose (((the_Vertices_of G) \ V2) \ {sink}) in {sink} )
by CARD_1:47, XBOOLE_0:def 5;
then A43:
(
choose (((the_Vertices_of G) \ V2) \ {sink}) in the_Vertices_of G & not
choose (((the_Vertices_of G) \ V2) \ {sink}) in V2 )
by XBOOLE_0:def 5;
set V1 =
V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))};
set EV1V1a =
G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}));
set EV1V1b =
G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))});
set EV2X =
G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))};
set EXV2 =
G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2;
set EXV1c =
G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}));
set EV1Xd =
G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))};
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} c= the_Vertices_of G
by A42, ZFMISC_1:37;
then reconsider V1 =
V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))} as
Subset of
(the_Vertices_of G) by XBOOLE_1:8;
A44:
(the_Vertices_of G) \ V1 = ((the_Vertices_of G) \ V2) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_1:41;
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} c= (the_Vertices_of G) \ V2
by A42, ZFMISC_1:37;
then A45:
card ((the_Vertices_of G) \ V1) =
(card ((the_Vertices_of G) \ V2)) - (card {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by A44, CARD_2:63
.=
(n + 1) - 1
by A40, CARD_1:50
.=
n
;
A46:
source in V1
by A40, XBOOLE_0:def 3;
A47:
choose (((the_Vertices_of G) \ V2) \ {sink}) <> sink
by A42, TARSKI:def 1;
then
not
sink in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by TARSKI:def 1;
then
not
sink in V1
by A40, XBOOLE_0:def 3;
then A48:
EL .flow source,
sink = (Sum (EL | (G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))))
by A39, A45, A46;
now let e be
set ;
:: thesis: ( ( e in G .edgesDBetween V2,((the_Vertices_of G) \ V2) implies e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) ) & ( e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) implies e in G .edgesDBetween V2,((the_Vertices_of G) \ V2) ) )hereby :: thesis: ( e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) implies e in G .edgesDBetween V2,((the_Vertices_of G) \ V2) )
assume
e in G .edgesDBetween V2,
((the_Vertices_of G) \ V2)
;
:: thesis: e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))then
e DSJoins V2,
(the_Vertices_of G) \ V2,
G
by GLIB_000:def 33;
then A49:
(
e in the_Edges_of G &
(the_Source_of G) . e in V2 &
(the_Target_of G) . e in (the_Vertices_of G) \ V2 )
by GLIB_000:def 18;
then A50:
(the_Source_of G) . e in V1
by XBOOLE_0:def 3;
now per cases
( (the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} or not (the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
;
suppose
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))then
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A49, GLIB_000:def 18;
then
e in G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 33;
then
e in (G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by XBOOLE_0:def 3;
hence
e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
by A51, XBOOLE_0:def 5;
:: thesis: verum end; suppose
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))then
(the_Target_of G) . e in (the_Vertices_of G) \ V1
by A44, A49, XBOOLE_0:def 5;
then
e DSJoins V1,
(the_Vertices_of G) \ V1,
G
by A49, A50, GLIB_000:def 18;
then
e in G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by GLIB_000:def 33;
then
e in (G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by XBOOLE_0:def 3;
hence
e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
by A51, XBOOLE_0:def 5;
:: thesis: verum end; end; end; hence
e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
;
:: thesis: verum
end; assume A52:
e in ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
;
:: thesis: e in G .edgesDBetween V2,((the_Vertices_of G) \ V2)then
(
e in (G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) & not
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) )
by XBOOLE_0:def 5;
then A53:
not
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
A54:
((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) is
Subset of
((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
;
now per cases
( e in G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) or e in G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by A52, A54, XBOOLE_0:def 3;
suppose
e in G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
;
:: thesis: e DSJoins V2,(the_Vertices_of G) \ V2,Gthen
e DSJoins V1,
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
then A55:
(
e in the_Edges_of G &
(the_Source_of G) . e in V1 &
(the_Target_of G) . e in (the_Vertices_of G) \ V1 )
by GLIB_000:def 18;
then
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A53, GLIB_000:def 18;
then
(the_Source_of G) . e in V1 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A55, XBOOLE_0:def 5;
then A56:
(the_Source_of G) . e in V2 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_1:40;
(
(the_Target_of G) . e in the_Vertices_of G & not
(the_Target_of G) . e in V1 )
by A55, XBOOLE_0:def 5;
then
not
(the_Target_of G) . e in V2
by XBOOLE_0:def 3;
then
(the_Target_of G) . e in (the_Vertices_of G) \ V2
by A55, XBOOLE_0:def 5;
hence
e DSJoins V2,
(the_Vertices_of G) \ V2,
G
by A41, A55, A56, GLIB_000:def 18;
:: thesis: verum end; end; end; hence
e in G .edgesDBetween V2,
((the_Vertices_of G) \ V2)
by GLIB_000:def 33;
:: thesis: verum end; then A59:
G .edgesDBetween V2,
((the_Vertices_of G) \ V2) = ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
by TARSKI:2;
reconsider EA =
(G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) as
Subset of
(the_Edges_of G) ;
reconsider E1 =
EA \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) as
Subset of
(the_Edges_of G) ;
reconsider EB =
EA \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) as
Subset of
(the_Edges_of G) ;
reconsider EC =
(G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) as
Subset of
(the_Edges_of G) ;
reconsider E2 =
EC \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) as
Subset of
(the_Edges_of G) ;
reconsider ED =
EC \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) as
Subset of
(the_Edges_of G) ;
now assume
G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) meets G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: contradictionthen A60:
(G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) <> {}
by XBOOLE_0:def 7;
set e =
choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}));
(
choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) in G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) &
choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) in G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by A60, XBOOLE_0:def 4;
then
(
choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) DSJoins V1,
(the_Vertices_of G) \ V1,
G &
choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G )
by GLIB_000:def 33;
then
(
(the_Target_of G) . (choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) in (the_Vertices_of G) \ V1 &
(the_Target_of G) . (choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then
( not
(the_Target_of G) . (choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) in V1 &
(the_Target_of G) . (choose ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) /\ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) in V1 )
by XBOOLE_0:def 3, XBOOLE_0:def 5;
hence
contradiction
;
:: thesis: verum end; then
(G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) = G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by XBOOLE_1:83;
then A61:
EB = G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by XBOOLE_1:40;
now assume
G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) meets G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2
;
:: thesis: contradictionthen A62:
(G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) <> {}
by XBOOLE_0:def 7;
set e =
choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2));
(
choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) &
choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2 )
by A62, XBOOLE_0:def 4;
then
(
choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) DSJoins (the_Vertices_of G) \ V1,
V1,
G &
choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G )
by GLIB_000:def 33;
then
(
(the_Source_of G) . (choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) in (the_Vertices_of G) \ V1 &
(the_Source_of G) . (choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then
( not
(the_Source_of G) . (choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) in V1 &
(the_Source_of G) . (choose ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) /\ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) in V1 )
by XBOOLE_0:def 3, XBOOLE_0:def 5;
hence
contradiction
;
:: thesis: verum end; then
(G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) = G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by XBOOLE_1:83;
then A63:
ED = G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by XBOOLE_1:40;
now let e be
set ;
:: thesis: ( e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) implies e in G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) )assume
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
;
:: thesis: e in G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
then A64:
(
e in the_Edges_of G &
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
(the_Target_of G) . e in (the_Vertices_of G) \ V1 )
by GLIB_000:def 18;
then
(the_Source_of G) . e in V1
by XBOOLE_0:def 3;
then
e DSJoins V1,
(the_Vertices_of G) \ V1,
G
by A64, GLIB_000:def 18;
hence
e in G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by GLIB_000:def 33;
:: thesis: verum end; then A65:
G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) c= G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by TARSKI:def 3;
A66:
(
dom (EL | EA) = EA &
dom (EL | EB) = EB &
dom (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))) = G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) &
dom (EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) = G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
dom (EL | E1) = EA \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) )
by PARTFUN1:def 4;
then A67:
dom ((EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))) +* (EL | E1)) =
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (EA \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))))
by FUNCT_4:def 1
.=
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by XBOOLE_1:39
.=
EA
by A65, XBOOLE_1:10, XBOOLE_1:12
;
then A71:
Sum (EL | EA) = (Sum (EL | E1)) + (Sum (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))))
by A66, A67, FUNCT_1:9, GLIB_004:3;
A72:
dom ((EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) +* (EL | EB)) =
(G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \/ EB
by A66, FUNCT_4:def 1
.=
(G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \/ ((G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \/ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by XBOOLE_1:39
.=
EA
by XBOOLE_1:6
;
then A76:
Sum (EL | EA) = (Sum (EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) + (Sum (EL | (G .edgesDBetween (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))))
by A61, A66, A72, FUNCT_1:9, GLIB_004:3;
now let e be
set ;
:: thesis: ( e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} implies e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) )assume
e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})then
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A77:
(
e in the_Edges_of G &
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
(the_Source_of G) . e in (the_Vertices_of G) \ V1 )
by GLIB_000:def 18;
then
(the_Target_of G) . e in V1
by XBOOLE_0:def 3;
then
e DSJoins (the_Vertices_of G) \ V1,
V1,
G
by A77, GLIB_000:def 18;
hence
e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by GLIB_000:def 33;
:: thesis: verum end; then A78:
G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} c= G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by TARSKI:def 3;
now let e be
set ;
:: thesis: ( ( e in G .edgesDBetween ((the_Vertices_of G) \ V2),V2 implies e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) ) & ( e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) implies e in G .edgesDBetween ((the_Vertices_of G) \ V2),V2 ) )hereby :: thesis: ( e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) implies e in G .edgesDBetween ((the_Vertices_of G) \ V2),V2 )
assume
e in G .edgesDBetween ((the_Vertices_of G) \ V2),
V2
;
:: thesis: e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})then
e DSJoins (the_Vertices_of G) \ V2,
V2,
G
by GLIB_000:def 33;
then A79:
(
e in the_Edges_of G &
(the_Target_of G) . e in V2 &
(the_Source_of G) . e in (the_Vertices_of G) \ V2 )
by GLIB_000:def 18;
then A80:
(the_Target_of G) . e in V1
by XBOOLE_0:def 3;
now per cases
( (the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} or not (the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
;
suppose
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G
by A79, GLIB_000:def 18;
then
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2
by GLIB_000:def 33;
then
e in (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)
by XBOOLE_0:def 3;
hence
e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by A81, XBOOLE_0:def 5;
:: thesis: verum end; suppose
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})then
(the_Source_of G) . e in (the_Vertices_of G) \ V1
by A44, A79, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ V1,
V1,
G
by A79, A80, GLIB_000:def 18;
then
e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by GLIB_000:def 33;
then
e in (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)
by XBOOLE_0:def 3;
hence
e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by A81, XBOOLE_0:def 5;
:: thesis: verum end; end; end; hence
e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
;
:: thesis: verum
end; assume A82:
e in ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
;
:: thesis: e in G .edgesDBetween ((the_Vertices_of G) \ V2),V2then
(
e in (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) & not
e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by XBOOLE_0:def 5;
then A83:
not
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
A84:
((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) is
Subset of
((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))
;
now per cases
( e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) or e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2 )
by A82, A84, XBOOLE_0:def 3;
suppose
e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
;
:: thesis: e DSJoins (the_Vertices_of G) \ V2,V2,Gthen
e DSJoins (the_Vertices_of G) \ V1,
V1,
G
by GLIB_000:def 33;
then A85:
(
e in the_Edges_of G &
(the_Target_of G) . e in V1 &
(the_Source_of G) . e in (the_Vertices_of G) \ V1 )
by GLIB_000:def 18;
then
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A83, GLIB_000:def 18;
then
(the_Target_of G) . e in V1 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A85, XBOOLE_0:def 5;
then A86:
(the_Target_of G) . e in V2 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_1:40;
(
(the_Source_of G) . e in the_Vertices_of G & not
(the_Source_of G) . e in V1 )
by A85, XBOOLE_0:def 5;
then
not
(the_Source_of G) . e in V2
by XBOOLE_0:def 3;
then
(the_Source_of G) . e in (the_Vertices_of G) \ V2
by A85, XBOOLE_0:def 5;
hence
e DSJoins (the_Vertices_of G) \ V2,
V2,
G
by A41, A85, A86, GLIB_000:def 18;
:: thesis: verum end; end; end; hence
e in G .edgesDBetween ((the_Vertices_of G) \ V2),
V2
by GLIB_000:def 33;
:: thesis: verum end; then A89:
G .edgesDBetween ((the_Vertices_of G) \ V2),
V2 = E2
by TARSKI:2;
A90:
(
dom (EL | EC) = EC &
dom (EL | ED) = ED &
dom (EL | (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) = G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
dom (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) = G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2 &
dom (EL | E2) = EC \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) )
by PARTFUN1:def 4;
then A91:
dom ((EL | (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) +* (EL | E2)) =
(G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \/ (EC \ (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by FUNCT_4:def 1
.=
(G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \/ ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))
by XBOOLE_1:39
.=
EC
by A78, XBOOLE_1:10, XBOOLE_1:12
;
then A95:
Sum (EL | EC) = (Sum (EL | E2)) + (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
by A90, A91, FUNCT_1:9, GLIB_004:3;
A96:
dom ((EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) +* (EL | ED)) =
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) \/ ED
by A90, FUNCT_4:def 1
.=
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) \/ ((G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))
by XBOOLE_1:39
.=
EC
by XBOOLE_1:6
;
then A100:
Sum (EL | EC) = (Sum (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) + (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))))
by A63, A90, A96, FUNCT_1:9, GLIB_004:3;
set EXXe =
G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))});
set EXXf =
G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))};
now let e be
set ;
:: thesis: ( ( e in (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) implies e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} ) & ( e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} implies e in (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) ) )hereby :: thesis: ( e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} implies e in (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) )
assume
e in (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
;
:: thesis: e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}then
(
e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} & not
e in G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by XBOOLE_0:def 5;
then A101:
(
e DSJoins (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G & not
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G )
by GLIB_000:def 33;
then A102:
(
e in the_Edges_of G &
(the_Source_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then A103:
not
(the_Source_of G) . e in V2
by A101, GLIB_000:def 18;
(
(the_Source_of G) . e in the_Vertices_of G & not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by A102, XBOOLE_0:def 5;
then
not
(the_Source_of G) . e in V1
by A103, XBOOLE_0:def 3;
then
(the_Source_of G) . e in (the_Vertices_of G) \ V1
by A102, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A102, GLIB_000:def 18;
hence
e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 33;
:: thesis: verum
end; assume
e in G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})then
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A104:
(
e in the_Edges_of G &
(the_Source_of G) . e in (the_Vertices_of G) \ V1 &
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then A105:
(
(the_Source_of G) . e in the_Vertices_of G & not
(the_Source_of G) . e in V1 )
by XBOOLE_0:def 5;
then
not
(the_Source_of G) . e in V2
by XBOOLE_0:def 3;
then
not
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 18;
then A106:
not
e in G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 33;
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A105, XBOOLE_0:def 3;
then
(the_Source_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A104, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A104, GLIB_000:def 18;
then
e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 33;
hence
e in (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by A106, XBOOLE_0:def 5;
:: thesis: verum end; then A107:
(G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) = G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by TARSKI:2;
reconsider EV1Xdb =
(G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) as
Subset of
(the_Edges_of G) ;
now let e be
set ;
:: thesis: ( e in G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))} implies e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} )assume
e in G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}then
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A108:
(
e in the_Edges_of G &
(the_Source_of G) . e in V2 &
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A43, TARSKI:def 1;
then
(the_Source_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A108, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A108, GLIB_000:def 18;
hence
e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 33;
:: thesis: verum end; then A109:
G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} c= G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by TARSKI:def 3;
A110:
(
dom (EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) = G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
dom (EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) = G .edgesDBetween V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
dom (EL | EV1Xdb) = (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) )
by PARTFUN1:def 4;
then A111:
dom ((EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) +* (EL | ((G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})))) =
(G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \/ ((G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \ (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by FUNCT_4:def 1
.=
(G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}) \/ (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by XBOOLE_1:39
.=
G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A109, XBOOLE_1:12
;
now let e be
set ;
:: thesis: ( e in dom (EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) implies (EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) . e = ((EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) +* (EL | EV1Xdb)) . e )assume A112:
e in dom (EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
;
:: thesis: (EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) . e = ((EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) +* (EL | EV1Xdb)) . ethen A113:
e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by PARTFUN1:def 4;
hence
(EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) . e = ((EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))})) +* (EL | EV1Xdb)) . e
by A110, A112, FUNCT_1:72;
:: thesis: verum end; then A116:
(Sum (EL | (G .edgesDBetween V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) + (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) = Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by A107, A110, A111, FUNCT_1:9, GLIB_004:3;
now let e be
set ;
:: thesis: ( ( e in (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) implies e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) ) & ( e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) implies e in (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) ) )hereby :: thesis: ( e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) implies e in (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) )
assume
e in (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)
;
:: thesis: e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))then
(
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) & not
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2 )
by XBOOLE_0:def 5;
then A117:
(
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G & not
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G )
by GLIB_000:def 33;
then A118:
(
e in the_Edges_of G &
(the_Target_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))} &
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then A119:
not
(the_Target_of G) . e in V2
by A117, GLIB_000:def 18;
(
(the_Target_of G) . e in the_Vertices_of G & not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by A118, XBOOLE_0:def 5;
then
not
(the_Target_of G) . e in V1
by A119, XBOOLE_0:def 3;
then
(the_Target_of G) . e in (the_Vertices_of G) \ V1
by A118, XBOOLE_0:def 5;
then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by A118, GLIB_000:def 18;
hence
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by GLIB_000:def 33;
:: thesis: verum
end; assume
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
;
:: thesis: e in (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
then A120:
(
e in the_Edges_of G &
(the_Target_of G) . e in (the_Vertices_of G) \ V1 &
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then A121:
(
(the_Target_of G) . e in the_Vertices_of G & not
(the_Target_of G) . e in V1 )
by XBOOLE_0:def 5;
then
not
(the_Target_of G) . e in V2
by XBOOLE_0:def 3;
then
not
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G
by GLIB_000:def 18;
then A122:
not
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2
by GLIB_000:def 33;
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A121, XBOOLE_0:def 3;
then
(the_Target_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A120, XBOOLE_0:def 5;
then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A120, GLIB_000:def 18;
then
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by GLIB_000:def 33;
hence
e in (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)
by A122, XBOOLE_0:def 5;
:: thesis: verum end; then A123:
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) = G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by TARSKI:2;
reconsider EXV1cb =
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) as
Subset of
(the_Edges_of G) ;
now let e be
set ;
:: thesis: ( e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2 implies e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) )assume
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2
;
:: thesis: e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G
by GLIB_000:def 33;
then A124:
(
e in the_Edges_of G &
(the_Target_of G) . e in V2 &
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))} )
by GLIB_000:def 18;
then
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A43, TARSKI:def 1;
then
(the_Target_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A124, XBOOLE_0:def 5;
then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A124, GLIB_000:def 18;
hence
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by GLIB_000:def 33;
:: thesis: verum end; then A125:
G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2 c= G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by TARSKI:def 3;
A126:
(
dom (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) = G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) &
dom (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) = G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2 &
dom (EL | EXV1cb) = (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) )
by PARTFUN1:def 4;
then A127:
dom ((EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) +* (EL | ((G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)))) =
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) \/ ((G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})) \ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))
by FUNCT_4:def 1
.=
(G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2) \/ (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by XBOOLE_1:39
.=
G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by A125, XBOOLE_1:12
;
now let e be
set ;
:: thesis: ( e in dom (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) implies (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) . e = ((EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) +* (EL | EXV1cb)) . e )assume A128:
e in dom (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
;
:: thesis: (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) . e = ((EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) +* (EL | EXV1cb)) . ethen A129:
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by PARTFUN1:def 4;
hence
(EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) . e = ((EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2)) +* (EL | EXV1cb)) . e
by A126, A128, FUNCT_1:72;
:: thesis: verum end; then A132:
(Sum (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) + (Sum (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))))) = Sum (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
by A123, A126, A127, FUNCT_1:9, GLIB_004:3;
reconsider x =
choose (((the_Vertices_of G) \ V2) \ {sink}) as
Vertex of
G by A42;
(
x .edgesIn() = G .edgesDBetween (the_Vertices_of G),
{x} &
x .edgesOut() = G .edgesDBetween {x},
(the_Vertices_of G) )
by GLIB_000:42;
then A133:
Sum (EL | (G .edgesDBetween (the_Vertices_of G),{x})) = Sum (EL | (G .edgesDBetween {x},(the_Vertices_of G)))
by A1, A40, A43, A47, Def7;
now let e be
set ;
:: thesis: ( ( e in (G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x}) implies e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} ) & ( e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} implies e in (G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x}) ) )hereby :: thesis: ( e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))} implies e in (G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x}) )
assume
e in (G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x})
;
:: thesis: e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}then
(
e in G .edgesDBetween (the_Vertices_of G),
{x} & not
e in G .edgesDBetween {x},
{x} )
by XBOOLE_0:def 5;
then A134:
(
e DSJoins the_Vertices_of G,
{x},
G & not
e DSJoins {x},
{x},
G )
by GLIB_000:def 33;
then A135:
(
e in the_Edges_of G &
(the_Source_of G) . e in the_Vertices_of G &
(the_Target_of G) . e in {x} )
by GLIB_000:def 18;
then
not
(the_Source_of G) . e in {x}
by A134, GLIB_000:def 18;
then
(the_Source_of G) . e in (the_Vertices_of G) \ {x}
by A135, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ {x},
{x},
G
by A135, GLIB_000:def 18;
hence
e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 33;
:: thesis: verum
end; assume
e in G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
;
:: thesis: e in (G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x})then
e DSJoins (the_Vertices_of G) \ {x},
{x},
G
by GLIB_000:def 33;
then A136:
(
e in the_Edges_of G &
(the_Source_of G) . e in (the_Vertices_of G) \ {x} &
(the_Target_of G) . e in {x} )
by GLIB_000:def 18;
then
(
(the_Source_of G) . e in the_Vertices_of G & not
(the_Source_of G) . e in {x} )
by XBOOLE_0:def 5;
then
not
e DSJoins {x},
{x},
G
by GLIB_000:def 18;
then A137:
not
e in G .edgesDBetween {x},
{x}
by GLIB_000:def 33;
e DSJoins the_Vertices_of G,
{x},
G
by A136, GLIB_000:def 18;
then
e in G .edgesDBetween (the_Vertices_of G),
{x}
by GLIB_000:def 33;
hence
e in (G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x})
by A137, XBOOLE_0:def 5;
:: thesis: verum end; then A138:
(G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x}) = G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by TARSKI:2;
reconsider EXXfb =
(G .edgesDBetween (the_Vertices_of G),{x}) \ (G .edgesDBetween {x},{x}) as
Subset of
(the_Edges_of G) ;
A139:
(
dom (EL | (G .edgesDBetween (the_Vertices_of G),{x})) = G .edgesDBetween (the_Vertices_of G),
{x} &
dom (EL | (G .edgesDBetween {x},{x})) = G .edgesDBetween {x},
{x} &
dom (EL | EXXfb) = EXXfb )
by PARTFUN1:def 4;
then A140:
dom ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXfb)) =
(G .edgesDBetween {x},{x}) \/ EXXfb
by FUNCT_4:def 1
.=
(G .edgesDBetween {x},{x}) \/ (G .edgesDBetween (the_Vertices_of G),{x})
by XBOOLE_1:39
.=
G .edgesDBetween (the_Vertices_of G),
{x}
by GLIB_000:41, XBOOLE_1:12
;
now let e be
set ;
:: thesis: ( e in dom (EL | (G .edgesDBetween (the_Vertices_of G),{x})) implies (EL | (G .edgesDBetween (the_Vertices_of G),{x})) . e = ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXfb)) . e )assume
e in dom (EL | (G .edgesDBetween (the_Vertices_of G),{x}))
;
:: thesis: (EL | (G .edgesDBetween (the_Vertices_of G),{x})) . e = ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXfb)) . ethen A141:
e in G .edgesDBetween (the_Vertices_of G),
{x}
by PARTFUN1:def 4;
hence
(EL | (G .edgesDBetween (the_Vertices_of G),{x})) . e = ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXfb)) . e
by A141, FUNCT_1:72;
:: thesis: verum end; then A144:
Sum (EL | (G .edgesDBetween (the_Vertices_of G),{x})) = (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) + (Sum (EL | (G .edgesDBetween {x},{x})))
by A138, A139, A140, FUNCT_1:9, GLIB_004:3;
now let e be
set ;
:: thesis: ( ( e in (G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x}) implies e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) ) & ( e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) implies e in (G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x}) ) )hereby :: thesis: ( e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}) implies e in (G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x}) )
assume
e in (G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x})
;
:: thesis: e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})then
(
e in G .edgesDBetween {x},
(the_Vertices_of G) & not
e in G .edgesDBetween {x},
{x} )
by XBOOLE_0:def 5;
then A145:
(
e DSJoins {x},
the_Vertices_of G,
G & not
e DSJoins {x},
{x},
G )
by GLIB_000:def 33;
then A146:
(
e in the_Edges_of G &
(the_Target_of G) . e in the_Vertices_of G &
(the_Source_of G) . e in {x} )
by GLIB_000:def 18;
then
not
(the_Target_of G) . e in {x}
by A145, GLIB_000:def 18;
then
(the_Target_of G) . e in (the_Vertices_of G) \ {x}
by A146, XBOOLE_0:def 5;
then
e DSJoins {x},
(the_Vertices_of G) \ {x},
G
by A146, GLIB_000:def 18;
hence
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by GLIB_000:def 33;
:: thesis: verum
end; assume
e in G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
;
:: thesis: e in (G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x})then
e DSJoins {x},
(the_Vertices_of G) \ {x},
G
by GLIB_000:def 33;
then A147:
(
e in the_Edges_of G &
(the_Target_of G) . e in (the_Vertices_of G) \ {x} &
(the_Source_of G) . e in {x} )
by GLIB_000:def 18;
then
(
(the_Target_of G) . e in the_Vertices_of G & not
(the_Target_of G) . e in {x} )
by XBOOLE_0:def 5;
then
not
e DSJoins {x},
{x},
G
by GLIB_000:def 18;
then A148:
not
e in G .edgesDBetween {x},
{x}
by GLIB_000:def 33;
e DSJoins {x},
the_Vertices_of G,
G
by A147, GLIB_000:def 18;
then
e in G .edgesDBetween {x},
(the_Vertices_of G)
by GLIB_000:def 33;
hence
e in (G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x})
by A148, XBOOLE_0:def 5;
:: thesis: verum end; then A149:
(G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x}) = G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by TARSKI:2;
reconsider EXXeb =
(G .edgesDBetween {x},(the_Vertices_of G)) \ (G .edgesDBetween {x},{x}) as
Subset of
(the_Edges_of G) ;
A150:
(
dom (EL | (G .edgesDBetween {x},(the_Vertices_of G))) = G .edgesDBetween {x},
(the_Vertices_of G) &
dom (EL | EXXeb) = EXXeb )
by PARTFUN1:def 4;
then A151:
dom ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXeb)) =
(G .edgesDBetween {x},{x}) \/ EXXeb
by A139, FUNCT_4:def 1
.=
(G .edgesDBetween {x},{x}) \/ (G .edgesDBetween {x},(the_Vertices_of G))
by XBOOLE_1:39
.=
G .edgesDBetween {x},
(the_Vertices_of G)
by GLIB_000:41, XBOOLE_1:12
;
now let e be
set ;
:: thesis: ( e in dom (EL | (G .edgesDBetween {x},(the_Vertices_of G))) implies (EL | (G .edgesDBetween {x},(the_Vertices_of G))) . e = ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXeb)) . e )assume
e in dom (EL | (G .edgesDBetween {x},(the_Vertices_of G)))
;
:: thesis: (EL | (G .edgesDBetween {x},(the_Vertices_of G))) . e = ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXeb)) . ethen A152:
e in G .edgesDBetween {x},
(the_Vertices_of G)
by PARTFUN1:def 4;
hence
(EL | (G .edgesDBetween {x},(the_Vertices_of G))) . e = ((EL | (G .edgesDBetween {x},{x})) +* (EL | EXXeb)) . e
by A152, FUNCT_1:72;
:: thesis: verum end; then
Sum (EL | (G .edgesDBetween {x},(the_Vertices_of G))) = (Sum (EL | (G .edgesDBetween {(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))) + (Sum (EL | (G .edgesDBetween {x},{x})))
by A149, A150, A151, FUNCT_1:9, GLIB_004:3;
hence
EL .flow source,
sink = (Sum (EL | (G .edgesDBetween V2,((the_Vertices_of G) \ V2)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V2),V2)))
by A48, A59, A71, A76, A89, A95, A100, A116, A132, A133, A144;
:: thesis: verum end; hence
S1[
n + 1]
;
:: thesis: verum end;
A155:
for n being non empty Nat holds S1[n]
from NAT_1:sch 10(A37, A38);
set n = card ((the_Vertices_of G) \ V);
hence
EL .flow source,sink = (Sum (EL | (G .edgesDBetween V,((the_Vertices_of G) \ V)))) - (Sum (EL | (G .edgesDBetween ((the_Vertices_of G) \ V),V)))
by A1, A155; :: thesis: verum