Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 1.4: ℓ1\ell^1ℓ1 minimization recovers every SSS-sparse vector when δS+θS,S+θS,2S<1\delta_S + \theta_{S,S} + \theta_{S,2S} < 1δS​+θS,S​+θS,2S​<1

Proved
CandesTao.Decoding.l1_recovers_sparse_vector

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​, and suppose that S≥1S \ge 1S≥1 is such that

δS+θS,S+θS,2S<1.(1.10)\delta_S + \theta_{S,S} + \theta_{S,2S} < 1 . \tag{1.10}δS​+θS,S​+θS,2S​<1.(1.10)

Let ccc be a real vector supported on a set T⊆{1,…,m}T \subseteq \{1, \dots, m\}T⊆{1,…,m} obeying ∣T∣≤S|T| \le S∣T∣≤S, and put f:=Fcf := Fcf:=Fc. Then ccc is the unique minimizer of

(P1)min⁡d∈Rm∥d∥ℓ1subject toFd=f.(P_1) \qquad \min_{d \in \mathbb{R}^m} \|d\|_{\ell^1} \quad \text{subject to} \quad Fd = f .(P1​)d∈Rmmin​∥d∥ℓ1​subject toFd=f.

This is the paper's main result: under a deterministic "restricted orthonormality" hypothesis on FFF, far weaker than orthonormality of its columns and compatible with mmm much larger than ppp, the convex program (P1)(P_1)(P1​), which can be recast as a linear program, recovers every sufficiently sparse vector exactly and with no probability of failure. By Lemma 1.2, condition (1.10) implies δ2S<1\delta_{2S} < 1δ2S​<1 (the hypothesis of Lemma 1.3) and is implied by δS+δ2S+δ3S<1\delta_S + \delta_{2S} + \delta_{3S} < 1δS​+δ2S​+δ3S​<1.

Formalization Note "Unique minimizer" means that ccc is feasible and every other feasible ddd has strictly larger ℓ1\ell^1ℓ1 norm. 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
import Definitions.Def_CandesTao_Decoding_L1Minimization
Formal statement
namespace CandesTao.Decoding
theorem l1_recovers_sparse_vector {p m : ℕ} (F : Matrix (Fin p) (Fin m) ℝ) (S : ℕ)
    (hS : 1 ≤ S) (hSm : 3 * S ≤ m)
    (h : restrictedIsometryConst F S + restrictedOrthogonalityConst F S S +
      restrictedOrthogonalityConst F S (2 * S) < 1)
    (T : Finset (Fin m)) (c : Fin m → ℝ) (hT : T.card ≤ S) (hc : SupportedOn c T) :
    IsUniqueL1Minimizer F (F.mulVec c) 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. 6, Theorem 1.4, condition (1.10); proof in Section 2.2, p. 11
Read-back

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

Read-back of l1_recovers_sparse_vector

Setting and notation. Throughout, ppp and mmm are natural numbers (a priori either may be 000; see the edge cases below), [m]={0,1,…,m−1}[m]=\{0,1,\dots,m-1\}[m]={0,1,…,m−1} and [p]={0,…,p−1}[p]=\{0,\dots,p-1\}[p]={0,…,p−1} are the index sets, and F=(Fij)i∈[p], j∈[m]F=(F_{ij})_{i\in[p],\,j\in[m]}F=(Fij​)i∈[p],j∈[m]​ is a real p×mp\times mp×m matrix. For c∈Rmc\in\mathbb{R}^mc∈Rm, Fc∈RpFc\in\mathbb{R}^pFc∈Rp is the ordinary matrix–vector product (Fc)i=∑j∈[m]Fijcj(Fc)_i=\sum_{j\in[m]}F_{ij}c_j(Fc)i​=∑j∈[m]​Fij​cj​, and for x,y∈Rpx,y\in\mathbb{R}^px,y∈Rp, ⟨x,y⟩=∑i∈[p]xiyi\langle x,y\rangle=\sum_{i\in[p]}x_iy_i⟨x,y⟩=∑i∈[p]​xi​yi​ is the ordinary dot product. Sets of indices T⊆[m]T\subseteq[m]T⊆[m] are always finite, and ∣T∣|T|∣T∣ is their cardinality. The following notions are the bundle's own definitions, unfolded here.

  • Support. For c∈Rmc\in\mathbb{R}^mc∈Rm and T⊆[m]T\subseteq[m]T⊆[m], "ccc is supported on TTT" means: for every j∈[m]j\in[m]j∈[m] with j∉Tj\notin Tj∈/T, cj=0c_j=0cj​=0. So supp⁡(c)⊆T\operatorname{supp}(c)\subseteq Tsupp(c)⊆T; ccc may vanish on part or all of TTT, and T=∅T=\varnothingT=∅ forces c=0c=0c=0. A vector supported on some TTT with ∣T∣≤S|T|\le S∣T∣≤S is therefore a vector with at most SSS nonzero entries.

  • ℓ1\ell^1ℓ1 norm. ∥c∥1=∑j∈[m]∣cj∣\|c\|_1=\sum_{j\in[m]}|c_j|∥c∥1​=∑j∈[m]​∣cj​∣.

  • ℓ2\ell^2ℓ2 norm. ∥x∥2=∑ixi2\|x\|_2=\sqrt{\sum_i x_i^2}∥x∥2​=∑i​xi2​​, using Mathlib's real square root (which returns 000 on negative inputs; here the argument is a sum of squares, so this is the usual Euclidean norm). Hence ∥x∥22=∑ixi2\|x\|_2^2=\sum_i x_i^2∥x∥22​=∑i​xi2​. When p=0p=0p=0 the sum defining ∥Fc∥2\|Fc\|_2∥Fc∥2​ is empty, so ∥Fc∥2=0\|Fc\|_2=0∥Fc∥2​=0 for every ccc.

  • Restricted isometry constant δS(F)\delta_S(F)δS​(F). For a natural number SSS,

δS(F)=inf⁡{ δ∈R  :  δ≥0, and for every T⊆[m] with ∣T∣≤S and every c∈Rm supported on T,(1−δ) ∥c∥22  ≤  ∥Fc∥22and∥Fc∥22  ≤  (1+δ) ∥c∥22 }.\begin{aligned} \delta_S(F)=\inf\Bigl\{\,\delta\in\mathbb{R}\;:\;&\delta\ge 0,\ \text{and for every } T\subseteq[m] \text{ with } |T|\le S \text{ and every } c\in\mathbb{R}^m \text{ supported on } T,\\ &(1-\delta)\,\|c\|_2^2\;\le\;\|Fc\|_2^2 \quad\text{and}\quad \|Fc\|_2^2\;\le\;(1+\delta)\,\|c\|_2^2\,\Bigr\}. \end{aligned}δS​(F)=inf{δ∈R:​δ≥0, and for every T⊆[m] with ∣T∣≤S and every c∈Rm supported on T,(1−δ)∥c∥22​≤∥Fc∥22​and∥Fc∥22​≤(1+δ)∥c∥22​}.​

Here TTT ranges over all subsets of [m][m][m] of size at most SSS (including ∅\varnothing∅, for which only c=0c=0c=0 qualifies and both inequalities are trivial), and both inequalities are non-strict.

  • Restricted orthogonality constant θS,S′(F)\theta_{S,S'}(F)θS,S′​(F). For natural numbers S,S′S,S'S,S′,
θS,S′(F)=inf⁡{ θ∈R  :  θ≥0, and for all T,T′⊆[m] with T∩T′=∅, ∣T∣≤S, ∣T′∣≤S′,and all c,c′∈Rm with c supported on T and c′ supported on T′,∣⟨Fc, Fc′⟩∣  ≤  θ ∥c∥2 ∥c′∥2 }.\begin{aligned} \theta_{S,S'}(F)=\inf\Bigl\{\,\theta\in\mathbb{R}\;:\;&\theta\ge 0,\ \text{and for all } T,T'\subseteq[m] \text{ with } T\cap T'=\varnothing,\ |T|\le S,\ |T'|\le S',\\ &\text{and all } c,c'\in\mathbb{R}^m \text{ with } c \text{ supported on } T \text{ and } c' \text{ supported on } T',\\ &\bigl|\langle Fc,\,Fc'\rangle\bigr|\;\le\;\theta\,\|c\|_2\,\|c'\|_2\,\Bigr\}. \end{aligned}θS,S′​(F)=inf{θ∈R:​θ≥0, and for all T,T′⊆[m] with T∩T′=∅, ∣T∣≤S, ∣T′∣≤S′,and all c,c′∈Rm with c supported on T and c′ supported on T′,​⟨Fc,Fc′⟩​≤θ∥c∥2​∥c′∥2​}.​

The bound on the right is θ\thetaθ times the product of the two (unsquared) Euclidean norms; TTT and T′T'T′ may be empty.

  • Unique ℓ1\ell^1ℓ1 minimizer. For f∈Rpf\in\mathbb{R}^pf∈Rp and c∈Rmc\in\mathbb{R}^mc∈Rm, "ccc is the unique ℓ1\ell^1ℓ1 minimizer for (F,f)(F,f)(F,f)" means
Fc=fand∀d∈Rm: (Fd=f  and  d≠c) ⟹ ∥c∥1<∥d∥1.Fc=f \quad\text{and}\quad \forall d\in\mathbb{R}^m:\ \bigl(Fd=f\ \text{ and }\ d\neq c\bigr)\ \Longrightarrow\ \|c\|_1<\|d\|_1 .Fc=fand∀d∈Rm: (Fd=f  and  d=c) ⟹ ∥c∥1​<∥d∥1​.

The inequality is strict, so this says that ccc minimizes ∥⋅∥1\|\cdot\|_1∥⋅∥1​ over the affine set {d∈Rm:Fd=f}\{d\in\mathbb{R}^m : Fd=f\}{d∈Rm:Fd=f} and that no other point of that set attains the same value.

About the two infima. In Mathlib, the infimum inf⁡A\inf AinfA of a set A⊆RA\subseteq\mathbb{R}A⊆R is the genuine greatest lower bound when AAA is nonempty and bounded below, and is defined to be 000 when AAA is empty or not bounded below. Both defining sets above consist of nonnegative reals, so they are bounded below by 000, and both are nonempty: by Cauchy–Schwarz, ∥Fc∥22≤(∑i,jFij2)∥c∥22\|Fc\|_2^2\le\bigl(\sum_{i,j}F_{ij}^2\bigr)\|c\|_2^2∥Fc∥22​≤(∑i,j​Fij2​)∥c∥22​ for every ccc, so δ=1+∑i,jFij2\delta=1+\sum_{i,j}F_{ij}^2δ=1+∑i,j​Fij2​ lies in the first set and θ=∑i,jFij2\theta=\sum_{i,j}F_{ij}^2θ=∑i,j​Fij2​ lies in the second. Consequently δS(F)\delta_S(F)δS​(F) and θS,S′(F)\theta_{S,S'}(F)θS,S′​(F) are honest infima and both are ≥0\ge 0≥0. Each set is moreover upward closed (if δ\deltaδ qualifies, so does every δ′≥δ\delta'\ge\deltaδ′≥δ; likewise for θ\thetaθ) and cut out by non-strict inequalities, so each is a closed half-line and its infimum is attained: δS(F)\delta_S(F)δS​(F) is the least δ≥0\delta\ge 0δ≥0 for which the two-sided inequality holds for all vectors with at most SSS nonzero entries, and θS,S′(F)\theta_{S,S'}(F)θS,S′​(F) is the least θ≥0\theta\ge0θ≥0 for which the dot-product bound holds for all disjointly supported pairs of the stated sparsities.

The statement. Let p,m∈Np,m\in\mathbb{N}p,m∈N, let FFF be a real p×mp\times mp×m matrix, and let S∈NS\in\mathbb{N}S∈N. Assume:

  1. 1≤S1\le S1≤S;
  2. 3S≤m3S\le m3S≤m (ordinary multiplication and comparison of natural numbers);
δS(F)  +  θS,S(F)  +  θS,2S(F)  <  1,\delta_S(F)\;+\;\theta_{S,S}(F)\;+\;\theta_{S,2S}(F)\;<\;1,δS​(F)+θS,S​(F)+θS,2S​(F)<1,

where θS,S\theta_{S,S}θS,S​ concerns disjoint index sets of size at most SSS each, and θS,2S\theta_{S,2S}θS,2S​ concerns disjoint index sets of size at most SSS and at most 2S2S2S respectively; 4. T⊆[m]T\subseteq[m]T⊆[m] is a set of indices with ∣T∣≤S|T|\le S∣T∣≤S; 5. c∈Rmc\in\mathbb{R}^mc∈Rm is supported on TTT, i.e. cj=0c_j=0cj​=0 for every j∉Tj\notin Tj∈/T.

Then ccc is the unique ℓ1\ell^1ℓ1 minimizer for (F, Fc)(F,\,Fc)(F,Fc). Unfolded, and noting that the first conjunct Fc=FcFc=FcFc=Fc holds trivially, the conclusion is exactly

∀d∈Rm:Fd=Fc  and  d≠c⟹∑j∈[m]∣cj∣  <  ∑j∈[m]∣dj∣.\forall d\in\mathbb{R}^m:\qquad Fd=Fc\ \ \text{and}\ \ d\neq c\quad\Longrightarrow\quad \sum_{j\in[m]}|c_j|\;<\;\sum_{j\in[m]}|d_j| .∀d∈Rm:Fd=Fc  and  d=c⟹j∈[m]∑​∣cj​∣<j∈[m]∑​∣dj​∣.

Here Fd=FcFd=FcFd=Fc is exact equality of two vectors in Rp\mathbb{R}^pRp, and ddd ranges over all of Rm\mathbb{R}^mRm with no sparsity restriction.

Edge cases and what the quantifiers silently include.

  • Hypotheses 1 and 2 together force m≥3m\ge 3m≥3 (so m=0m=0m=0 is excluded), S≤m/3S\le m/3S≤m/3, and 2S≤m−S2S\le m-S2S≤m−S, so disjoint index sets of the sizes named in θS,S\theta_{S,S}θS,S​ and θS,2S\theta_{S,2S}θS,2S​ do exist inside [m][m][m]. Nothing is assumed about ppp relative to mmm or SSS.
  • Since all three constants are ≥0\ge 0≥0, hypothesis 3 implies that each of δS(F)\delta_S(F)δS​(F), θS,S(F)\theta_{S,S}(F)θS,S​(F), θS,2S(F)\theta_{S,2S}(F)θS,2S​(F) is individually <1<1<1.
  • If some nonzero vector c0c_0c0​ with at most SSS nonzero entries satisfies Fc0=0Fc_0=0Fc0​=0, then every δ\deltaδ in the defining set satisfies (1−δ)∥c0∥22≤0(1-\delta)\|c_0\|_2^2\le 0(1−δ)∥c0​∥22​≤0, hence δ≥1\delta\ge1δ≥1, so δS(F)≥1\delta_S(F)\ge 1δS​(F)≥1 and hypothesis 3 cannot hold: the theorem is vacuous for such FFF. In particular this happens when p=0p=0p=0 (FFF has no rows, Fc=0Fc=0Fc=0 for every ccc, and a nonzero 111-sparse vector exists because m≥3m\ge 3m≥3 and S≥1S\ge1S≥1), so the hypotheses implicitly force p≥1p\ge 1p≥1.
  • TTT may be empty or have fewer than SSS elements, and ccc may vanish on some or all of TTT; in particular c=0c=0c=0 is allowed, in which case the conclusion reads "every d≠0d\neq 0d=0 with Fd=0Fd=0Fd=0 has ∥d∥1>0\|d\|_1>0∥d∥1​>0", which is automatic.
  • The statement concerns one fixed, deterministic matrix FFF: there is no probability, no normalization of the columns of FFF, and no relation such as p≤mp\le mp≤m is imposed.
  • The bundle also defines the jjj-th column of FFF and the linear span of all columns of FFF; neither is referenced by this statement.
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