def
NetworkFlow.resCap'
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(u v : V)
:
Instances For
def
NetworkFlow.resAdj'
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(u v : V)
:
Instances For
def
NetworkFlow.ResReachable
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(v : V)
:
Instances For
def
NetworkFlow.NoAugmentingPath
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
:
Instances For
theorem
NetworkFlow.resCap'_nonneg
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(u v : V)
:
theorem
NetworkFlow.ResReachable_step
{V : Type u_1}
[Fintype V]
[DecidableEq V]
{N : FlowNetwork V}
{fl : STFlow N}
{u v : V}
(hu : ResReachable N fl u)
(hadj : resAdj' N fl u v)
:
ResReachable N fl v
noncomputable def
NetworkFlow.resReachableSet
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
:
Finset V
Instances For
theorem
NetworkFlow.mem_resReachableSet_iff
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(v : V)
:
theorem
NetworkFlow.s_mem_resReachableSet
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
:
theorem
NetworkFlow.t_not_mem_resReachableSet
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(hmax : NoAugmentingPath N fl)
:
N.t ∉ resReachableSet N fl
noncomputable def
NetworkFlow.maxFlowCut
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(hmax : NoAugmentingPath N fl)
:
STCut N
Instances For
theorem
NetworkFlow.maxFlowCut_S
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(hmax : NoAugmentingPath N fl)
:
theorem
NetworkFlow.not_resAdj_of_reach_nonreach
{V : Type u_1}
[Fintype V]
[DecidableEq V]
{N : FlowNetwork V}
{fl : STFlow N}
{u v : V}
(hu : ResReachable N fl u)
(hv : ¬ResReachable N fl v)
:
theorem
NetworkFlow.resCap'_eq_zero_of_cross
{V : Type u_1}
[Fintype V]
[DecidableEq V]
{N : FlowNetwork V}
{fl : STFlow N}
{u v : V}
(hu : ResReachable N fl u)
(hv : ¬ResReachable N fl v)
:
theorem
NetworkFlow.flow_eq_cap_of_cross
{V : Type u_1}
[Fintype V]
[DecidableEq V]
{N : FlowNetwork V}
{fl : STFlow N}
{u v : V}
(hu : ResReachable N fl u)
(hv : ¬ResReachable N fl v)
:
theorem
NetworkFlow.flow_eq_zero_of_cross
{V : Type u_1}
[Fintype V]
[DecidableEq V]
{N : FlowNetwork V}
{fl : STFlow N}
{u v : V}
(hu : ResReachable N fl u)
(hv : ¬ResReachable N fl v)
:
theorem
NetworkFlow.max_flow_min_cut
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(N : FlowNetwork V)
(fl : STFlow N)
(hmax : NoAugmentingPath N fl)
:
∃ (C : STCut N), flowValue N fl = cutCapacity N C