Documentation

Atlas.CombinatorialOptimization.code.Matching.EdmondsProgress

structure SimpleGraph.AlternatingForest {V : Type u_1} (G : SimpleGraph V) (M : G.Subgraph) :
Type u_1
Instances For
    Instances For
      theorem SimpleGraph.walk_level_induction {V : Type u_1} {G : SimpleGraph V} (M : G.Subgraph) (F : G.AlternatingForest M) (hsat : ∀ (u v : V), G.Adj u vF.isEvenLevel uv F.forestVerts Odd (F.level v)) {s t : V} (p : G.Walk s t) (halt : p.IsAlternatingFrom M) (hs_forest : s F.forestVerts) (hs_even : Even (F.level s)) (i : ) :
      i p.lengthp.getVert i F.forestVerts (Even iEven (F.level (p.getVert i))) (Odd iOdd (F.level (p.getVert i)))
      theorem SimpleGraph.no_augmenting_path_of_saturated {V : Type u_1} {G : SimpleGraph V} (M : G.Subgraph) (F : G.AlternatingForest M) (hsat : ∀ (u v : V), G.Adj u vF.isEvenLevel uv F.forestVerts Odd (F.level v)) :
      theorem SimpleGraph.edmonds_progress {V : Type u_1} [DecidableEq V] [Fintype V] {G : SimpleGraph V} [DecidableRel G.Adj] (M : G.Subgraph) (hM : M.IsMatching) (F : G.AlternatingForest M) :
      (∃ (u : V) (v : V), G.Adj u v F.isEvenLevel u vF.forestVerts) (∃ (u : V) (v : V), G.Adj u v F.isEvenLevel u F.isEvenLevel v F.root u = F.root v) (∃ (u : V) (v : V), G.Adj u v F.isEvenLevel u F.isEvenLevel v F.root u F.root v) M.IsMaxMatching