Claim G.1 — is unimodal with maximum at and symmetric under
ProvedSponsoredAssort.claim_G_1assortment-optimizationcompetitive-ratiomechanism-designmnl-choice-modelp2o-gran-per-chapterp2o-plan-paperp2o-strengthenedp2o-v1
Fix a seller with and the others' attractiveness , and write . Let be assortments with , and , and define by
Then is unimodal with its maximum at :
- is strictly increasing on ;
- is strictly decreasing on ;
- for every .
The claim compares two assortments containing seller as seller 's attractiveness varies, and drives Corollary 5.1.
Differences from the source:
- encoding: unimodal (increasing and then decreasing) with a maximum at → strictly increasing on and strictly decreasing on ; reason: this is the meaning of unimodality with maximum at
- encoding: for all → for all ; reason: is undefined at
- generalization: standing revenues → only ; reason: the claim involves only ; it specializes to the standing setting
Preamble
import Mathlib import Definitions.Def_SponsoredAssort_choiceProb import Definitions.Def_SponsoredAssort_others open scoped NNReal
Formal statement
namespace SponsoredAssort
/-- **Claim G.1** (Balseiro, Désir, SSRN 3821382 (Feb. 21, 2022), Appendix G.1, OA p.36). Fix a
seller `i` with `rᵢ > 0` and `v₋ᵢ`, and write `a(S) = 1 + ∑_{j ∈ S \ {i}} vⱼ`. For assortments
`S₁, S₂` with `i ∈ S₁`, `i ∈ S₂` and `a(S₁) < a(S₂)`, the function
`δ(y) = rᵢ · πᵢ(S₁, (y, v₋ᵢ)) − rᵢ · πᵢ(S₂, (y, v₋ᵢ))` on `ℝ₊` is unimodal with maximum at
`√(a(S₁)a(S₂))`: strictly increasing on `[0, √(a(S₁)a(S₂))]` and strictly decreasing on
`[√(a(S₁)a(S₂)), ∞)`. Moreover `δ(y) = δ(a(S₁)a(S₂)/y)`.
**Formalization Note.** "Unimodal (increasing and then decreasing) with a maximum at `√(a₁a₂)`" is
stated as strict monotonicity on each side of `√(a₁a₂)`. The symmetry is stated for `y > 0`,
where `a₁a₂/y` is defined; `a₁a₂/y ≥ 0`, so `Real.toNNReal` is exact. `rᵢ > 0` is the paper's
standing assumption (p.9). -/
theorem claim_G_1 {n : ℕ} (r : Fin n → ℝ) (v : Attr n) (i : Fin n) (hr : 0 < r i)
(S₁ S₂ : Finset (Fin n)) (h₁ : i ∈ S₁) (h₂ : i ∈ S₂) (ha : others v i S₁ < others v i S₂) :
let δ : ℝ≥0 → ℝ := fun y =>
r i * choiceProb S₁ (Function.update v i y) i - r i * choiceProb S₂ (Function.update v i y) i
(∀ y z : ℝ≥0, y < z → (z : ℝ) ≤ Real.sqrt (others v i S₁ * others v i S₂) → δ y < δ z) ∧
(∀ y z : ℝ≥0, Real.sqrt (others v i S₁ * others v i S₂) ≤ (y : ℝ) → y < z → δ z < δ y) ∧
(∀ y : ℝ≥0, 0 < y →
δ y = δ (Real.toNNReal (others v i S₁ * others v i S₂ / (y : ℝ)))) := by sorry
end SponsoredAssort
Source
Balseiro, Désir, Incentive-Compatible Assortment Optimization for Sponsored Products, SSRN 3821382 (Feb. 21, 2022), Appendix G.1, Claim G.1, OA p.36
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.