Explicit integer budgets for the round-or-cut algorithm
Lax263307.AlgorithmParameters · concepts/Lax263307/AlgorithmParameters.lean · lax-263307
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Fixed class constants and an integer accuracy denominator determine the load, edge sparsity, conditioning level, and small-target cutoff. The conditioning moment floor supplies a uniform protected radius. A larger integer precision budget makes that dyadic radius small enough using only natural arithmetic and powers of two.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax263307.MomentLP |
| 2 | import Lax263307.HeavyConditioning |
| 3 | import Lax263307.RoundedOracleSearch |
| 4 | import Mathlib.Data.Nat.Log |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: Explicit integer budgets for the round-or-cut algorithm |
| 9 | type: theorem |
| 10 | --- |
| 11 | Fixed class constants and an integer accuracy denominator determine the |
| 12 | load, edge sparsity, conditioning level, and small-target cutoff. |
| 13 | The conditioning moment floor supplies a uniform protected radius. |
| 14 | A larger integer precision budget makes that dyadic radius small enough |
| 15 | using only natural arithmetic and powers of two. |
| 16 | |
| 17 | # Formalization notes |
| 18 | |
| 19 | The precision budget is the protected-radius denominator plus two. |
| 20 | That denominator is quasipolynomial in the input order and accuracy, so |
| 21 | this conservative choice also gives a quasipolynomial iteration budget. |
| 22 | The resource estimate and concrete RAM execution are separate obligations. |
| 23 | -/ |
| 24 | |
| 25 | namespace Lax263307.AlgorithmParameters |
| 26 | |
| 27 | def logarithm (n : ℕ) : ℕ := Nat.log2 (2 * n) + 1 |
| 28 | def load (B n D : ℕ) : ℕ := 12 * B * D * logarithm n |
| 29 | def targetThreshold (a K B n D : ℕ) : ℕ := K * (load B n D + 1) ^ (4 * a + 2) |
| 30 | def sparsity (a K B n D : ℕ) : ℕ := 2 * targetThreshold a K B n D |
| 31 | def level (a K B n D : ℕ) : ℕ := sparsity a K B n D * (Nat.log2 n + 1) |
| 32 | def cutoff (a K B n D : ℕ) : ℕ := max (targetThreshold a K B n D) (level a K B n D) |
| 33 | def floorDenominator (a K B n D : ℕ) : ℕ := |
| 34 | 2 * n * sparsity a K B n D * (Nat.log2 n + 1) |
| 35 | def momentFloor (a K B n D : ℕ) : ℚ := |
| 36 | 1 / (floorDenominator a K B n D : ℚ) ^ level a K B n D |
| 37 | def radiusDenominator (a K B n D : ℕ) : ℕ := |
| 38 | 256 * MomentLP.dimension n (level a K B n D) * n ^ 2 * D ^ 2 * |
| 39 | floorDenominator a K B n D ^ level a K B n D |
| 40 | def precision (a K B n D : ℕ) : ℕ := radiusDenominator a K B n D + 2 |
| 41 | def iterations (a K B n D : ℕ) : ℕ := |
| 42 | RoundedOracleSearch.steps (MomentLP.dimension n (level a K B n D)) (precision a K B n D) |
| 43 | |
| 44 | axiom budgets {a K B n D k : ℕ} (hK : 0 < K) (hB : 0 < B) |
| 45 | (hD : 4 ≤ D) (large : cutoff a K B n D < k) : |
| 46 | 0 < load B n D ∧ 0 < sparsity a K B n D ∧ 0 < level a K B n D ∧ |
| 47 | 0 < (1 / (D : ℝ)) ∧ (1 / (D : ℝ)) ≤ 1 / 4 ∧ |
| 48 | 12 * (B : ℝ) * ((Nat.log2 (2 * n) : ℝ) + 1) ≤ |
| 49 | (1 / (D : ℝ)) * load B n D ∧ |
| 50 | (sparsity a K B n D : ℝ) * ((Nat.log2 n : ℝ) + 1) ≤ level a K B n D ∧ |
| 51 | (K : ℝ) * ((load B n D : ℝ) + 1) ^ (4 * a + 2) ≤ k ∧ |
| 52 | (2 * K : ℝ) * ((load B n D : ℝ) + 1) ^ (4 * a + 2) ≤ sparsity a K B n D |
| 53 | |
| 54 | axiom conditioning_floor (a K B n D : ℕ) : |
| 55 | (momentFloor a K B n D : ℝ) = |
| 56 | HeavyConditioning.probabilityFloor n (sparsity a K B n D) ^ level a K B n D |
| 57 | |
| 58 | axiom protected_radius {a K B n D : ℕ} (hK : 0 < K) (hn : 0 < n) (hD : 0 < D) : |
| 59 | 2 ≤ precision a K B n D ∧ |
| 60 | ((2 : ℝ) ^ precision a K B n D)⁻¹ ≤ |
| 61 | (momentFloor a K B n D : ℝ) / |
| 62 | (256 * (MomentLP.dimension n (level a K B n D) : ℝ) * (n : ℝ) ^ 2 * (D : ℝ) ^ 2) |
| 63 | |
| 64 | end Lax263307.AlgorithmParameters |
| 65 |
Formalization notes
The precision budget is the protected-radius denominator plus two. That denominator is quasipolynomial in the input order and accuracy, so this conservative choice also gives a quasipolynomial iteration budget. The resource estimate and concrete RAM execution are separate obligations.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments