← back to vector space proof

Axioms.lean

ghView source on GitHub

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:

Typeclass constraints (structural requirements)

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 wpprobability measure — any wpmonotone 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.

Scheme

What's a hypothesis on theorems (not axiomatized)

Connections