Documentation

Atlas.CombinatorialOptimization.code.Polyhedra.PMDecomposition

theorem SimpleGraph.edmonds_polytope_perturbation {V : Type u_2} [Fintype V] [DecidableEq V] (G : SimpleGraph V) [DecidableRel G.Adj] (x : G.edgeSet) (hnn : ∀ (e : G.edgeSet), 0 x e) (hdeg : ∀ (v : V), eG.incidentEdgeFinset v, x e = 1) (hodd : ∀ (S : Finset V), Odd S.cardeG.edgeCutFinset S, x e 1) (e₀ : G.edgeSet) (he₀ : x e₀ 0 x e₀ 1) :
∃ (y : G.edgeSet) (z : G.edgeSet) (t : ), 0 < t t < 1 y G.edmondsPolytope z G.edmondsPolytope (∀ (e : G.edgeSet), x e = t * y e + (1 - t) * z e) {e : G.edgeSet | y e 0 y e 1}.card < {e : G.edgeSet | x e 0 x e 1}.card {e : G.edgeSet | z e 0 z e 1}.card < {e : G.edgeSet | x e 0 x e 1}.card
theorem SimpleGraph.edmondsPolytope_pm_decomposition_aux {V : Type u_1} [Fintype V] [DecidableEq V] (G : SimpleGraph V) [DecidableRel G.Adj] (n : ) (x : G.edgeSet) (hx : x G.edmondsPolytope) (hn : {e : G.edgeSet | x e 0 x e 1}.card = n) :
∃ (k : ) (M : Fin kG.Subgraph) (_ : ∀ (i : Fin k), (M i).IsPerfectMatching) (w : Fin k), (∀ (i : Fin k), 0 w i) i : Fin k, w i = 1 ∀ (e : G.edgeSet), x e = i : Fin k, w i * if e (M i).edgeSet then 1 else 0