theorem
NetworkFlow.isMaxFlow_of_noAugmentingPath
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(hmax : NoAugmentingPath N fl)
:
IsMaxFlow N fl
theorem
NetworkFlow.multi_hop_augment
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(htrans : Relation.TransGen (resAdj' N fl) N.s N.t)
(c : V)
(hsc : resAdj' N fl N.s c)
(hne : c ≠ N.t)
(hct : Relation.ReflTransGen (resAdj' N fl) c N.t)
(d : V)
(hsd : Relation.ReflTransGen (resAdj' N fl) N.s d)
(hdt : resAdj' N fl d N.t)
(hds : d ≠ N.s)
:
theorem
NetworkFlow.augment_along_residual_path
{V : Type u_2}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(hreach : ResReachable N fl N.t)
:
theorem
NetworkFlow.exists_better_flow_of_resReachable
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(hreach : ResReachable N fl N.t)
:
theorem
NetworkFlow.isMaxFlow_iff_noAugmentingPath
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
: