Polynomial-time RAM construction of a uniform short-path flow
Lax455465.RamUniformShortPathFlow · concepts/Lax455465/RamUniformShortPathFlow.lean · lax-455465
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
There is a polynomial-time word-RAM algorithm and universal constants such that, on every rational undirected uniform instance with and positive sparsest-cut value , it returns a rational fractional flow certificate meeting a common fraction of all demands, where
and every path carrying flow has length at most
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
Lean source view on GitHub
| 1 | import Lax455465.RationalEncoding |
| 2 | import Lax455465.ShortPathFlow |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Polynomial-time RAM construction of a uniform short-path flow |
| 7 | type: theorem |
| 8 | --- |
| 9 | There is a polynomial-time word-RAM algorithm and universal constants |
| 10 | such that, on every rational undirected uniform instance with and |
| 11 | positive sparsest-cut value , it returns a rational fractional |
| 12 | flow certificate meeting a common fraction of all demands, where |
| 13 | |
| 14 | and every path carrying flow has length at most |
| 15 | |
| 16 | |
| 17 | # Formalization notes |
| 18 | |
| 19 | This states the algorithmic assertion accompanying Theorem 18 of Leighton |
| 20 | and Rao (1999). The same decoded certificate must satisfy capacities, every |
| 21 | commodity demand, the flow-value bound, and the path-length bound. Its exact |
| 22 | rational output is produced by a program certified by the registered RAM |
| 23 | polynomial-time predicate. All-one weights are required in the input encoding. |
| 24 | -/ |
| 25 | |
| 26 | open scoped NNReal |
| 27 | |
| 28 | namespace Lax455465.RamUniformShortPathFlow |
| 29 | |
| 30 | open Lax455465.ProductNetwork Lax455465.ConcurrentFlow |
| 31 | open Lax455465.ShortPathFlow Lax455465.RationalEncoding Lax759944.RamPolytime |
| 32 | |
| 33 | /-- A polynomial-time RAM constructs a feasible uniform flow with the |
| 34 | value and path-length guarantees of Theorem 18. -/ |
| 35 | axiom exists_polynomial_time_short_path_flow : |
| 36 | ∃ (solve : List ℕ → List ℕ) (A B : ℝ), |
| 37 | RamPolytime solve ∧ 0 < A ∧ 0 < B ∧ |
| 38 | ∀ (n : ℕ) (I : RationalInstance n), |
| 39 | I.network.IsUndirected → (∀ v, I.weight v = 1) → 2 ≤ n → |
| 40 | 0 < sparsestCut I.network (uniformWeight n) → |
| 41 | ∃ certificate : FlowCertificate n, |
| 42 | solve (encodeInput .undirected I) = encodeFlow certificate ∧ |
| 43 | IsConcurrentFlow .undirected I.network (uniformWeight n) |
| 44 | (certificate.value : ℝ≥0) certificate.flow ∧ |
| 45 | (sparsestCut I.network (uniformWeight n) : ℝ) ≤ |
| 46 | A * logFactor n * (certificate.value : ℝ) ∧ |
| 47 | HasPathLengthAtMost certificate.flow |
| 48 | (B * (maxIncidentCapacity I.network : ℝ) * logFactor n / |
| 49 | ((n : ℝ) * (sparsestCut I.network (uniformWeight n) : ℝ))) |
| 50 | |
| 51 | end Lax455465.RamUniformShortPathFlow |
| 52 |
Formalization notes
This states the algorithmic assertion accompanying Theorem 18 of Leighton and Rao (1999). The same decoded certificate must satisfy capacities, every commodity demand, the flow-value bound, and the path-length bound. Its exact rational output is produced by a program certified by the registered RAM polynomial-time predicate. All-one weights are required in the input encoding.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments