Step (ii): the layers form k allocations and partition each bundle
ProvedComplementFreeCA.CFRounding.layers_partitionapproximation-algorithmscombinatorial-auctionsp2o-batch-p200bp2o-gran-per-chapterp2o-plan-paperp2o-v1
Let be a preallocation in which every item appears in at most of the bundles, and let be the layers ( consists of the items of that appear in exactly of ). Then:
- for every the bundles are pairwise disjoint, so they form a valid allocation;
- for every bidder ,
- for every bidder and indices with , the layers and are disjoint.
Thus each is the disjoint union of its layers, and each layer index yields a feasible allocation. This is step (ii) of the proof of Theorem 3.1.
Formalization Note Parts 1 and 3 hold for any preallocation; the count bound is what makes layers enough to cover in part 2.
Preamble
import Mathlib import Definitions.Def_ComplementFreeCA_CFRounding_Auction import Definitions.Def_ComplementFreeCA_CFRounding_Algorithm
Formal statement
namespace ComplementFreeCA.CFRounding
theorem layers_partition {n m : ℕ} (σ : Fin n → Finset (Fin m)) (k : ℕ)
(hcount : ∀ j, count σ j ≤ k) :
(∀ r : ℕ, 1 ≤ r → r ≤ k → IsAllocation (fun i => layer σ i r)) ∧
(∀ i : Fin n, σ i = (Finset.Icc 1 k).biUnion (fun r => layer σ i r)) ∧
(∀ (i : Fin n) (r r' : ℕ), 1 ≤ r → 1 ≤ r' → r ≠ r' →
Disjoint (layer σ i r) (layer σ i r')) := 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. 6, §3.1, proof of Theorem 3.1, step (ii); construction of p. 5, algorithm step (ii)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.