Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 3.1 — the LP-rounding-and-splitting algorithm is a 3k-approximation, k = ⌊3 log m / log log m⌋, for complement-free bidders

Proved
ComplementFreeCA.CFRounding.cf_rounding_approximation

by mikedeng1 · Sep 28, 2026 · Mathlib 0df444a (Lean v4.33.1)

approximation-algorithmscombinatorial-auctionsp2o-batch-p200bp2o-gran-per-chapterp2o-plan-paperp2o-v1randomized-roundingsubadditive-valuations

There is m0m_0m0​ such that the following holds for every number of items m≥m0m\ge m_0m≥m0​ and every number of bidders nnn. Let v1,…,vnv_1,\dots,v_nv1​,…,vn​ be normalized, monotone, complement-free valuations, let xxx be an optimal solution of the LP relaxation with value OPT∗OPT^*OPT∗, and let k=⌊3log⁡m/log⁡log⁡m⌋k=\lfloor 3\log m/\log\log m\rfloork=⌊3logm/loglogm⌋. Write OPTOPTOPT for the welfare of any allocation (O1,…,On)(O_1,\dots,O_n)(O1​,…,On​).

  1. Step (i) succeeds. If OPT∗>3max⁡ivi(M)OPT^*>3\max_i v_i(M)OPT∗>3maxi​vi​(M), then with probability greater than 1/61/61/6 the randomized-rounding preallocation (S1,…,Sn)(S_1,\dots,S_n)(S1​,…,Sn​) satisfies both: every item appears in at most kkk of the SiS_iSi​, and ∑ivi(Si)≥OPT∗/3\sum_i v_i(S_i)\ge OPT^*/3∑i​vi​(Si​)≥OPT∗/3.
  2. The guarantee. For every preallocation (S1,…,Sn)(S_1,\dots,S_n)(S1​,…,Sn​) with these two properties, every best layer rrr of step (iii), and every admissible bidder of step (iv), the algorithm's output is an allocation, and its welfare WWW satisfies
W ≥ ∑ivi(Oi)3kfor every allocation (O1,…,On).W\ \ge\ \frac{\sum_i v_i(O_i)}{3k}\qquad\text{for every allocation } (O_1,\dots,O_n).W ≥ 3k∑i​vi​(Oi​)​for every allocation (O1​,…,On​).
  1. The small case. If OPT∗≤3max⁡ivi(M)OPT^*\le 3\max_i v_i(M)OPT∗≤3maxi​vi​(M), then giving all of MMM to a bidder i0i_0i0​ maximizing vi(M)v_i(M)vi​(M) has welfare vi0(M)≥∑ivi(Oi)/3v_{i_0}(M)\ge\sum_i v_i(O_i)/3vi0​​(M)≥∑i​vi​(Oi​)/3 for every allocation (Oi)(O_i)(Oi​).

This is Theorem 3.1 of the paper: for complement-free bidders the algorithm produces an allocation that is an O(log⁡m/log⁡log⁡m)O(\log m/\log\log m)O(logm/loglogm)-approximation to the optimal one.

Formalization Note The paper writes O(k)=O(log⁡m/log⁡log⁡m)O(k)=O(\log m/\log\log m)O(k)=O(logm/loglogm); its proof yields the explicit ratio 3k3k3k with k=⌊3log⁡m/log⁡log⁡m⌋k=\lfloor3\log m/\log\log m\rfloork=⌊3logm/loglogm⌋ (natural logarithm), for m≥m0m\ge m_0m≥m0​, and m0m_0m0​ is existential because Lemma 3.1 holds for sufficiently large mmm. The paper's w.l.o.g. scaling max⁡ivi(M)=1\max_i v_i(M)=1maxi​vi​(M)=1 with the case split OPT∗≤3OPT^*\le3OPT∗≤3 / OPT∗>3OPT^*>3OPT∗>3 is replaced by the scale-free split OPT∗≤3max⁡ivi(M)OPT^*\le 3\max_i v_i(M)OPT∗≤3maxi​vi​(M) / OPT∗>3max⁡ivi(M)OPT^*>3\max_i v_i(M)OPT∗>3maxi​vi​(M), written as 3vi(M)<OPT∗3v_i(M)<OPT^*3vi​(M)<OPT∗ for all iii. Step (i) is a randomized search; part 1 is the success probability of one rounding, and the probability is the finite-sum rounding law of the LP definition file. The choices of rrr in step (iii) and of the bidder in step (iv) are left open by the paper and are universally quantified. Running time is not modeled.

Preamble
import Mathlib
import Definitions.Def_ComplementFreeCA_CFRounding_Auction
import Definitions.Def_ComplementFreeCA_CFRounding_LP
import Definitions.Def_ComplementFreeCA_CFRounding_Algorithm
Formal statement
namespace ComplementFreeCA.CFRounding

theorem cf_rounding_approximation :
    ∃ m₀ : ℕ, ∀ m : ℕ, m₀ ≤ m → ∀ (n : ℕ) (v : Fin n → Finset (Fin m) → ℝ),
      (∀ i, IsNormalized (v i)) → (∀ i, IsMonotone (v i)) → (∀ i, IsSubadditive (v i)) →
      ∀ x : Fin n → Finset (Fin m) → ℝ, IsOptimalLP v x →
        -- (a) step (i) succeeds with probability greater than 1/6
        ((∀ i, 3 * v i Finset.univ < lpValue v x) →
          1 / 6 < roundProb x
            (fun σ => (∀ j, count σ j ≤ kOf m) ∧ lpValue v x / 3 ≤ welfare v σ)) ∧
        -- (b) from any such preallocation, every admissible run of steps (ii)–(iv) outputs
        --     an allocation whose welfare is at least OPT / (3k)
        (∀ σ : Fin n → Finset (Fin m), (∀ j, count σ j ≤ kOf m) →
          lpValue v x / 3 ≤ welfare v σ →
          ∀ r : ℕ, IsBestLayer v σ (kOf m) r →
          ∀ i₀ : Fin n, IsStepFourChoice v (fun i => layer σ i r) i₀ →
            IsAllocation (algOutput v σ r i₀) ∧
            ∀ O : Fin n → Finset (Fin m), IsAllocation O →
              welfare v O / (3 * kOf m) ≤ welfare v (algOutput v σ r i₀)) ∧
        -- (c) the small case: giving all items to a bidder maximizing vᵢ(M) is a
        --     3-approximation
        (∀ i₀ : Fin n, (∀ i, v i Finset.univ ≤ v i₀ Finset.univ) →
          lpValue v x ≤ 3 * v i₀ Finset.univ →
          ∀ O : Fin n → Finset (Fin m), IsAllocation O → welfare v O / 3 ≤ v i₀ Finset.univ) := by sorry

end ComplementFreeCA.CFRounding
Source
Dobzinski, Nisan, Schapira, Approximation Algorithms for Combinatorial Auctions with Complement-Free Bidders, Math. Oper. Res. 35(1), 2010, p. 5, Theorem 3.1 (algorithm steps (i)–(iv), p. 5; proof and §3.1.1, p. 6)
Human review
  • Endorsed by Shuze Chen · Oct 1, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · 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