Deterministic undirected product flow–cut algorithm
Lax455465.RamUndirectedSparsestCut · concepts/Lax455465/RamUndirectedSparsestCut.lean · lax-455465
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
A deterministic polynomial-time word RAM returns a cut and a rational concurrent flow satisfying
Both certificates concern the same rational product-demand instance.
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
Lean source view on GitHub
| 1 | import Lax455465.FlowCutCertificate |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Deterministic undirected product flow–cut algorithm |
| 6 | type: lemma |
| 7 | --- |
| 8 | A deterministic polynomial-time word RAM returns a cut and a rational |
| 9 | concurrent flow satisfying |
| 10 | |
| 11 | Both certificates concern the same rational product-demand instance. |
| 12 | |
| 13 | # Formalization notes |
| 14 | |
| 15 | This specializes the general product flow–cut algorithm to undirected |
| 16 | capacities and demands, retaining its program, exact output, and binary-size |
| 17 | RAM bound. Undirected capacities are symmetric and shared between directions; |
| 18 | directed cuts count outgoing arcs and directed capacities may be asymmetric. |
| 19 | -/ |
| 20 | |
| 21 | namespace Lax455465.RamUndirectedSparsestCut |
| 22 | |
| 23 | open Lax455465.ProductNetwork Lax455465.RationalEncoding Lax455465.FlowCutCertificate |
| 24 | open Lax759944.RamPolytime |
| 25 | |
| 26 | /-- The undirected product specialization returns the joint certificate. -/ |
| 27 | axiom exists_polynomial_time_sparse_cut : |
| 28 | ∃ (solve : List ℕ → List ℕ) (C : ℝ), RamPolytime solve ∧ 0 < C ∧ |
| 29 | ∀ (n : ℕ) (I : RationalInstance n), |
| 30 | I.network.IsUndirected → 2 ≤ supportCount I.weights → |
| 31 | ∃ certificate : Certificate n, |
| 32 | solve (encodeInput .undirected I) = encodeCertificate certificate ∧ |
| 33 | IsValid .undirected I C certificate |
| 34 | |
| 35 | end Lax455465.RamUndirectedSparsestCut |
| 36 |
Formalization notes
This specializes the general product flow–cut algorithm to undirected capacities and demands, retaining its program, exact output, and binary-size RAM bound. Undirected capacities are symmetric and shared between directions; directed cuts count outgoing arcs and directed capacities may be asymmetric.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments