candes_romberg_talagrand_finite_bool_product_linear_process_bad_event_log_tail
ProvedFinite Boolean product-measure Candes--Romberg Talagrand bad-event theorem for a finite coordinate set.
Primary source: Candes--Romberg, Sparsity and incoherence in compressive sampling, PDF p. 11, Section 3, Theorem 3.2, equation (3.9). Mission source connection: Candes--Recht, Exact Matrix Completion via Convex Optimization, Appendix 9.1, PDF p. 46, Theorem 9.1 and equations (9.1)--(9.2), cites the same Talagrand--Ledoux empirical-process input for the tangent-sampling proof.
Mathematical statement and notation: let be a finite coordinate type and let be sampled from the independent product Bernoulli measure
represented in Lean as p : NNReal with proof hp : p \le 1. For a finite nonempty coefficient class indexed by , define
Assume the envelope bound
for all , with , and the variance proxy bound
for every . Then there is a universal constant such that for every ,
Here and the product Bernoulli probability model are the main quantities. The matrix dimensions , powerset sample set , fixed-cardinality successProb, and coherence parameters do not appear in this external concentration theorem; they appear only after specializing in downstream matrix-completion nodes.
Formalization note: this is a direct source theorem / source-derived finite Boolean product-measure formulation of Candes--Romberg Theorem 3.2, not a formal bridge and not a Lean-only arithmetic lemma. The child theorem candes_romberg_talagrand_finite_bool_product_coordinate_process_bad_event_log_tail is the formal specialization to with bernMeasure unfolded to Mathlib's product measure.
import Definitions.Def_matrix_completion_bernoulli_measure import Mathlib.Analysis.SpecialFunctions.Log.Basic import Mathlib.MeasureTheory.Integral.Pi import Mathlib.Probability.ProbabilityMassFunction.Integrals open MatrixCompletion open MeasureTheory open scoped Classical BigOperators
theorem candes_romberg_talagrand_finite_bool_product_linear_process_bad_event_log_tail :
∃ K : ℝ, 0 < K ∧
∀ (κ : Type) [Fintype κ] (p : NNReal) (hp : p ≤ 1)
(ι : Type) [Fintype ι] [Nonempty ι]
(coeff : ι → κ → ℝ) (B sigmaSq t : ℝ),
0 < B → 0 ≤ sigmaSq → 0 ≤ t →
(∀ a : ι, ∀ x : κ, |coeff a x| ≤ B) →
(∀ a : ι,
∑ x : κ, (p : ℝ) * (1 - (p : ℝ)) * (coeff a x) ^ 2 ≤ sigmaSq) →
let boolProcess : ι → (κ → Bool) → ℝ :=
fun a ω =>
∑ x : κ, ((cond (ω x) (1 : ℝ) 0 - (p : ℝ)) * coeff a x)
let boolZ : (κ → Bool) → ℝ :=
fun ω => Finset.univ.sup' Finset.univ_nonempty (fun a : ι => boolProcess a ω)
let boolZbar : (κ → Bool) → ℝ :=
fun ω => Finset.univ.sup' Finset.univ_nonempty (fun a : ι => |boolProcess a ω|)
(Measure.pi (fun _ : κ => (PMF.bernoulli p hp).toMeasure)).real
{ω | ¬ |boolZ ω -
(∫ ω, boolZ ω
∂(Measure.pi (fun _ : κ => (PMF.bernoulli p hp).toMeasure)))| ≤ t} ≤
3 * Real.exp
(-(t / (K * B)) *
Real.log
(1 + (B * t) /
(sigmaSq + B *
(∫ ω, boolZbar ω
∂(Measure.pi (fun _ : κ => (PMF.bernoulli p hp).toMeasure))))))
:= by
sorry