Theorem 5.3 — the - Path Decomposable Subgraph Polytope of an acyclic digraph
OpenDisjunctive.ExtendedFormulations.path_decomposable_subgraph_polytope_v2This is Theorem 5.3 of Balas's Disjunctive Programming. Let be an acyclic digraph with distinguished nodes . The - Path Decomposable Subgraph Polytope is the convex hull of the incidence vectors of the sets such that admits an - path decomposition (a family of interior-node-disjoint - paths covering ). For let be the out-neighbourhood of and
Then the polytope is defined by the system
Formalization Note. The retired version transcribed as , the node in place of its out-neighbourhood ; since , this cut off every path-decomposable set containing a predecessor of (e.g. for the path ). The definition module Disjunctive_ExtendedFormulations_Basic_v2 corrects GammaStar (everything else unchanged), checked against the same operator in Balas's 2005 survey (Ann. Oper. Res. 140, Theorem 4.4). As before, the polytope lives in the coordinates of , so both sides fix ; acyclicity is the book's hypothesis on ; a path decomposition is encoded by a degree-constrained arc set (IsPathDecomposable).
import Mathlib import Definitions.Def_Disjunctive_ExtendedFormulations_Basic_v2
namespace Disjunctive.ExtendedFormulations
/-- Theorem 5.3 (Balas, *Disjunctive Programming*, Springer 2018, §5.2.3, p. 75-76, [13]): the
`s`-`t` Path Decomposable Subgraph Polytope of an acyclic digraph `(V,A)` is defined by the
system `0 ≤ x_i ≤ 1`, `x(S \ Γ*(S)) − x(Γ*(S) \ S) ≤ 0`, `S ⊆ V \ {s,t}`, where
`Γ*(S) = (Γ(S) \ {t}) ∪ Γ(s)` if `t ∈ Γ(S)` and `Γ*(S) = Γ(S)` otherwise. The polytope lives in
the coordinates of `V \ {s,t}` (its points are incidence vectors of subsets of `V \ {s,t}`), so
both sides fix `x_s = x_t = 0`.
Corrected: the retired version used `Γ*(S) = (Γ(S) \ {t}) ∪ {s}` (the node `s` instead of its
out-neighbourhood `Γ(s)`), a mistranscription of the book's operator. -/
theorem path_decomposable_subgraph_polytope_v2 {V : Type*} [Fintype V] [DecidableEq V]
(A : V → V → Prop) [DecidableRel A] (s t : V) (hst : s ≠ t)
(hacyclic : IsAcyclicDigraph A) :
PathDecomposableSubgraphPolytope A s t =
{x : V → ℝ | (∀ i, 0 ≤ x i ∧ x i ≤ 1) ∧ x s = 0 ∧ x t = 0 ∧
∀ S : Finset V, s ∉ S → t ∉ S →
xSum x (S \ GammaStar A s t S) - xSum x (GammaStar A s t S \ S) ≤ 0} := by sorry
end Disjunctive.ExtendedFormulations