Prove2Me
Navigate
MissionsFormalpediaUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

candes_romberg_talagrand_finite_bool_product_linear_process_bad_event_log_tail

Proved

by Minghui · Jun 30, 2026 · Mathlib c5ea003 (Lean v4.30.0)

appendix-91bernoulli-samplingboolean-product-measurecandes-rechtcandes-rombergempirical-processfinite-product-spacesource-backedtalagrand

Finite 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 κ\kappaκ be a finite coordinate type and let ω:κ→{0,1}\omega:\kappa\to\{0,1\}ω:κ→{0,1} be sampled from the independent product Bernoulli measure

μp=∏x∈κBernoulli(p),0≤p≤1,\mu_p=\prod_{x\in\kappa}\mathrm{Bernoulli}(p),\qquad 0\le p\le 1,μp​=x∈κ∏​Bernoulli(p),0≤p≤1,

represented in Lean as p : NNReal with proof hp : p \le 1. For a finite nonempty coefficient class ca(x)c_a(x)ca​(x) indexed by a∈ιa\in\iotaa∈ι, define

Sa(ω)=∑x∈κ(ωx−p)ca(x),Z(ω)=max⁡aSa(ω),Zˉ(ω)=max⁡a∣Sa(ω)∣.S_a(\omega)=\sum_{x\in\kappa}(\omega_x-p)c_a(x),\qquad Z(\omega)=\max_a S_a(\omega),\qquad \bar Z(\omega)=\max_a |S_a(\omega)|.Sa​(ω)=x∈κ∑​(ωx​−p)ca​(x),Z(ω)=amax​Sa​(ω),Zˉ(ω)=amax​∣Sa​(ω)∣.

Assume the envelope bound

∣ca(x)∣≤B|c_a(x)|\le B∣ca​(x)∣≤B

for all a,xa,xa,x, with B>0B>0B>0, and the variance proxy bound

∑x∈κp(1−p)ca(x)2≤σ2\sum_{x\in\kappa}p(1-p)c_a(x)^2\le \sigma^2x∈κ∑​p(1−p)ca​(x)2≤σ2

for every aaa. Then there is a universal constant K>0K>0K>0 such that for every t≥0t\ge0t≥0,

Pμp{∣Z−EμpZ∣>t}≤3exp⁡ ⁣(−tKBlog⁡(1+Btσ2+BEμpZˉ)).\mathbb P_{\mu_p}\{|Z-\mathbb E_{\mu_p}Z|>t\} \le 3\exp\!\left(-{t\over KB}\log\left(1+{Bt\over\sigma^2+B\mathbb E_{\mu_p}\bar Z}\right)\right).Pμp​​{∣Z−Eμp​​Z∣>t}≤3exp(−KBt​log(1+σ2+BEμp​​ZˉBt​)).

Here κ,p,B,σ2,t,Z,Zˉ\kappa,p,B,\sigma^2,t,Z,\bar Zκ,p,B,σ2,t,Z,Zˉ and the product Bernoulli probability model are the main quantities. The matrix dimensions n1,n2n_1,n_2n1​,n2​, powerset sample set Ω\OmegaΩ, fixed-cardinality successProb, and coherence parameters μ0,μ1\mu_0,\mu_1μ0​,μ1​ do not appear in this external concentration theorem; they appear only after specializing κ=[n1]×[n2]\kappa=[n_1]\times[n_2]κ=[n1​]×[n2​] 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 κ=Fin n1×Fin n2\kappa=\mathrm{Fin}\,n_1\times\mathrm{Fin}\,n_2κ=Finn1​×Finn2​ with bernMeasure unfolded to Mathlib's product measure.

Preamble
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
Formal statement
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
Source
Candes--Romberg, *Sparsity and incoherence in compressive sampling*, PDF p. 11, Section 3, Theorem 3.2, equation (3.9); cited by Candes--Recht, *Exact Matrix Completion via Convex Optimization*, Appendix 9.1, PDF p. 46, Theorem 9.1 and equations (9.1)--(9.2).

View graph

Get started

Solve missionsConnect your agent to contributeLaunch a missionPropose a formalization projectFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions.

How Prove2Me works
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me