let G be finite real-weighted WGraph; for EL being FF:ELabeling of G
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 G; 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 ; 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); ( 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 that
A1:
EL has_valid_flow_from source,sink
and
A2:
source in V
and
A3:
not sink in V
; 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 n = card ((the_Vertices_of G) \ V);
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))));
set TG = the_Target_of G;
set SG = the_Source_of G;
A6:
now let n be non
empty Nat;
( S1[n] implies S1[n + 1] )assume A7:
S1[
n]
;
S1[n + 1]now let V2 be
Subset of
(the_Vertices_of G);
( 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 that A8:
card ((the_Vertices_of G) \ V2) = n + 1
and A9:
source in V2
and A10:
not
sink in V2
;
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});
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 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}))});
sink is
Vertex of
G
by A1, Def2;
then
sink in (the_Vertices_of G) \ V2
by A10, XBOOLE_0:def 5;
then
{sink} c= (the_Vertices_of G) \ V2
by ZFMISC_1:37;
then A11:
card (((the_Vertices_of G) \ V2) \ {sink}) =
(n + 1) - (card {sink})
by A8, CARD_2:63
.=
(n + 1) - 1
by CARD_1:50
.=
n
;
then A12:
choose (((the_Vertices_of G) \ V2) \ {sink}) in (the_Vertices_of G) \ V2
by CARD_1:47, XBOOLE_0:def 5;
then
{(choose (((the_Vertices_of G) \ V2) \ {sink}))} c= the_Vertices_of G
by 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;
A13:
(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 A12, ZFMISC_1:37;
then A14:
card ((the_Vertices_of G) \ V1) =
(card ((the_Vertices_of G) \ V2)) - (card {(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by A13, CARD_2:63
.=
(n + 1) - 1
by A8, CARD_1:50
.=
n
;
A15:
source in V1
by A9, XBOOLE_0:def 3;
not
choose (((the_Vertices_of G) \ V2) \ {sink}) in {sink}
by A11, CARD_1:47, XBOOLE_0:def 5;
then A16:
choose (((the_Vertices_of G) \ V2) \ {sink}) <> sink
by TARSKI:def 1;
then
not
sink in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by TARSKI:def 1;
then
not
sink in V1
by A10, XBOOLE_0:def 3;
then A17:
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 A7, A14, A15;
set EXXe =
G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}));
set EXV2 =
G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2);
set EV2X =
G .edgesDBetween (
V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))});
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) ;
A18:
dom (EL | EA) = EA
by PARTFUN1:def 4;
now 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)));
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)
;
contradictionthen A19:
(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;
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))) in G .edgesDBetween (
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
by 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
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
by GLIB_000:def 18;
then A20:
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
by XBOOLE_0:def 5;
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 A19, 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 {(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 {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 18;
hence
contradiction
by A20, XBOOLE_0:def 3;
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 A21:
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 ;
( 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 A22:
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 ((V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))then A23:
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
then
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 18;
then A24:
(the_Source_of G) . e in V1
by XBOOLE_0:def 3;
(the_Target_of G) . e in (the_Vertices_of G) \ V1
by A23, GLIB_000:def 18;
then
e DSJoins V1,
(the_Vertices_of G) \ V1,
G
by A22, A24, 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;
verum end; then A25:
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;
now 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}))})));
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}))})
;
contradictionthen A26:
(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;
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}))}))) in G .edgesDBetween (
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
by 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
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
by GLIB_000:def 18;
then A27:
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
by XBOOLE_0:def 5;
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 A26, 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 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 {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 18;
hence
contradiction
by A27, XBOOLE_0:def 3;
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 A28:
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;
A29:
dom (EL | EB) = EB
by PARTFUN1:def 4;
now let e be
set ;
( ( 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 ( 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 A34:
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))
;
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}))}))
by XBOOLE_0:def 5;
then A35:
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A36:
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 18;
A37:
(the_Target_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A35, GLIB_000:def 18;
then A38:
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_0:def 5;
not
e in G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2)
by A34, XBOOLE_0:def 5;
then
not
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G
by GLIB_000:def 33;
then
not
(the_Target_of G) . e in V2
by A34, A36, GLIB_000:def 18;
then
not
(the_Target_of G) . e in V1
by A38, XBOOLE_0:def 3;
then
(the_Target_of G) . e in (the_Vertices_of G) \ V1
by A37, XBOOLE_0:def 5;
then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by A34, A36, 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;
verum
end; assume A39:
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) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) \ (G .edgesDBetween ({(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))then A40:
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
then A41:
(the_Target_of G) . e in (the_Vertices_of G) \ V1
by GLIB_000:def 18;
then A42:
not
(the_Target_of G) . e in V1
by XBOOLE_0:def 5;
then
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_0:def 3;
then A43:
(the_Target_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A41, XBOOLE_0:def 5;
not
(the_Target_of G) . e in V2
by A42, XBOOLE_0:def 3;
then
not
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G
by GLIB_000:def 18;
then A44:
not
e in G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2)
by GLIB_000:def 33;
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A40, GLIB_000:def 18;
then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A39, A43, 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 A44, XBOOLE_0:def 5;
verum end; then A45:
(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;
A46:
dom (EL | ED) = ED
by PARTFUN1:def 4;
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) ;
set EXXf =
G .edgesDBetween (
((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
{(choose (((the_Vertices_of G) \ V2) \ {sink}))});
A51:
dom (EL | EC) = EC
by PARTFUN1:def 4;
now let e be
set ;
( ( 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 ( 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 A52:
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}))}))
;
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}))})
by XBOOLE_0:def 5;
then A53:
e DSJoins (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A54:
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 18;
A55:
(the_Source_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A53, GLIB_000:def 18;
then A56:
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_0:def 5;
not
e in G .edgesDBetween (
V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by A52, XBOOLE_0:def 5;
then
not
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then
not
(the_Source_of G) . e in V2
by A52, A54, GLIB_000:def 18;
then
not
(the_Source_of G) . e in V1
by A56, XBOOLE_0:def 3;
then
(the_Source_of G) . e in (the_Vertices_of G) \ V1
by A55, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A52, A54, 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;
verum
end; assume A57:
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) \ {(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 A58:
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A59:
(the_Source_of G) . e in (the_Vertices_of G) \ V1
by GLIB_000:def 18;
then A60:
not
(the_Source_of G) . e in V1
by XBOOLE_0:def 5;
then
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_0:def 3;
then A61:
(the_Source_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A59, XBOOLE_0:def 5;
not
(the_Source_of G) . e in V2
by A60, XBOOLE_0:def 3;
then
not
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 18;
then A62:
not
e in G .edgesDBetween (
V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by GLIB_000:def 33;
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A58, GLIB_000:def 18;
then
e DSJoins (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A57, A61, 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 A62, XBOOLE_0:def 5;
verum end; then A63:
(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;
now let e be
set ;
( 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 A64:
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}))})),(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))then A65:
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by GLIB_000:def 18;
then A66:
(the_Target_of G) . e in V1
by XBOOLE_0:def 3;
(the_Source_of G) . e in (the_Vertices_of G) \ V1
by A65, GLIB_000:def 18;
then
e DSJoins (the_Vertices_of G) \ V1,
V1,
G
by A64, A66, 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;
verum end; then A67:
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;
A68:
not
choose (((the_Vertices_of G) \ V2) \ {sink}) in V2
by A12, XBOOLE_0:def 5;
now let e be
set ;
( 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 A69:
e in G .edgesDBetween (
V2,
{(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}))})then A70:
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A71:
(the_Source_of G) . e in V2
by GLIB_000:def 18;
then
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A68, TARSKI:def 1;
then A72:
(the_Source_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A71, XBOOLE_0:def 5;
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A70, GLIB_000:def 18;
then
e DSJoins (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A69, A72, 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;
verum end; then A73:
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;
A74:
V2 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))} is
Subset of
V2
;
now let e be
set ;
( ( 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)) ) )A75:
((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}))})))
;
hereby ( 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 A76:
e in G .edgesDBetween (
V2,
((the_Vertices_of G) \ V2))
;
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 A77:
e DSJoins V2,
(the_Vertices_of G) \ V2,
G
by GLIB_000:def 33;
then A78:
(the_Source_of G) . e in V2
by GLIB_000:def 18;
A80:
(the_Target_of G) . e in (the_Vertices_of G) \ V2
by A77, GLIB_000:def 18;
A81:
(the_Source_of G) . e in V1
by A78, 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}))}
;
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 A76, A78, 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 A79, XBOOLE_0:def 5;
verum end; suppose
not
(the_Target_of G) . e in {(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}))}))))then
(the_Target_of G) . e in (the_Vertices_of G) \ V1
by A13, A80, XBOOLE_0:def 5;
then
e DSJoins V1,
(the_Vertices_of G) \ V1,
G
by A76, A81, 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 A79, XBOOLE_0:def 5;
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}))}))))
;
verum
end; assume A82:
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,((the_Vertices_of G) \ V2))then
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 A83:
not
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
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 A82, A75, XBOOLE_0:def 3;
suppose A84:
e in G .edgesDBetween (
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})))
;
e DSJoins V2,(the_Vertices_of G) \ V2,Gthen A85:
e DSJoins V1,
(the_Vertices_of G) \ V1,
G
by GLIB_000:def 33;
then A86:
(the_Source_of G) . e in V1
by GLIB_000:def 18;
A87:
(the_Target_of G) . e in (the_Vertices_of G) \ V1
by A85, GLIB_000:def 18;
then
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 A88:
(the_Target_of G) . e in (the_Vertices_of G) \ V2
by A87, XBOOLE_0:def 5;
not
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A83, A84, A87, GLIB_000:def 18;
then
(the_Source_of G) . e in V1 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A86, XBOOLE_0:def 5;
then
(the_Source_of G) . e in V2 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_1:40;
hence
e DSJoins V2,
(the_Vertices_of G) \ V2,
G
by A74, A84, A88, GLIB_000:def 18;
verum end; suppose A89:
e in G .edgesDBetween (
V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
;
e DSJoins V2,(the_Vertices_of G) \ V2,Gthen A90:
e DSJoins V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
then A91:
(the_Source_of G) . e in V2
by GLIB_000:def 18;
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A90, GLIB_000:def 18;
then A92:
not
(the_Target_of G) . e in V2
by A68, TARSKI:def 1;
(the_Target_of G) . e in the_Vertices_of G
by A89, FUNCT_2:7;
then
(the_Target_of G) . e in (the_Vertices_of G) \ V2
by A92, XBOOLE_0:def 5;
hence
e DSJoins V2,
(the_Vertices_of G) \ V2,
G
by A89, A91, GLIB_000:def 18;
verum end; end; end; hence
e in G .edgesDBetween (
V2,
((the_Vertices_of G) \ V2))
by GLIB_000:def 33;
verum end; then A93:
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;
now let e be
set ;
( ( 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) ) )A94:
((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)))
;
hereby ( 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 A95:
e in G .edgesDBetween (
((the_Vertices_of G) \ V2),
V2)
;
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 A96:
e DSJoins (the_Vertices_of G) \ V2,
V2,
G
by GLIB_000:def 33;
then A97:
(the_Target_of G) . e in V2
by GLIB_000:def 18;
A99:
(the_Source_of G) . e in (the_Vertices_of G) \ V2
by A96, GLIB_000:def 18;
A100:
(the_Target_of G) . e in V1
by A97, 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}))}
;
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 A95, A97, 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 A98, XBOOLE_0:def 5;
verum end; suppose
not
(the_Source_of G) . e in {(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}))}))then
(the_Source_of G) . e in (the_Vertices_of G) \ V1
by A13, A99, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ V1,
V1,
G
by A95, A100, 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 A98, XBOOLE_0:def 5;
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}))}))
;
verum
end; assume A101:
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),V2)then
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 A102:
not
e DSJoins (the_Vertices_of G) \ V1,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by GLIB_000:def 33;
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 A101, A94, XBOOLE_0:def 3;
suppose A103:
e in G .edgesDBetween (
((the_Vertices_of G) \ (V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))})),
(V2 \/ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))
;
e DSJoins (the_Vertices_of G) \ V2,V2,Gthen A104:
e DSJoins (the_Vertices_of G) \ V1,
V1,
G
by GLIB_000:def 33;
then A105:
(the_Target_of G) . e in V1
by GLIB_000:def 18;
A106:
(the_Source_of G) . e in (the_Vertices_of G) \ V1
by A104, GLIB_000:def 18;
then
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 A107:
(the_Source_of G) . e in (the_Vertices_of G) \ V2
by A106, XBOOLE_0:def 5;
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A102, A103, A106, GLIB_000:def 18;
then
(the_Target_of G) . e in V1 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A105, XBOOLE_0:def 5;
then
(the_Target_of G) . e in V2 \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by XBOOLE_1:40;
hence
e DSJoins (the_Vertices_of G) \ V2,
V2,
G
by A74, A103, A107, GLIB_000:def 18;
verum end; suppose A108:
e in G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2)
;
e DSJoins (the_Vertices_of G) \ V2,V2,Gthen A109:
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G
by GLIB_000:def 33;
then A110:
(the_Target_of G) . e in V2
by GLIB_000:def 18;
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A109, GLIB_000:def 18;
then A111:
not
(the_Source_of G) . e in V2
by A68, TARSKI:def 1;
(the_Source_of G) . e in the_Vertices_of G
by A108, FUNCT_2:7;
then
(the_Source_of G) . e in (the_Vertices_of G) \ V2
by A111, XBOOLE_0:def 5;
hence
e DSJoins (the_Vertices_of G) \ V2,
V2,
G
by A108, A110, GLIB_000:def 18;
verum end; end; end; hence
e in G .edgesDBetween (
((the_Vertices_of G) \ V2),
V2)
by GLIB_000:def 33;
verum end; then A112:
G .edgesDBetween (
((the_Vertices_of G) \ V2),
V2)
= E2
by TARSKI:2;
A113:
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;
dom (EL | (G .edgesDBetween ({(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) = G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2)
by PARTFUN1:def 4;
then 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 A46, 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 A118:
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 A21, A51, A47, FUNCT_1:9, GLIB_004:3;
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}))})
by PARTFUN1:def 4;
then 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 A113, 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 A67, XBOOLE_1:10, XBOOLE_1:12
;
then A119:
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 A51, A114, FUNCT_1:9, GLIB_004:3;
dom (EL | (G .edgesDBetween (V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) = G .edgesDBetween (
V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by PARTFUN1:def 4;
then 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 A29, 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 A120:
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 A28, A18, A30, FUNCT_1:9, GLIB_004:3;
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) ;
A121:
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;
now let e be
set ;
( 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 A122:
e in G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2)
;
e in G .edgesDBetween ({(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))then A123:
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2,
G
by GLIB_000:def 33;
then A124:
(the_Target_of G) . e in V2
by GLIB_000:def 18;
then
not
(the_Target_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A68, TARSKI:def 1;
then A125:
(the_Target_of G) . e in (the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A124, XBOOLE_0:def 5;
(the_Source_of G) . e in {(choose (((the_Vertices_of G) \ V2) \ {sink}))}
by A123, GLIB_000:def 18;
then
e DSJoins {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
(the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))},
G
by A122, A125, 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;
verum end; then A126:
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;
A127:
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;
A132:
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}))})
by PARTFUN1:def 4;
A133:
now let e be
set ;
( 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 A134:
e in dom (EL | (G .edgesDBetween (((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}),{(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}))}))) . e = ((EL | (G .edgesDBetween (V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) +* (EL | EV1Xdb)) . ethen A135:
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 A132, A134, FUNCT_1:72;
verum end;
dom (EL | (G .edgesDBetween (V2,{(choose (((the_Vertices_of G) \ V2) \ {sink}))}))) = G .edgesDBetween (
V2,
{(choose (((the_Vertices_of G) \ V2) \ {sink}))})
by PARTFUN1:def 4;
then 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 A121, 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 A73, XBOOLE_1:12
;
then A138:
(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 A63, A132, A133, FUNCT_1:9, GLIB_004:3;
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}))})))
by PARTFUN1:def 4;
then 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 A127, 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 A25, XBOOLE_1:10, XBOOLE_1:12
;
then A139:
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 A18, A128, FUNCT_1:9, GLIB_004:3;
A140:
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;
A141:
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}))}))
by PARTFUN1:def 4;
A142:
now let e be
set ;
( 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 A143:
e in dom (EL | (G .edgesDBetween ({(choose (((the_Vertices_of G) \ V2) \ {sink}))},((the_Vertices_of G) \ {(choose (((the_Vertices_of G) \ V2) \ {sink}))}))))
;
(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 A144:
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 A141, A143, FUNCT_1:72;
verum end;
dom (EL | (G .edgesDBetween ({(choose (((the_Vertices_of G) \ V2) \ {sink}))},V2))) = G .edgesDBetween (
{(choose (((the_Vertices_of G) \ V2) \ {sink}))},
V2)
by PARTFUN1:def 4;
then 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 A140, 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 A126, XBOOLE_1:12
;
then A147:
(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 A45, A141, A142, FUNCT_1:9, GLIB_004:3;
reconsider x =
choose (((the_Vertices_of G) \ V2) \ {sink}) as
Vertex of
G by A12;
A148:
x .edgesOut() = G .edgesDBetween (
{x},
(the_Vertices_of G))
by GLIB_000:42;
reconsider EXXeb =
(G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x})) as
Subset of
(the_Edges_of G) ;
reconsider EXXfb =
(G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x})) as
Subset of
(the_Edges_of G) ;
A149:
dom (EL | (G .edgesDBetween ((the_Vertices_of G),{x}))) = G .edgesDBetween (
(the_Vertices_of G),
{x})
by PARTFUN1:def 4;
now let e be
set ;
( ( 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 ( 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 A150:
e in (G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x}))
;
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})
by XBOOLE_0:def 5;
then A151:
e DSJoins the_Vertices_of G,
{x},
G
by GLIB_000:def 33;
then A152:
(the_Source_of G) . e in the_Vertices_of G
by GLIB_000:def 18;
A153:
(the_Target_of G) . e in {x}
by A151, GLIB_000:def 18;
not
e in G .edgesDBetween (
{x},
{x})
by A150, XBOOLE_0:def 5;
then
not
e DSJoins {x},
{x},
G
by GLIB_000:def 33;
then
not
(the_Source_of G) . e in {x}
by A150, A153, GLIB_000:def 18;
then
(the_Source_of G) . e in (the_Vertices_of G) \ {x}
by A152, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ {x},
{x},
G
by A150, A153, 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;
verum
end; assume A154:
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),{x})) \ (G .edgesDBetween ({x},{x}))then A155:
e DSJoins (the_Vertices_of G) \ {x},
{x},
G
by GLIB_000:def 33;
then A156:
(the_Source_of G) . e in (the_Vertices_of G) \ {x}
by GLIB_000:def 18;
then
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 A157:
not
e in G .edgesDBetween (
{x},
{x})
by GLIB_000:def 33;
(the_Target_of G) . e in {x}
by A155, GLIB_000:def 18;
then
e DSJoins the_Vertices_of G,
{x},
G
by A154, A156, 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 A157, XBOOLE_0:def 5;
verum end; then A158:
(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;
A159:
dom (EL | EXXfb) = EXXfb
by PARTFUN1:def 4;
A160:
now let e be
set ;
( 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})))
;
(EL | (G .edgesDBetween ((the_Vertices_of G),{x}))) . e = ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . ethen A161:
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 A161, FUNCT_1:72;
verum end; now let e be
set ;
( ( 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 ( 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 A164:
e in (G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x}))
;
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))
by XBOOLE_0:def 5;
then A165:
e DSJoins {x},
the_Vertices_of G,
G
by GLIB_000:def 33;
then A166:
(the_Target_of G) . e in the_Vertices_of G
by GLIB_000:def 18;
A167:
(the_Source_of G) . e in {x}
by A165, GLIB_000:def 18;
not
e in G .edgesDBetween (
{x},
{x})
by A164, XBOOLE_0:def 5;
then
not
e DSJoins {x},
{x},
G
by GLIB_000:def 33;
then
not
(the_Target_of G) . e in {x}
by A164, A167, GLIB_000:def 18;
then
(the_Target_of G) . e in (the_Vertices_of G) \ {x}
by A166, XBOOLE_0:def 5;
then
e DSJoins {x},
(the_Vertices_of G) \ {x},
G
by A164, A167, 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;
verum
end; assume A168:
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 ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x}))then A169:
e DSJoins {x},
(the_Vertices_of G) \ {x},
G
by GLIB_000:def 33;
then A170:
(the_Target_of G) . e in (the_Vertices_of G) \ {x}
by GLIB_000:def 18;
then
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 A171:
not
e in G .edgesDBetween (
{x},
{x})
by GLIB_000:def 33;
(the_Source_of G) . e in {x}
by A169, GLIB_000:def 18;
then
e DSJoins {x},
the_Vertices_of G,
G
by A168, A170, 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 A171, XBOOLE_0:def 5;
verum end; then A172:
(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;
A173:
dom (EL | (G .edgesDBetween ({x},(the_Vertices_of G)))) = G .edgesDBetween (
{x},
(the_Vertices_of G))
by PARTFUN1:def 4;
A174:
dom (EL | EXXeb) = EXXeb
by PARTFUN1:def 4;
A175:
now let e be
set ;
( 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))))
;
(EL | (G .edgesDBetween ({x},(the_Vertices_of G)))) . e = ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . ethen A176:
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 A176, FUNCT_1:72;
verum end; A179:
dom (EL | (G .edgesDBetween ({x},{x}))) = G .edgesDBetween (
{x},
{x})
by PARTFUN1:def 4;
then dom ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) =
(G .edgesDBetween ({x},{x})) \/ EXXfb
by A159, 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
;
then A180:
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 A158, A149, A160, FUNCT_1:9, GLIB_004:3;
dom ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) =
(G .edgesDBetween ({x},{x})) \/ EXXeb
by A179, A174, 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
;
then A181:
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 A172, A173, A175, FUNCT_1:9, GLIB_004:3;
x .edgesIn() = G .edgesDBetween (
(the_Vertices_of G),
{x})
by GLIB_000:42;
then
Sum (EL | (G .edgesDBetween ((the_Vertices_of G),{x}))) = Sum (EL | (G .edgesDBetween ({x},(the_Vertices_of G))))
by A1, A9, A68, A16, A148, Def2;
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 A17, A93, A139, A120, A112, A119, A118, A138, A147, A180, A181;
verum end; hence
S1[
n + 1]
;
verum end;
now set ESS =
G .edgesDBetween (
{sink},
{sink});
let V be
Subset of
(the_Vertices_of G);
( 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 that A182:
card ((the_Vertices_of G) \ V) = 1
and
source in V
and A183:
not
sink in V
;
EL .flow (source,sink) = (Sum (EL | (G .edgesDBetween (V,((the_Vertices_of G) \ V))))) - (Sum (EL | (G .edgesDBetween (((the_Vertices_of G) \ V),V))))reconsider EOUT =
(G .edgesOutOf {sink}) \ (G .edgesDBetween ({sink},{sink})) as
Subset of
(the_Edges_of G) ;
consider v being
set such that A184:
(the_Vertices_of G) \ V = {v}
by A182, CARD_2:60;
sink is
Vertex of
G
by A1, Def2;
then
sink in (the_Vertices_of G) \ V
by A183, XBOOLE_0:def 5;
then A185:
v = sink
by A184, TARSKI:def 1;
then A189:
V = (the_Vertices_of G) \ {sink}
by TARSKI:2;
now let e be
set ;
( ( 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 A194:
e in EOUT
;
e in G .edgesDBetween (((the_Vertices_of G) \ V),V)
(G .edgesOutOf {sink}) \ (G .edgesDBetween ({sink},{sink})) is
Subset of
(G .edgesOutOf {sink})
;
then A195:
(the_Source_of G) . e in {sink}
by A194, GLIB_000:def 29;
A196:
not
e in G .edgesDBetween (
{sink},
{sink})
by A194, XBOOLE_0:def 5;
then
e DSJoins (the_Vertices_of G) \ V,
V,
G
by A184, A185, A194, A195, GLIB_000:def 18;
hence
e in G .edgesDBetween (
((the_Vertices_of G) \ V),
V)
by GLIB_000:def 33;
verum end; then A198:
G .edgesDBetween (
((the_Vertices_of G) \ V),
V)
= EOUT
by TARSKI:2;
set EESS =
EL | (G .edgesDBetween ({sink},{sink}));
reconsider EIN =
(G .edgesInto {sink}) \ (G .edgesDBetween ({sink},{sink})) as
Subset of
(the_Edges_of G) ;
A199:
dom (EL | (G .edgesInto {sink})) = G .edgesInto {sink}
by PARTFUN1:def 4;
now let e be
set ;
( ( 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 A204:
e in EIN
;
e in G .edgesDBetween (V,((the_Vertices_of G) \ V))
(G .edgesInto {sink}) \ (G .edgesDBetween ({sink},{sink})) is
Subset of
(G .edgesInto {sink})
;
then A205:
(the_Target_of G) . e in {sink}
by A204, GLIB_000:def 28;
A206:
not
e in G .edgesDBetween (
{sink},
{sink})
by A204, XBOOLE_0:def 5;
then
e DSJoins V,
{sink},
G
by A204, A205, GLIB_000:def 18;
hence
e in G .edgesDBetween (
V,
((the_Vertices_of G) \ V))
by A184, A185, GLIB_000:def 33;
verum end; then A208:
G .edgesDBetween (
V,
((the_Vertices_of G) \ V))
= EIN
by TARSKI:2;
then A210:
G .edgesDBetween (
{sink},
{sink})
c= G .edgesOutOf {sink}
by TARSKI:def 3;
then A212:
G .edgesDBetween (
{sink},
{sink})
c= G .edgesInto {sink}
by TARSKI:def 3;
A213:
dom (EL | (G .edgesDBetween ({sink},{sink}))) = G .edgesDBetween (
{sink},
{sink})
by PARTFUN1:def 4;
A214:
dom (EL | EOUT) = EOUT
by PARTFUN1:def 4;
A220:
dom (EL | EIN) = EIN
by PARTFUN1:def 4;
A226:
(G .edgesDBetween ({sink},{sink})) \/ EIN =
(G .edgesInto {sink}) \/ (G .edgesDBetween ({sink},{sink}))
by XBOOLE_1:39
.=
G .edgesInto {sink}
by A212, XBOOLE_1:12
;
dom ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) = (G .edgesDBetween ({sink},{sink})) \/ EIN
by A213, A220, FUNCT_4:def 1;
then A227:
Sum (EL | (G .edgesInto {sink})) = (Sum (EL | EIN)) + (Sum (EL | (G .edgesDBetween ({sink},{sink}))))
by A226, A199, A221, FUNCT_1:9, GLIB_004:3;
(G .edgesDBetween ({sink},{sink})) \/ EOUT =
(G .edgesOutOf {sink}) \/ (G .edgesDBetween ({sink},{sink}))
by XBOOLE_1:39
.=
G .edgesOutOf {sink}
by A210, XBOOLE_1:12
;
then A228:
dom ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) = G .edgesOutOf {sink}
by A213, A214, FUNCT_4:def 1;
dom (EL | (G .edgesOutOf {sink})) = G .edgesOutOf {sink}
by PARTFUN1:def 4;
then EL .flow (
source,
sink) =
((Sum (EL | EIN)) + (Sum (EL | (G .edgesDBetween ({sink},{sink}))))) - ((Sum (EL | (G .edgesDBetween ({sink},{sink})))) + (Sum (EL | EOUT)))
by A227, A228, A215, FUNCT_1:9, GLIB_004:3
.=
(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 A208, A198;
verum end;
then A229:
S1[1]
;
for n being non empty Nat holds S1[n]
from NAT_1:sch 10(A229, A6);
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 A2, A3, A4; verum