Recursive rounding after discarding light parts
Lax263307.HeavyRecursiveRounding · concepts/Lax263307/HeavyRecursiveRounding.lean · lax-263307
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
At most 2n parts whose conditioned cost is at most deltak/(4n) lose at most deltak/2 in total. Approximate answers at rounded targets on all heavier parts combine into an independent set, losing a factor at most 1-4delta per recursive level. A failed heavy query instead gives a valid component inequality with a uniform positive gap at the nearby queried moment vector.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax263307.StrongComponentGaps |
| 2 | import Lax263307.ConditionedCosts |
| 3 | import Lax263307.RecursiveRounding |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Recursive rounding after discarding light parts |
| 8 | type: theorem |
| 9 | --- |
| 10 | At most 2n parts whose conditioned cost is at most delta*k/(4n) lose |
| 11 | at most delta*k/2 in total. Approximate answers at rounded targets on |
| 12 | all heavier parts combine into an independent set, losing a factor |
| 13 | at most 1-4delta per recursive level. A failed heavy query instead gives |
| 14 | a valid component inequality with a uniform positive gap at the nearby |
| 15 | queried moment vector. |
| 16 | |
| 17 | # Formalization notes |
| 18 | |
| 19 | These are the mathematical answer-or-cut invariants for the recursive |
| 20 | oracle. They do not assume that every part receives a recursive query. |
| 21 | The explicit RAM loop and its running time remain separate obligations. |
| 22 | -/ |
| 23 | |
| 24 | namespace Lax263307.HeavyRecursiveRounding |
| 25 | |
| 26 | open Lax263307.LinearRelaxation Lax263307.SeparatorComponents |
| 27 | open Lax263307.ComponentCutEncoding |
| 28 | |
| 29 | axiom ignored_cost {n : ℕ} {ι : Type} [Fintype ι] (c : ι → ℝ) (δ k : ℝ) |
| 30 | (hn : 0 < n) (hδ : 0 ≤ δ) (hk : 0 ≤ k) (count : Fintype.card ι ≤ 2 * n) : |
| 31 | (∑ i, if δ * k / (4 * n) < c i then 0 else c i) ≤ δ * k / 2 |
| 32 | |
| 33 | axiom heavy_union_size {n : ℕ} {ι : Type} [Fintype ι] |
| 34 | (G : SimpleGraph (Fin n)) (S : Finset (Fin n)) (P : Partition G S ι) |
| 35 | (x : Fin n → ℝ) (k : ℕ) (h : ℕ) (δ : ℝ) |
| 36 | (hn : 0 < n) (hδ : 0 ≤ δ) (small : δ ≤ 1 / 4) |
| 37 | (count : Fintype.card ι ≤ 2 * n) |
| 38 | (mass : (∑ v, x v) = k) (light : ∑ v ∈ S, x v ≤ δ * k) |
| 39 | (I : ι → Finset (Fin n)) (targets : ι → ℕ) |
| 40 | (inside : ∀ i, I i ⊆ P.vertices i) |
| 41 | (independent : ∀ i, G.IsIndepSet (I i : Set (Fin n))) |
| 42 | (rounded : ∀ i, δ * k / (4 * n) < ∑ v ∈ P.vertices i, x v → |
| 43 | (1 - δ) * (∑ v ∈ P.vertices i, x v) < targets i) |
| 44 | (answers : ∀ i, δ * k / (4 * n) < ∑ v ∈ P.vertices i, x v → |
| 45 | (1 - 4 * δ) ^ h * (targets i : ℝ) ≤ (I i).card) : |
| 46 | G.IsIndepSet (combine I : Set (Fin n)) ∧ |
| 47 | (1 - 4 * δ) ^ (h + 1) * (k : ℝ) ≤ (combine I).card |
| 48 | |
| 49 | axiom strong_round_or_cut {n r : ℕ} {ι : Type} [Fintype ι] |
| 50 | (G : SimpleGraph (Fin n)) (k h : ℕ) (δ η : ℝ) |
| 51 | (hn : 0 < n) (hk : 0 < k) (hδ : 0 < δ) (small : δ ≤ 1 / 4) (hη : 0 < η) |
| 52 | (x y : MomentVector n r) (feasible : Lax263307.LinearRelaxation.IsFeasible G k r y) |
| 53 | (A S : Finset (Fin n)) (P : Partition G S ι) (size : A.card ≤ r) |
| 54 | (moment : η ≤ value y A) (count : Fintype.card ι ≤ 2 * n) |
| 55 | (light : ∑ v ∈ S, conditioned y A v ≤ δ * k) |
| 56 | (I : ι → Finset (Fin n)) (targets : ι → ℕ) |
| 57 | (inside : ∀ i, I i ⊆ P.vertices i) |
| 58 | (independent : ∀ i, G.IsIndepSet (I i : Set (Fin n))) |
| 59 | (target_lower : ∀ i, δ * k / (4 * n) < ∑ v ∈ P.vertices i, conditioned y A v → |
| 60 | (1 - δ) * (∑ v ∈ P.vertices i, conditioned y A v) < targets i) |
| 61 | (target_upper : ∀ i, δ * k / (4 * n) < ∑ v ∈ P.vertices i, conditioned y A v → |
| 62 | (targets i - 1 : ℕ) ≤ (1 - δ) * (∑ v ∈ P.vertices i, conditioned y A v)) |
| 63 | (queries : ∀ i, δ * k / (4 * n) < ∑ v ∈ P.vertices i, conditioned y A v → |
| 64 | ((1 - 4 * δ) ^ h * (targets i : ℝ) ≤ (I i).card) ∨ |
| 65 | IsIndependenceBound G (P.vertices i) (targets i - 1)) |
| 66 | (near : ∀ B, |x B - y B| ≤ η * δ ^ 2 / (32 * (n : ℝ) ^ 2)) : |
| 67 | (G.IsIndepSet (combine I : Set (Fin n)) ∧ |
| 68 | (1 - 4 * δ) ^ (h + 1) * (k : ℝ) ≤ (combine I).card) ∨ |
| 69 | ∃ i, (∀ z ∈ independentSetHull G k r, |
| 70 | evaluate (coefficient A (P.vertices i) (targets i - 1)) z ≤ 0) ∧ |
| 71 | η * δ ^ 2 / (16 * n) ≤ evaluate (coefficient A (P.vertices i) (targets i - 1)) x |
| 72 | |
| 73 | end Lax263307.HeavyRecursiveRounding |
| 74 |
Formalization notes
These are the mathematical answer-or-cut invariants for the recursive oracle. They do not assume that every part receives a recursive query. The explicit RAM loop and its running time remain separate obligations.
Used by
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments