Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 2.2: dual sparse reconstruction property, ℓ∞\ell^\inftyℓ∞ version

Proved
CandesTao.Decoding.dual_reconstruction_linf

by naimengye · Sep 30, 2026 · Mathlib 0df444a (Lean v4.33.1)

compressed-sensingerror-correcting-codesl1-minimizationlinear-programmingrestricted-isometrysparse-recovery

Let FFF be a real p×mp \times mp×m matrix with columns v1,…,vmv_1, \dots, v_mv1​,…,vm​ spanning HHH. Let S≥1S \ge 1S≥1 be such that δS+θS,2S<1\delta_S + \theta_{S,2S} < 1δS​+θS,2S​<1, and let ccc be a real vector supported on T⊆{1,…,m}T \subseteq \{1, \dots, m\}T⊆{1,…,m} with ∣T∣≤S|T| \le S∣T∣≤S. Then there exists a vector w∈Hw \in Hw∈H such that ⟨w,vj⟩=cj\langle w, v_j \rangle = c_j⟨w,vj​⟩=cj​ for all j∈Tj \in Tj∈T, and

∣⟨w,vj⟩∣≤θS,S(1−δS−θS,2S)S ∥c∥for all j∉T|\langle w, v_j \rangle| \le \frac{\theta_{S,S}}{(1 - \delta_S - \theta_{S,2S})\sqrt{S}} \, \|c\| \quad \text{for all } j \notin T∣⟨w,vj​⟩∣≤(1−δS​−θS,2S​)S​θS,S​​∥c∥for all j∈/T

(equation (2.4)).

Applied to the sign vector of ccc on TTT, this produces the dual vector www with ⟨w,vj⟩=sgn⁡(cj)\langle w, v_j \rangle = \operatorname{sgn}(c_j)⟨w,vj​⟩=sgn(cj​) on TTT and ∣⟨w,vj⟩∣<1|\langle w, v_j \rangle| < 1∣⟨w,vj​⟩∣<1 off TTT whenever δS+θS,S+θS,2S<1\delta_S + \theta_{S,S} + \theta_{S,2S} < 1δS​+θS,S​+θS,2S​<1; Theorem 1.4 follows from it by the duality argument of Section 2.2.

Formalization Note The constants are transcribed exactly as printed in (2.4). The mission description ("Difficulty") records a caveat about how the paper's proof arrives at these constants. The hypothesis 3S≤m3S \le m3S≤m is the domain on which Definition 1.1 defines θS,2S\theta_{S,2S}θS,2S​.

Preamble
import Definitions.Def_CandesTao_Decoding_RestrictedIsometry
Formal statement
namespace CandesTao.Decoding
theorem dual_reconstruction_linf {p m : ℕ} (F : Matrix (Fin p) (Fin m) ℝ) (S : ℕ)
    (hS : 1 ≤ S) (hSm : 3 * S ≤ m)
    (h : restrictedIsometryConst F S + restrictedOrthogonalityConst F S (2 * S) < 1)
    (T : Finset (Fin m)) (c : Fin m → ℝ) (hT : T.card ≤ S) (hc : SupportedOn c T) :
    ∃ w : Fin p → ℝ, w ∈ columnSpan F ∧ (∀ j ∈ T, dotProduct w (column F j) = c j) ∧
      ∀ j, j ∉ T →
        |dotProduct w (column F j)| ≤
          restrictedOrthogonalityConst F S S /
            ((1 - restrictedIsometryConst F S - restrictedOrthogonalityConst F S (2 * S)) *
              Real.sqrt S) * l2Norm c := by sorry
end CandesTao.Decoding
Source
Candès--Tao 2005, Decoding by Linear Programming, IEEE Trans. Inform. Theory 51(12):4203-4215, doi:10.1109/TIT.2005.858979; arXiv:math/0502327v1 (https://arxiv.org/abs/math/0502327), p. 9, Lemma 2.2 (Dual sparse reconstruction property, l-infinity version), eq. (2.4)
Read-back

What the Lean code literally says, in plain math · claude-fable-5-1

Read-back of dual_reconstruction_linf

Objects and notation. Throughout, ppp and mmm are natural numbers (the binders allow either to be 000), FFF is a real p×mp \times mp×m matrix with rows indexed by {0,…,p−1}\{0,\dots,p-1\}{0,…,p−1} and columns by {0,…,m−1}\{0,\dots,m-1\}{0,…,m−1}, and SSS is a natural number. For a vector x∈Rnx \in \mathbb{R}^nx∈Rn write

∥x∥2:=∑ixi2,\|x\|_2 := \sqrt{\textstyle\sum_i x_i^2},∥x∥2​:=∑i​xi2​​,

where ⋅\sqrt{\cdot}⋅​ is Mathlib's real square root (it returns 000 on negative inputs, which cannot occur here because the argument is a sum of squares); so ∥⋅∥2\|\cdot\|_2∥⋅∥2​ is the ordinary Euclidean norm, and ∥x∥22=∑ixi2\|x\|_2^2 = \sum_i x_i^2∥x∥22​=∑i​xi2​. For j∈{0,…,m−1}j \in \{0,\dots,m-1\}j∈{0,…,m−1}, F⋅j∈RpF_{\cdot j} \in \mathbb{R}^pF⋅j​∈Rp denotes the jjj-th column of FFF, i.e. (F⋅j)i=Fij(F_{\cdot j})_i = F_{ij}(F⋅j​)i​=Fij​. For u,v∈Rpu, v \in \mathbb{R}^pu,v∈Rp, ⟨u,v⟩=∑iuivi\langle u, v\rangle = \sum_i u_i v_i⟨u,v⟩=∑i​ui​vi​ is the standard dot product; in particular ⟨w,F⋅j⟩=∑iwiFij=(FTw)j\langle w, F_{\cdot j}\rangle = \sum_i w_i F_{ij} = (F^{\mathsf T} w)_j⟨w,F⋅j​⟩=∑i​wi​Fij​=(FTw)j​. FcFcFc is the usual matrix–vector product, (Fc)i=∑jFijcj(Fc)_i = \sum_j F_{ij} c_j(Fc)i​=∑j​Fij​cj​. A vector c∈Rmc \in \mathbb{R}^mc∈Rm is said to be supported on a finite set T⊆{0,…,m−1}T \subseteq \{0,\dots,m-1\}T⊆{0,…,m−1} if

cj=0for every j∉T;c_j = 0 \quad \text{for every } j \notin T;cj​=0for every j∈/T;

nothing is required of cjc_jcj​ for j∈Tj \in Tj∈T (so c=0c = 0c=0 is supported on every TTT, and ccc may vanish on part of TTT). The column span of FFF is the R\mathbb{R}R-linear span of the set of columns {F⋅j:0≤j<m}\{F_{\cdot j} : 0 \le j < m\}{F⋅j​:0≤j<m}, a linear subspace of Rp\mathbb{R}^pRp (equivalently, {Fv:v∈Rm}\{Fv : v \in \mathbb{R}^m\}{Fv:v∈Rm}).

The restricted isometry constant. For a natural number SSS,

δS:=inf⁡{δ∈R  :  δ≥0  and  ∀ T⊆{0,…,m−1} with ∣T∣≤S, ∀ c∈Rm supported on T: (1−δ) ∥c∥22≤∥Fc∥22  and  ∥Fc∥22≤(1+δ) ∥c∥22}.\delta_S := \inf\Big\{\delta \in \mathbb{R} \;:\; \delta \ge 0 \ \text{ and }\ \forall\, T \subseteq \{0,\dots,m-1\} \text{ with } |T| \le S,\ \forall\, c \in \mathbb{R}^m \text{ supported on } T:\ (1-\delta)\,\|c\|_2^2 \le \|Fc\|_2^2 \ \text{ and }\ \|Fc\|_2^2 \le (1+\delta)\,\|c\|_2^2 \Big\}.δS​:=inf{δ∈R:δ≥0  and  ∀T⊆{0,…,m−1} with ∣T∣≤S, ∀c∈Rm supported on T: (1−δ)∥c∥22​≤∥Fc∥22​  and  ∥Fc∥22​≤(1+δ)∥c∥22​}.

Here TTT ranges over all subsets of size at most SSS (including ∅\varnothing∅), and ccc over all vectors supported on TTT (including c=0c = 0c=0).

The restricted orthogonality constant. For natural numbers S,S′S, S'S,S′,

θS,S′:=inf⁡{θ∈R  :  θ≥0  and  ∀ T,T′⊆{0,…,m−1} with T∩T′=∅, ∣T∣≤S, ∣T′∣≤S′, ∀ c,c′∈Rm with c supported on T and c′ supported on T′: ∣⟨Fc, Fc′⟩∣≤θ ∥c∥2 ∥c′∥2}.\theta_{S,S'} := \inf\Big\{\theta \in \mathbb{R} \;:\; \theta \ge 0 \ \text{ and }\ \forall\, T, T' \subseteq \{0,\dots,m-1\} \text{ with } T \cap T' = \varnothing,\ |T| \le S,\ |T'| \le S',\ \forall\, c, c' \in \mathbb{R}^m \text{ with } c \text{ supported on } T \text{ and } c' \text{ supported on } T':\ \big|\langle Fc,\, Fc'\rangle\big| \le \theta\,\|c\|_2\,\|c'\|_2 \Big\}.θS,S′​:=inf{θ∈R:θ≥0  and  ∀T,T′⊆{0,…,m−1} with T∩T′=∅, ∣T∣≤S, ∣T′∣≤S′, ∀c,c′∈Rm with c supported on T and c′ supported on T′: ​⟨Fc,Fc′⟩​≤θ∥c∥2​∥c′∥2​}.

Infimum convention. Both infima are Mathlib's inf⁡\infinf on R\mathbb{R}R, which by convention returns 000 for the empty set and 000 for a set that has no lower bound. Each of the two sets above is bounded below by 000 by construction, and each is nonempty for every finite matrix FFF (every sufficiently large δ\deltaδ, resp. θ\thetaθ, belongs; e.g. δ=θ=max⁡(1,∑i,jFij2)\delta = \theta = \max\big(1, \sum_{i,j} F_{ij}^2\big)δ=θ=max(1,∑i,j​Fij2​) works by Cauchy–Schwarz). So in both cases the infimum is the ordinary greatest lower bound, and δS≥0\delta_S \ge 0δS​≥0, θS,S′≥0\theta_{S,S'} \ge 0θS,S′​≥0.

Hypotheses. The theorem assumes:

  1. p,m∈Np, m \in \mathbb{N}p,m∈N, F∈Rp×mF \in \mathbb{R}^{p \times m}F∈Rp×m, S∈NS \in \mathbb{N}S∈N as above;
  2. 1≤S1 \le S1≤S;
  3. 3S≤m3S \le m3S≤m (hence m≥3m \ge 3m≥3; no condition at all is placed on ppp);
  4. δS+θS, 2S<1\delta_S + \theta_{S,\,2S} < 1δS​+θS,2S​<1 (strict);
  5. a finite set T⊆{0,…,m−1}T \subseteq \{0,\dots,m-1\}T⊆{0,…,m−1} with ∣T∣≤S|T| \le S∣T∣≤S;
  6. a vector c∈Rmc \in \mathbb{R}^mc∈Rm supported on TTT, i.e. cj=0c_j = 0cj​=0 for all j∉Tj \notin Tj∈/T.

Conclusion. There exists (at least one; uniqueness is not asserted) a vector w∈Rpw \in \mathbb{R}^pw∈Rp such that all three of the following hold simultaneously:

(a) www lies in the column span of FFF;

(b) for every j∈Tj \in Tj∈T:

⟨w,F⋅j⟩=cj;\langle w, F_{\cdot j}\rangle = c_j;⟨w,F⋅j​⟩=cj​;

(c) for every index j∈{0,…,m−1}j \in \{0,\dots,m-1\}j∈{0,…,m−1} with j∉Tj \notin Tj∈/T:

∣⟨w,F⋅j⟩∣  ≤  θS,S(1−δS−θS, 2S) S  ∥c∥2.\big|\langle w, F_{\cdot j}\rangle\big| \;\le\; \frac{\theta_{S,S}}{\big(1 - \delta_S - \theta_{S,\,2S}\big)\,\sqrt{S}}\;\|c\|_2 .​⟨w,F⋅j​⟩​≤(1−δS​−θS,2S​)S​θS,S​​∥c∥2​.

The right-hand side of (c) is parsed as (θS,S/((1−δS−θS,2S)⋅S))⋅∥c∥2\Big(\theta_{S,S} \big/ \big((1-\delta_S-\theta_{S,2S})\cdot\sqrt{S}\big)\Big)\cdot \|c\|_2(θS,S​/((1−δS​−θS,2S​)⋅S​))⋅∥c∥2​, with 1−δS−θS,2S1 - \delta_S - \theta_{S,2S}1−δS​−θS,2S​ meaning (1−δS)−θS,2S(1-\delta_S)-\theta_{S,2S}(1−δS​)−θS,2S​. The numerator is the orthogonality constant with parameters (S,S)(S, S)(S,S), whereas hypothesis 4 involves the one with parameters (S,2S)(S, 2S)(S,2S). S\sqrt{S}S​ is the real square root of the natural number SSS regarded as a real number; since S≥1S \ge 1S≥1 this is the ordinary positive root and S≥1\sqrt{S} \ge 1S​≥1.

Edge cases and conventions.

  • Division. In Lean, x/0=0x/0 = 0x/0=0 for real xxx. Under hypothesis 4, 1−δS−θS,2S>01 - \delta_S - \theta_{S,2S} > 01−δS​−θS,2S​>0, and S≥1>0\sqrt{S} \ge 1 > 0S​≥1>0, so the denominator in (c) is strictly positive and the division-by-zero convention is not triggered; the fraction is the ordinary real quotient.
  • T=∅T = \varnothingT=∅ is allowed by hypothesis 5; then c=0c = 0c=0, condition (b) is vacuous, and (c) demands ∣⟨w,F⋅j⟩∣≤0|\langle w, F_{\cdot j}\rangle| \le 0∣⟨w,F⋅j​⟩∣≤0 for every jjj. More generally c=0c = 0c=0 is allowed with any TTT, and ccc need not be nonzero on all of TTT.
  • p=0p = 0p=0 is allowed by the binders. Then Rp\mathbb{R}^pRp is the zero space and Fc=0Fc = 0Fc=0 for every ccc; since m≥3m \ge 3m≥3 and S≥1S \ge 1S≥1, there is a nonzero ccc supported on a singleton, so every admissible δ\deltaδ in the definition of δS\delta_SδS​ must satisfy (1−δ)∥c∥22≤0(1-\delta)\|c\|_2^2 \le 0(1−δ)∥c∥22​≤0, i.e. δ≥1\delta \ge 1δ≥1. Hence δS≥1\delta_S \ge 1δS​≥1, and as θS,2S≥0\theta_{S,2S} \ge 0θS,2S​≥0, hypothesis 4 cannot hold: for p=0p = 0p=0 the statement is vacuously true.
  • All cardinality conditions (∣T∣≤S|T| \le S∣T∣≤S in hypothesis 5 and inside δS\delta_SδS​, θS,S′\theta_{S,S'}θS,S′​) are non-strict, and the final bound (c) is a non-strict inequality ≤\le≤.
  • No hypothesis constrains the rank of FFF, the size of TTT beyond ∣T∣≤S|T| \le S∣T∣≤S, or the relation between ppp and mmm or SSS beyond 3S≤m3S \le m3S≤m.
Human review
  • Endorsed by Shuze Chen · Oct 1, 2026

    Confirmed by the moderator at approval.

  • Endorsed by naimengye · Oct 1, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

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, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me