Axioms.lean
The proof rests on modeling assumptions (encoded in the definitions), typeclass constraints (encoded in signatures), and one explicit axiom (this file). This page maps all three so you can see exactly what's load-bearing.
Modeling assumptions (definitional choices in Auction.lean)
These are assumptions of the model, but they're encoded as definitions rather than axioms — reject any and you'd need different definitions, not a different axiom file:
- Quasilinear utility —
utilityis defined as value minus payment - Positive bids and sigmas — carried as fields on Report and Valuation
Independent private values —
withReportchanges reports, not valuationsFree disposal — empty player set means zero welfare
- Gaussian valuation decay —
trueValis an exponential in squared distance
Typeclass constraints (structural requirements)
- Finite nonempty advertisers —
[Fintype ฮน] [Nonempty ฮน] - Inner product space —
[NormedAddCommGroup E] [InnerProductSpace โ E]
QueryMeasure
The sole axiom: there exists a monotone functional from (E → โ) to โ. If f(x) ≥ g(x) everywhere, then integrate f ≥ integrate g.
Note what this does not assume: normalization, linearity, additivity, or even nontriviality. It is weaker than a probability measure — any
monotone functional satisfies it. An economist might interpret it as an expected-value operator, but the proof only uses monotonicity.
structure QueryMeasure (E : Type*) where
integrate : (E โ โ) โ โ
integral_mono : โ (f g : E โ โ),
(โ x, f x โฅ g x) โ integrate f โฅ integrate g Monotonicity holds for any finite positive measure and any standard notion of integration. It replaces Mathlib's full measure theory stack with the one property the proof actually uses.
What's a hypothesis on theorems (not axiomatized)
- isTruthful — player i reports honestly. Precondition on the DSIC theorem: only player i needs to be truthful.
- allTruthful — all players report honestly. Used for efficiency theorems and the Nash equilibrium corollary.
Connections
- IntegralEfficiency.lean — uses
integral_monoto lift pointwise welfare to integrated welfare - GaussianOptimality.lean — composes everything through QueryMeasure