Lemma 4.7 — price-difference inequalities characterizing the allocated set
ProvedAlgMechDesign.LowerBound.lemma_4_7Let be a truthful direct mechanism for task scheduling, a positive type vector, an agent and . For disjoint task sets let and . For every set that is attainable for against :
- if then ;
- if then ;
- otherwise, with ,
Moreover, if an attainable set satisfies these inequalities strictly (with in place of ) for every attainable , then .
The lemma is used to show that a perturbation of agent 1's type which makes its current bundle strictly better leaves the allocation unchanged (Claim 4.8).
Formalization Note As for Proposition 4.5, ranges over sets attainable for against (Definition 12 gives unattainable sets price , and the printed "for each set " fails for them). The "Moreover" part also requires attainable, as in its only use (). Since , the paper's , are proper inclusions; "otherwise" means neither nor . The set is a binder with the hypothesis .
import Mathlib import Definitions.Def_AlgMechDesign_LowerBound_Model import Definitions.Def_AlgMechDesign_LowerBound_Price
namespace AlgMechDesign.LowerBound
/-- Lemma 4.7, over attainable sets: let `X = xⁱ(t)`. For every attainable `D ≠ X`,
(1) if `D ⊂ X` then `Δⁱ(D, X - D) ≥ tⁱ(X - D)`; (2) if `D ⊃ X` then `Δⁱ(X, D - X) ≤ tⁱ(D - X)`;
(3) otherwise, with `L = D ∩ X`, `Δⁱ(L, X - L) - tⁱ(X - L) ≥ Δⁱ(L, D - L) - tⁱ(D - L)`.
Moreover, an attainable `Y` satisfying these inequalities strictly for every attainable `D ≠ Y`
equals `X`. -/
theorem lemma_4_7 {n k : ℕ} (alloc : (Fin n → Fin k → ℝ) → (Fin k → Fin n))
(pay : (Fin n → Fin k → ℝ) → Fin n → ℝ) (htruth : IsTruthful alloc pay)
(t : Fin n → Fin k → ℝ) (ht : IsType t) (i : Fin n)
(X : Finset (Fin k)) (hX : X = taskSet (alloc t) i) :
(∀ D : Finset (Fin k), IsAttainable alloc i t D → D ≠ X →
(D ⊂ X → taskTime (t i) (X \ D) ≤ priceDiff alloc pay i t D (X \ D)) ∧
(X ⊂ D → priceDiff alloc pay i t X (D \ X) ≤ taskTime (t i) (D \ X)) ∧
(¬ D ⊆ X → ¬ X ⊆ D →
priceDiff alloc pay i t (D ∩ X) (D \ (D ∩ X)) - taskTime (t i) (D \ (D ∩ X)) ≤
priceDiff alloc pay i t (D ∩ X) (X \ (D ∩ X)) - taskTime (t i) (X \ (D ∩ X)))) ∧
(∀ Y : Finset (Fin k), IsAttainable alloc i t Y →
(∀ D : Finset (Fin k), IsAttainable alloc i t D → D ≠ Y →
(D ⊂ Y → taskTime (t i) (Y \ D) < priceDiff alloc pay i t D (Y \ D)) ∧
(Y ⊂ D → priceDiff alloc pay i t Y (D \ Y) < taskTime (t i) (D \ Y)) ∧
(¬ D ⊆ Y → ¬ Y ⊆ D →
priceDiff alloc pay i t (D ∩ Y) (D \ (D ∩ Y)) - taskTime (t i) (D \ (D ∩ Y)) <
priceDiff alloc pay i t (D ∩ Y) (Y \ (D ∩ Y)) - taskTime (t i) (Y \ (D ∩ Y)))) →
Y = X) := by sorry
end AlgMechDesign.LowerBound
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.