let G be _finite real-weighted WGraph; :: thesis: 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; :: 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 that
A1: EL has_valid_flow_from source,sink and
A2: source in V and
A3: 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 n = card ((the_Vertices_of G) \ V);
A4: now :: thesis: not card ((the_Vertices_of G) \ V) = 0 end;
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 :: thesis: for n being non zero Nat st S1[n] holds
S1[n + 1]
let n be non zero Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume A7: S1[n] ; :: thesis: S1[n + 1]
now :: thesis: for V2 being Subset of (the_Vertices_of G) st card ((the_Vertices_of G) \ V2) = n + 1 & source in V2 & not sink in V2 holds
EL .flow (source,sink) = (Sum (EL | (G .edgesDBetween (V2,((the_Vertices_of G) \ V2))))) - (Sum (EL | (G .edgesDBetween (((the_Vertices_of G) \ V2),V2))))
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 that
A8: card ((the_Vertices_of G) \ V2) = n + 1 and
A9: source in V2 and
A10: 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 = the Element of ((the_Vertices_of G) \ V2) \ {sink};
set V1 = V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}};
set EV1V1a = G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})));
set EV1V1b = G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}));
set EXV1c = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})));
set EV1Xd = G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}});
sink is Vertex of G by A1;
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:31;
then A11: card (((the_Vertices_of G) \ V2) \ {sink}) = (n + 1) - (card {sink}) by A8, CARD_2:44
.= (n + 1) - 1 by CARD_1:30
.= n ;
then A12: the Element of ((the_Vertices_of G) \ V2) \ {sink} in (the_Vertices_of G) \ V2 by CARD_1:27, XBOOLE_0:def 5;
then { the Element of ((the_Vertices_of G) \ V2) \ {sink}} c= the_Vertices_of G by ZFMISC_1:31;
then reconsider V1 = V2 \/ { the Element of ((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) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by XBOOLE_1:41;
{ the Element of ((the_Vertices_of G) \ V2) \ {sink}} c= (the_Vertices_of G) \ V2 by A12, ZFMISC_1:31;
then A14: card ((the_Vertices_of G) \ V1) = (card ((the_Vertices_of G) \ V2)) - (card { the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by A13, CARD_2:44
.= (n + 1) - 1 by A8, CARD_1:30
.= n ;
A15: source in V1 by A9, XBOOLE_0:def 3;
not the Element of ((the_Vertices_of G) \ V2) \ {sink} in {sink} by A11, CARD_1:27, XBOOLE_0:def 5;
then A16: the Element of ((the_Vertices_of G) \ V2) \ {sink} <> sink by TARSKI:def 1;
then not sink in { the Element of ((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 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))))) - (Sum (EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) by A7, A14, A15;
set EXXe = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}));
set EXV2 = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2);
set EV2X = G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}});
reconsider EA = (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) as Subset of (the_Edges_of G) ;
reconsider E1 = EA \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) as Subset of (the_Edges_of G) ;
reconsider EB = EA \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) as Subset of (the_Edges_of G) ;
reconsider EC = (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) as Subset of (the_Edges_of G) ;
reconsider E2 = EC \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) as Subset of (the_Edges_of G) ;
reconsider ED = EC \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) as Subset of (the_Edges_of G) ;
A18: dom (EL | EA) = EA by PARTFUN1:def 2;
now :: thesis: not G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) meets G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)
set e = the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2));
assume G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) meets G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ; :: thesis: contradiction
then A19: (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) <> {} by XBOOLE_0:def 7;
then the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by XBOOLE_0:def 4;
then the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) DSJoins (the_Vertices_of G) \ V1,V1,G by GLIB_000:def 31;
then (the_Source_of G) . the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) in (the_Vertices_of G) \ V1 ;
then A20: not (the_Source_of G) . the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) in V1 by XBOOLE_0:def 5;
the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) by A19, XBOOLE_0:def 4;
then the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2,G by GLIB_000:def 31;
then (the_Source_of G) . the Element of (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) /\ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
hence contradiction by A20, XBOOLE_0:def 3; :: thesis: verum
end;
then (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) = G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by XBOOLE_1:83;
then A21: ED = G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by XBOOLE_1:40;
now :: thesis: for e being object st e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) holds
e in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))
let e be object ; :: thesis: ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) implies e in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) )
assume A22: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ; :: thesis: e in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))
then A23: e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ V1,G by GLIB_000:def 31;
then (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
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;
then e DSJoins V1,(the_Vertices_of G) \ V1,G by A22, A24;
hence e in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by GLIB_000:def 31; :: thesis: verum
end;
then A25: G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) c= G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ;
now :: thesis: not G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) meets G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})
set e = the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}));
assume G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) meets G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: contradiction
then A26: (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) <> {} by XBOOLE_0:def 7;
then the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by XBOOLE_0:def 4;
then the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) DSJoins V1,(the_Vertices_of G) \ V1,G by GLIB_000:def 31;
then (the_Target_of G) . the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) in (the_Vertices_of G) \ V1 ;
then A27: not (the_Target_of G) . the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) in V1 by XBOOLE_0:def 5;
the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by A26, XBOOLE_0:def 4;
then the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) DSJoins V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then (the_Target_of G) . the Element of (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) /\ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
hence contradiction by A27, XBOOLE_0:def 3; :: thesis: verum
end;
then (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) = G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by XBOOLE_1:83;
then A28: EB = G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by XBOOLE_1:40;
A29: dom (EL | EB) = EB by PARTFUN1:def 2;
A30: now :: thesis: for e being object st e in dom (EL | EA) holds
(EL | EA) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e
let e be object ; :: thesis: ( e in dom (EL | EA) implies (EL | EA) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e )
assume e in dom (EL | EA) ; :: thesis: (EL | EA) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e
then A31: e in EA ;
now :: thesis: ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e = EL . e
per cases ( not e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) or e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) ;
suppose not e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e = EL . e
then A32: e in EB by A31, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e = (EL | EB) . e by A29, FUNCT_4:13
.= EL . e by A32, FUNCT_1:49 ;
:: thesis: verum
end;
suppose A33: e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e = EL . e
then not e in EB by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e = (EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) . e by A29, FUNCT_4:11
.= EL . e by A33, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | EA) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) . e by A31, FUNCT_1:49; :: thesis: verum
end;
now :: thesis: for e being object holds
( ( e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) implies e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ) & ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) implies e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) ) )
let e be object ; :: thesis: ( ( e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) implies e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ) & ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) implies e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) ) )
hereby :: thesis: ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) implies e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) )
assume A34: e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) ; :: thesis: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))
then e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by XBOOLE_0:def 5;
then A35: e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then A36: (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
A37: (the_Target_of G) . e in (the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A35;
then A38: not (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by XBOOLE_0:def 5;
not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) by A34, XBOOLE_0:def 5;
then not e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2,G by GLIB_000:def 31;
then not (the_Target_of G) . e in V2 by A34, A36;
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 { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ V1,G by A34, A36;
hence e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by GLIB_000:def 31; :: thesis: verum
end;
assume A39: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ; :: thesis: e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))
then A40: e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ V1,G by GLIB_000:def 31;
then A41: (the_Target_of G) . e in (the_Vertices_of G) \ V1 ;
then A42: not (the_Target_of G) . e in V1 by XBOOLE_0:def 5;
then not (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by XBOOLE_0:def 3;
then A43: (the_Target_of G) . e in (the_Vertices_of G) \ { the Element of ((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 { the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2,G ;
then A44: not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) by GLIB_000:def 31;
(the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A40;
then e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by A39, A43;
then e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by GLIB_000:def 31;
hence e in (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) by A44, XBOOLE_0:def 5; :: thesis: verum
end;
then A45: (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by TARSKI:2;
A46: dom (EL | ED) = ED by PARTFUN1:def 2;
A47: now :: thesis: for e being object st e in dom (EL | EC) holds
(EL | EC) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e
let e be object ; :: thesis: ( e in dom (EL | EC) implies (EL | EC) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e )
assume e in dom (EL | EC) ; :: thesis: (EL | EC) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e
then A48: e in EC ;
now :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e = EL . e
per cases ( not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) or e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ) ;
suppose not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ; :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e = EL . e
then A49: e in ED by A48, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e = (EL | ED) . e by A46, FUNCT_4:13
.= EL . e by A49, FUNCT_1:49 ;
:: thesis: verum
end;
suppose A50: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ; :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e = EL . e
then not e in ED by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e = (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) . e by A46, FUNCT_4:11
.= EL . e by A50, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | EC) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) . e by A48, FUNCT_1:49; :: thesis: verum
end;
reconsider EXV1cb = (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) as Subset of (the_Edges_of G) ;
set EXXf = G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}});
A51: dom (EL | EC) = EC by PARTFUN1:def 2;
now :: thesis: for e being object holds
( ( e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) implies e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) & ( e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) implies e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ) )
let e be object ; :: thesis: ( ( e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) implies e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) & ( e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) implies e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ) )
hereby :: thesis: ( e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) implies e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) )
assume A52: e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ; :: thesis: e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})
then e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by XBOOLE_0:def 5;
then A53: e DSJoins (the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}},{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then A54: (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
A55: (the_Source_of G) . e in (the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A53;
then A56: not (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by XBOOLE_0:def 5;
not e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by A52, XBOOLE_0:def 5;
then not e DSJoins V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then not (the_Source_of G) . e in V2 by A52, A54;
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,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by A52, A54;
hence e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by GLIB_000:def 31; :: thesis: verum
end;
assume A57: e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
then A58: e DSJoins (the_Vertices_of G) \ V1,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then A59: (the_Source_of G) . e in (the_Vertices_of G) \ V1 ;
then A60: not (the_Source_of G) . e in V1 by XBOOLE_0:def 5;
then not (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by XBOOLE_0:def 3;
then A61: (the_Source_of G) . e in (the_Vertices_of G) \ { the Element of ((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,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G ;
then A62: not e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by GLIB_000:def 31;
(the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A58;
then e DSJoins (the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}},{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by A57, A61;
then e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by GLIB_000:def 31;
hence e in (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by A62, XBOOLE_0:def 5; :: thesis: verum
end;
then A63: (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) = G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by TARSKI:2;
now :: thesis: for e being object st e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) holds
e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
let e be object ; :: thesis: ( e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) implies e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) )
assume A64: e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
then A65: e DSJoins (the_Vertices_of G) \ V1,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
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;
then e DSJoins (the_Vertices_of G) \ V1,V1,G by A64, A66;
hence e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by GLIB_000:def 31; :: thesis: verum
end;
then A67: G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) c= G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ;
A68: not the Element of ((the_Vertices_of G) \ V2) \ {sink} in V2 by A12, XBOOLE_0:def 5;
now :: thesis: for e being object st e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) holds
e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})
let e be object ; :: thesis: ( e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) implies e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) )
assume A69: e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})
then A70: e DSJoins V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then A71: (the_Source_of G) . e in V2 ;
then not (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A68, TARSKI:def 1;
then A72: (the_Source_of G) . e in (the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A71, XBOOLE_0:def 5;
(the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A70;
then e DSJoins (the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}},{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by A69, A72;
hence e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by GLIB_000:def 31; :: thesis: verum
end;
then A73: G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) c= G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ;
A74: V2 \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}} is Subset of V2 ;
now :: thesis: for e being object holds
( ( e in G .edgesDBetween (V2,((the_Vertices_of G) \ V2)) implies e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) ) & ( e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) implies e in G .edgesDBetween (V2,((the_Vertices_of G) \ V2)) ) )
let e be object ; :: thesis: ( ( e in G .edgesDBetween (V2,((the_Vertices_of G) \ V2)) implies e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) ) & ( e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) implies e in G .edgesDBetween (V2,((the_Vertices_of G) \ V2)) ) )
A75: ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) is Subset of ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ;
hereby :: thesis: ( e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((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)) ; :: thesis: e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))
then A77: e DSJoins V2,(the_Vertices_of G) \ V2,G by GLIB_000:def 31;
then A78: (the_Source_of G) . e in V2 ;
A79: now :: thesis: not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))
assume e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ; :: thesis: contradiction
then e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ V1,G by GLIB_000:def 31;
then (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
hence contradiction by A68, A78, TARSKI:def 1; :: thesis: verum
end;
A80: (the_Target_of G) . e in (the_Vertices_of G) \ V2 by A77;
A81: (the_Source_of G) . e in V1 by A78, XBOOLE_0:def 3;
now :: thesis: e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))
per cases ( (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} or not (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ) ;
suppose (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ; :: thesis: e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))
then e DSJoins V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by A76, A78;
then e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by GLIB_000:def 31;
then e in (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by XBOOLE_0:def 3;
hence e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) by A79, XBOOLE_0:def 5; :: thesis: verum
end;
suppose not (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ; :: thesis: e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((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;
then e in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by GLIB_000:def 31;
then e in (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by XBOOLE_0:def 3;
hence e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) by A79, XBOOLE_0:def 5; :: thesis: verum
end;
end;
end;
hence e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) ; :: thesis: verum
end;
assume A82: e in ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) ; :: thesis: e in G .edgesDBetween (V2,((the_Vertices_of G) \ V2))
then not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by XBOOLE_0:def 5;
then A83: not e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ V1,G by GLIB_000:def 31;
now :: thesis: e DSJoins V2,(the_Vertices_of G) \ V2,G
per cases ( e in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) or e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) by A82, A75, XBOOLE_0:def 3;
suppose A84: e in G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ; :: thesis: e DSJoins V2,(the_Vertices_of G) \ V2,G
end;
end;
end;
hence e in G .edgesDBetween (V2,((the_Vertices_of G) \ V2)) by GLIB_000:def 31; :: thesis: verum
end;
then A93: G .edgesDBetween (V2,((the_Vertices_of G) \ V2)) = ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) by TARSKI:2;
now :: thesis: for e being object holds
( ( e in G .edgesDBetween (((the_Vertices_of G) \ V2),V2) implies e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ) & ( e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) implies e in G .edgesDBetween (((the_Vertices_of G) \ V2),V2) ) )
let e be object ; :: thesis: ( ( e in G .edgesDBetween (((the_Vertices_of G) \ V2),V2) implies e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ) & ( e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((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 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) is Subset of ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) ;
hereby :: thesis: ( e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((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) ; :: thesis: e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
then A96: e DSJoins (the_Vertices_of G) \ V2,V2,G by GLIB_000:def 31;
then A97: (the_Target_of G) . e in V2 ;
A98: now :: thesis: not e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})
assume e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: contradiction
then e DSJoins (the_Vertices_of G) \ V1,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
then (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ;
hence contradiction by A68, A97, TARSKI:def 1; :: thesis: verum
end;
A99: (the_Source_of G) . e in (the_Vertices_of G) \ V2 by A96;
A100: (the_Target_of G) . e in V1 by A97, XBOOLE_0:def 3;
now :: thesis: e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
per cases ( (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} or not (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ) ;
suppose (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ; :: thesis: e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
then e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2,G by A95, A97;
then e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) by GLIB_000:def 31;
then e in (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) by XBOOLE_0:def 3;
hence e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by A98, XBOOLE_0:def 5; :: thesis: verum
end;
suppose not (the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} ; :: thesis: e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((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;
then e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by GLIB_000:def 31;
then e in (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) by XBOOLE_0:def 3;
hence e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by A98, XBOOLE_0:def 5; :: thesis: verum
end;
end;
end;
hence e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ; :: thesis: verum
end;
assume A101: e in ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ; :: thesis: e in G .edgesDBetween (((the_Vertices_of G) \ V2),V2)
then not e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by XBOOLE_0:def 5;
then A102: not e DSJoins (the_Vertices_of G) \ V1,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by GLIB_000:def 31;
now :: thesis: e DSJoins (the_Vertices_of G) \ V2,V2,G
per cases ( e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) or e in G .edgesDBetween ({ the Element of ((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 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ; :: thesis: e DSJoins (the_Vertices_of G) \ V2,V2,G
end;
end;
end;
hence e in G .edgesDBetween (((the_Vertices_of G) \ V2),V2) by GLIB_000:def 31; :: thesis: 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 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by PARTFUN1:def 2;
A114: now :: thesis: for e being object st e in dom (EL | EC) holds
(EL | EC) . e = ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e
let e be object ; :: thesis: ( e in dom (EL | EC) implies (EL | EC) . e = ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e )
assume e in dom (EL | EC) ; :: thesis: (EL | EC) . e = ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e
then A115: e in EC ;
now :: thesis: ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e = EL . e
per cases ( not e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) or e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) ;
suppose not e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e = EL . e
then A116: e in E2 by A115, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e = (EL | E2) . e by A113, FUNCT_4:13
.= EL . e by A116, FUNCT_1:49 ;
:: thesis: verum
end;
suppose A117: e in G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e = EL . e
then not e in E2 by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e = (EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) . e by A113, FUNCT_4:11
.= EL . e by A117, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | EC) . e = ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) . e by A115, FUNCT_1:49; :: thesis: verum
end;
dom (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) by PARTFUN1:def 2;
then dom ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ED)) = (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) \/ ED by A46, FUNCT_4:def 1
.= (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) \/ ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((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 ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)))) + (Sum (EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) by A21, A51, A47, FUNCT_1:2, GLIB_004:3;
dom (EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) = G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by PARTFUN1:def 2;
then dom ((EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | E2)) = (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \/ (EC \ (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by A113, FUNCT_4:def 1
.= (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \/ ((G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),(V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \/ (G .edgesDBetween ({ the Element of ((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 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) by A51, A114, FUNCT_1:2, GLIB_004:3;
dom (EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) = G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by PARTFUN1:def 2;
then dom ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EB)) = (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \/ EB by A29, FUNCT_4:def 1
.= (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \/ ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((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,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) + (Sum (EL | (G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))))) by A28, A18, A30, FUNCT_1:2, GLIB_004:3;
reconsider EV1Xdb = (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) as Subset of (the_Edges_of G) ;
A121: dom (EL | EV1Xdb) = (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by PARTFUN1:def 2;
now :: thesis: for e being object st e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) holds
e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
let e be object ; :: thesis: ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) implies e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) )
assume A122: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ; :: thesis: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))
then A123: e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2,G by GLIB_000:def 31;
then A124: (the_Target_of G) . e in V2 ;
then not (the_Target_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A68, TARSKI:def 1;
then A125: (the_Target_of G) . e in (the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A124, XBOOLE_0:def 5;
(the_Source_of G) . e in { the Element of ((the_Vertices_of G) \ V2) \ {sink}} by A123;
then e DSJoins { the Element of ((the_Vertices_of G) \ V2) \ {sink}},(the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}},G by A122, A125;
hence e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by GLIB_000:def 31; :: thesis: verum
end;
then A126: G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) c= G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ;
A127: dom (EL | E1) = EA \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) by PARTFUN1:def 2;
A128: now :: thesis: for e being object st e in dom (EL | EA) holds
(EL | EA) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e
let e be object ; :: thesis: ( e in dom (EL | EA) implies (EL | EA) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e )
assume e in dom (EL | EA) ; :: thesis: (EL | EA) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e
then A129: e in EA ;
now :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e = EL . e
per cases ( not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) or e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ) ;
suppose not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ; :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e = EL . e
then A130: e in E1 by A129, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e = (EL | E1) . e by A127, FUNCT_4:13
.= EL . e by A130, FUNCT_1:49 ;
:: thesis: verum
end;
suppose A131: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ; :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e = EL . e
then not e in E1 by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e = (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) . e by A127, FUNCT_4:11
.= EL . e by A131, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | EA) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) . e by A129, FUNCT_1:49; :: thesis: verum
end;
A132: dom (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) = G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by PARTFUN1:def 2;
A133: now :: thesis: for e being object st e in dom (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) holds
(EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e
let e be object ; :: thesis: ( e in dom (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) implies (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e )
assume A134: e in dom (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) ; :: thesis: (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e
then A135: e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ;
now :: thesis: ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e = EL . e
per cases ( e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) or not e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) ;
suppose A136: e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e = EL . e
then not e in EV1Xdb by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e = (EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) . e by A121, FUNCT_4:11
.= EL . e by A136, FUNCT_1:49 ;
:: thesis: verum
end;
suppose not e in G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e = EL . e
then A137: e in EV1Xdb by A135, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e = (EL | EV1Xdb) . e by A121, FUNCT_4:13
.= EL . e by A137, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) . e = ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | EV1Xdb)) . e by A134, FUNCT_1:49; :: thesis: verum
end;
dom (EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) = G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by PARTFUN1:def 2;
then dom ((EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) +* (EL | ((G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) = (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \/ ((G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \ (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by A121, FUNCT_4:def 1
.= (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) \/ (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by XBOOLE_1:39
.= G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by A73, XBOOLE_1:12 ;
then A138: (Sum (EL | (G .edgesDBetween (V2,{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) + (Sum (EL | (G .edgesDBetween (((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) = Sum (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by A63, A132, A133, FUNCT_1:2, GLIB_004:3;
dom (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by PARTFUN1:def 2;
then dom ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) +* (EL | E1)) = (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (EA \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) by A127, FUNCT_4:def 1
.= (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ ((G .edgesDBetween ((V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) \/ (G .edgesDBetween (V2,{ the Element of ((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 ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))))) by A18, A128, FUNCT_1:2, GLIB_004:3;
A140: dom (EL | EXV1cb) = (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) by PARTFUN1:def 2;
A141: dom (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by PARTFUN1:def 2;
A142: now :: thesis: for e being object st e in dom (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) holds
(EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e
let e be object ; :: thesis: ( e in dom (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) implies (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e )
assume A143: e in dom (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) ; :: thesis: (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e
then A144: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ;
now :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e = EL . e
per cases ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) or not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ) ;
suppose A145: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ; :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e = EL . e
then not e in EXV1cb by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e = (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) . e by A140, FUNCT_4:11
.= EL . e by A145, FUNCT_1:49 ;
:: thesis: verum
end;
suppose not e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) ; :: thesis: ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e = EL . e
then A146: e in EXV1cb by A144, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e = (EL | EXV1cb) . e by A140, FUNCT_4:13
.= EL . e by A146, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) . e = ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | EXV1cb)) . e by A143, FUNCT_1:49; :: thesis: verum
end;
dom (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2) by PARTFUN1:def 2;
then dom ((EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) +* (EL | ((G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))))) = (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) \/ ((G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) \ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2))) by A140, FUNCT_4:def 1
.= (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)) \/ (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))) by XBOOLE_1:39
.= G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) by A126, XBOOLE_1:12 ;
then A147: (Sum (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},V2)))) + (Sum (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ (V2 \/ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))))) = Sum (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) by A45, A141, A142, FUNCT_1:2, GLIB_004:3;
reconsider x = the Element of ((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:39;
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 2;
now :: thesis: for e being object holds
( ( e in (G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x})) implies e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) & ( e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) implies e in (G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x})) ) )
let e be object ; :: thesis: ( ( e in (G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x})) implies e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ) & ( e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((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) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) implies e in (G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x})) ) end;
assume A154: e in G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) ; :: thesis: 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 31;
then A156: (the_Source_of G) . e in (the_Vertices_of G) \ {x} ;
then not (the_Source_of G) . e in {x} by XBOOLE_0:def 5;
then not e DSJoins {x},{x},G ;
then A157: not e in G .edgesDBetween ({x},{x}) by GLIB_000:def 31;
(the_Target_of G) . e in {x} by A155;
then e DSJoins the_Vertices_of G,{x},G by A154, A156;
then e in G .edgesDBetween ((the_Vertices_of G),{x}) by GLIB_000:def 31;
hence e in (G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x})) by A157, XBOOLE_0:def 5; :: thesis: verum
end;
then A158: (G .edgesDBetween ((the_Vertices_of G),{x})) \ (G .edgesDBetween ({x},{x})) = G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}}) by TARSKI:2;
A159: dom (EL | EXXfb) = EXXfb by PARTFUN1:def 2;
A160: now :: thesis: for e being object st e in dom (EL | (G .edgesDBetween ((the_Vertices_of G),{x}))) holds
(EL | (G .edgesDBetween ((the_Vertices_of G),{x}))) . e = ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . e
let e be object ; :: 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)) . e
then A161: e in G .edgesDBetween ((the_Vertices_of G),{x}) ;
now :: thesis: ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . e = EL . e
per cases ( e in G .edgesDBetween ({x},{x}) or not e in G .edgesDBetween ({x},{x}) ) ;
suppose A162: e in G .edgesDBetween ({x},{x}) ; :: thesis: ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . e = EL . e
then not e in EXXfb by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . e = (EL | (G .edgesDBetween ({x},{x}))) . e by A159, FUNCT_4:11
.= EL . e by A162, FUNCT_1:49 ;
:: thesis: verum
end;
suppose not e in G .edgesDBetween ({x},{x}) ; :: thesis: ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . e = EL . e
then A163: e in EXXfb by A161, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . e = (EL | EXXfb) . e by A159, FUNCT_4:13
.= EL . e by A163, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | (G .edgesDBetween ((the_Vertices_of G),{x}))) . e = ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXfb)) . e by A161, FUNCT_1:49; :: thesis: verum
end;
now :: thesis: for e being object holds
( ( e in (G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x})) implies e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ) & ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) implies e in (G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x})) ) )
let e be object ; :: thesis: ( ( e in (G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x})) implies e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ) & ( e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((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 ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) implies e in (G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x})) ) end;
assume A168: e in G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}})) ; :: thesis: 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 31;
then A170: (the_Target_of G) . e in (the_Vertices_of G) \ {x} ;
then not (the_Target_of G) . e in {x} by XBOOLE_0:def 5;
then not e DSJoins {x},{x},G ;
then A171: not e in G .edgesDBetween ({x},{x}) by GLIB_000:def 31;
(the_Source_of G) . e in {x} by A169;
then e DSJoins {x}, the_Vertices_of G,G by A168, A170;
then e in G .edgesDBetween ({x},(the_Vertices_of G)) by GLIB_000:def 31;
hence e in (G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x})) by A171, XBOOLE_0:def 5; :: thesis: verum
end;
then A172: (G .edgesDBetween ({x},(the_Vertices_of G))) \ (G .edgesDBetween ({x},{x})) = G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((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 2;
A174: dom (EL | EXXeb) = EXXeb by PARTFUN1:def 2;
A175: now :: thesis: for e being object st e in dom (EL | (G .edgesDBetween ({x},(the_Vertices_of G)))) holds
(EL | (G .edgesDBetween ({x},(the_Vertices_of G)))) . e = ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . e
let e be object ; :: 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)) . e
then A176: e in G .edgesDBetween ({x},(the_Vertices_of G)) ;
now :: thesis: ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . e = EL . e
per cases ( e in G .edgesDBetween ({x},{x}) or not e in G .edgesDBetween ({x},{x}) ) ;
suppose A177: e in G .edgesDBetween ({x},{x}) ; :: thesis: ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . e = EL . e
then not e in EXXeb by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . e = (EL | (G .edgesDBetween ({x},{x}))) . e by A174, FUNCT_4:11
.= EL . e by A177, FUNCT_1:49 ;
:: thesis: verum
end;
suppose not e in G .edgesDBetween ({x},{x}) ; :: thesis: ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . e = EL . e
then A178: e in EXXeb by A176, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . e = (EL | EXXeb) . e by A174, FUNCT_4:13
.= EL . e by A178, FUNCT_1:49 ;
:: thesis: verum
end;
end;
end;
hence (EL | (G .edgesDBetween ({x},(the_Vertices_of G)))) . e = ((EL | (G .edgesDBetween ({x},{x}))) +* (EL | EXXeb)) . e by A176, FUNCT_1:49; :: thesis: verum
end;
A179: dom (EL | (G .edgesDBetween ({x},{x}))) = G .edgesDBetween ({x},{x}) by PARTFUN1:def 2;
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:38, XBOOLE_1:12 ;
then A180: Sum (EL | (G .edgesDBetween ((the_Vertices_of G),{x}))) = (Sum (EL | (G .edgesDBetween (((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}),{ the Element of ((the_Vertices_of G) \ V2) \ {sink}})))) + (Sum (EL | (G .edgesDBetween ({x},{x})))) by A158, A149, A160, FUNCT_1:2, 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:38, XBOOLE_1:12 ;
then A181: Sum (EL | (G .edgesDBetween ({x},(the_Vertices_of G)))) = (Sum (EL | (G .edgesDBetween ({ the Element of ((the_Vertices_of G) \ V2) \ {sink}},((the_Vertices_of G) \ { the Element of ((the_Vertices_of G) \ V2) \ {sink}}))))) + (Sum (EL | (G .edgesDBetween ({x},{x})))) by A172, A173, A175, FUNCT_1:2, GLIB_004:3;
x .edgesIn() = G .edgesDBetween ((the_Vertices_of G),{x}) by GLIB_000:39;
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;
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; :: thesis: verum
end;
hence S1[n + 1] ; :: thesis: verum
end;
now :: thesis: 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 ESS = G .edgesDBetween ({sink},{sink});
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 that
A182: card ((the_Vertices_of G) \ V) = 1 and
source in V and
A183: 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))))
reconsider EOUT = (G .edgesOutOf {sink}) \ (G .edgesDBetween ({sink},{sink})) as Subset of (the_Edges_of G) ;
consider v being object such that
A184: (the_Vertices_of G) \ V = {v} by A182, CARD_2:42;
sink is Vertex of G by A1;
then sink in (the_Vertices_of G) \ V by A183, XBOOLE_0:def 5;
then A185: v = sink by A184, TARSKI:def 1;
A186: now :: thesis: for x being object holds
( ( x in (the_Vertices_of G) \ {sink} implies x in V ) & ( x in V implies x in (the_Vertices_of G) \ {sink} ) )
let x be object ; :: thesis: ( ( x in (the_Vertices_of G) \ {sink} implies x in V ) & ( x in V implies x in (the_Vertices_of G) \ {sink} ) )
hereby :: thesis: ( x in V implies x in (the_Vertices_of G) \ {sink} ) end;
assume A188: x in V ; :: thesis: x in (the_Vertices_of G) \ {sink}
then not x in {sink} by A183, TARSKI:def 1;
hence x in (the_Vertices_of G) \ {sink} by A188, XBOOLE_0:def 5; :: thesis: verum
end;
then A189: V = (the_Vertices_of G) \ {sink} by TARSKI:2;
now :: thesis: for e being object holds
( ( 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) ) )
let e be object ; :: 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 A194: e in EOUT ; :: thesis: 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 27;
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;
hence e in G .edgesDBetween (((the_Vertices_of G) \ V),V) by GLIB_000:def 31; :: thesis: 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 2;
now :: thesis: for e being object holds
( ( 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)) ) )
let e be object ; :: 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 A204: e in EIN ; :: thesis: 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 26;
A206: not e in G .edgesDBetween ({sink},{sink}) by A204, XBOOLE_0:def 5;
then e DSJoins V,{sink},G by A204, A205;
hence e in G .edgesDBetween (V,((the_Vertices_of G) \ V)) by A184, A185, GLIB_000:def 31; :: thesis: verum
end;
then A208: G .edgesDBetween (V,((the_Vertices_of G) \ V)) = EIN by TARSKI:2;
now :: thesis: for e being object st e in G .edgesDBetween ({sink},{sink}) holds
e in G .edgesOutOf {sink}
let e be object ; :: thesis: ( e in G .edgesDBetween ({sink},{sink}) implies e in G .edgesOutOf {sink} )
assume A209: e in G .edgesDBetween ({sink},{sink}) ; :: thesis: e in G .edgesOutOf {sink}
then e DSJoins {sink},{sink},G by GLIB_000:def 31;
then (the_Source_of G) . e in {sink} ;
hence e in G .edgesOutOf {sink} by A209, GLIB_000:def 27; :: thesis: verum
end;
then A210: G .edgesDBetween ({sink},{sink}) c= G .edgesOutOf {sink} ;
now :: thesis: for e being object st e in G .edgesDBetween ({sink},{sink}) holds
e in G .edgesInto {sink}
let e be object ; :: thesis: ( e in G .edgesDBetween ({sink},{sink}) implies e in G .edgesInto {sink} )
assume A211: e in G .edgesDBetween ({sink},{sink}) ; :: thesis: e in G .edgesInto {sink}
then e DSJoins {sink},{sink},G by GLIB_000:def 31;
then (the_Target_of G) . e in {sink} ;
hence e in G .edgesInto {sink} by A211, GLIB_000:def 26; :: thesis: verum
end;
then A212: G .edgesDBetween ({sink},{sink}) c= G .edgesInto {sink} ;
A213: dom (EL | (G .edgesDBetween ({sink},{sink}))) = G .edgesDBetween ({sink},{sink}) by PARTFUN1:def 2;
A214: dom (EL | EOUT) = EOUT by PARTFUN1:def 2;
A215: now :: thesis: for e being object st e in dom (EL | (G .edgesOutOf {sink})) holds
(EL | (G .edgesOutOf {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e
let e be object ; :: thesis: ( e in dom (EL | (G .edgesOutOf {sink})) implies (EL | (G .edgesOutOf {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e )
assume A216: e in dom (EL | (G .edgesOutOf {sink})) ; :: thesis: (EL | (G .edgesOutOf {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e
then A217: e in G .edgesOutOf {sink} ;
now :: thesis: ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e = EL . e
per cases ( e in G .edgesDBetween ({sink},{sink}) or not e in G .edgesDBetween ({sink},{sink}) ) ;
suppose A218: e in G .edgesDBetween ({sink},{sink}) ; :: thesis: ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e = EL . e
then not e in EOUT by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e = (EL | (G .edgesDBetween ({sink},{sink}))) . e by A214, FUNCT_4:11
.= EL . e by A213, A218, FUNCT_1:47 ;
:: thesis: verum
end;
suppose not e in G .edgesDBetween ({sink},{sink}) ; :: thesis: ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e = EL . e
then A219: e in EOUT by A217, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e = (EL | EOUT) . e by A214, FUNCT_4:13
.= EL . e by A214, A219, FUNCT_1:47 ;
:: thesis: verum
end;
end;
end;
hence (EL | (G .edgesOutOf {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EOUT)) . e by A216, FUNCT_1:47; :: thesis: verum
end;
A220: dom (EL | EIN) = EIN by PARTFUN1:def 2;
A221: now :: thesis: for e being object st e in dom (EL | (G .edgesInto {sink})) holds
(EL | (G .edgesInto {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e
let e be object ; :: thesis: ( e in dom (EL | (G .edgesInto {sink})) implies (EL | (G .edgesInto {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e )
assume A222: e in dom (EL | (G .edgesInto {sink})) ; :: thesis: (EL | (G .edgesInto {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e
then A223: e in G .edgesInto {sink} ;
now :: thesis: ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e = EL . e
per cases ( e in G .edgesDBetween ({sink},{sink}) or not e in G .edgesDBetween ({sink},{sink}) ) ;
suppose A224: e in G .edgesDBetween ({sink},{sink}) ; :: thesis: ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e = EL . e
then not e in EIN by XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e = (EL | (G .edgesDBetween ({sink},{sink}))) . e by A220, FUNCT_4:11
.= EL . e by A213, A224, FUNCT_1:47 ;
:: thesis: verum
end;
suppose not e in G .edgesDBetween ({sink},{sink}) ; :: thesis: ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e = EL . e
then A225: e in EIN by A223, XBOOLE_0:def 5;
hence ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e = (EL | EIN) . e by A220, FUNCT_4:13
.= EL . e by A220, A225, FUNCT_1:47 ;
:: thesis: verum
end;
end;
end;
hence (EL | (G .edgesInto {sink})) . e = ((EL | (G .edgesDBetween ({sink},{sink}))) +* (EL | EIN)) . e by A222, FUNCT_1:47; :: thesis: verum
end;
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:2, 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 2;
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:2, 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; :: thesis: verum
end;
then A229: S1[1] ;
for n being non zero 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; :: thesis: verum