✓
definition
formalized
Ordered-Bid Utilities
For a finite, nontrivial set of bidders I and a linearly ordered scalar
bid type V, the auction layer provides three computational utilities
operating on bid profiles b : I → V: highest bid, the bidder achieving
it, and the highest bid excluding any chosen bidder.
These are purely mathematical tools — they do not commit any concrete auction to using them as the winner-selection rule. Each instantiated auction explicitly states which of these utilities, if any, drive its allocation rule.
Highest bid
Auction.maxBid b : Vis the supremum ofbover the finite bidder set, implemented asFinset.sup' Finset.univ univ_nonempty b.Auction.exists_maxBidwitnesses that some bidder attains the maximum: $\exists i.\; b_i = \mathrm{maxBid}(b)$.
Argmax bidder
Auction.argmaxBid b : Iis a deterministic choice of a bidder achieving the maximum, built viaClassical.choosefromexists_maxBid. It isnoncomputableand serves only as a tie-break rule.Auction.argmaxBid_eq_maxBidrecords that $b(\mathrm{argmaxBid}\,b) = \mathrm{maxBid}(b)$.Auction.bid_le_maxBid jrecords the universal upper bound $b_j \le b(\mathrm{argmaxBid}\,b)$.Auction.eq_argmaxBid_of_strict_maxsays that if some bidder $i$ strictly outbids everyone else, thenargmaxBid b = i— uniqueness of the argmax up to ties.
Highest bid excluding a bidder
Under additionally [DecidableEq I]:
Auction.maxBidExcluding b i : Vis the supremum ofbover the bidder set withiremoved:(Finset.univ.erase i).sup' ⋯ b.Auction.maxBidExcluding_le_maxBid— removing a bidder cannot increase the maximum.Auction.maxBidExcluding_eq_maxBid_of_not_argmax— ifiis not the argmax bidder, thenmaxBidExcluding b i = maxBid b. Removing a non-maximal bidder does not change the maximum.Auction.maxBidExcluding_le_argmaxBid_bid— applied toi = argmaxBid b, this is the standard "second highest ≤ highest" inequality used in Vickrey analyses.Auction.maxBidExcluding_update_self— overwriting bidderi's own bid leavesmaxBidExcluding b iunchanged. This is the key identity behind Vickrey weak dominance: an agent's payment depends on everyone but themselves.
How concrete auctions use these utilities
- The second-price (Vickrey) auction
([[mechanism_design.auction.basic.second_price_mechanism]]) sets the winner to
argmaxBid band the price tomaxBidExcluding b (argmaxBid b). - The first-price auction ([[mechanism_design.auction.basic.first_price_mechanism]]) also
uses
argmaxBid bfor the winner, but charges the winner's own bid. - Both use
maxBidExcluding_update_self(Vickrey) oreq_argmaxBid_of_strict_max(first-price counterexample) in incentive-property proofs.
References
- [MFoGT, Chapter 1, Section 1.2.4 and Exercise 4] Maschler, Solan, and Zamir, Game Theory. Highest-bid and second-highest-bid comparisons in the Vickrey auction example.
- [AGT, Chapter 1, Section 1.3.2] Nisan, Roughgarden, Tardos, and Vazirani, Algorithmic Game Theory. Second-price auction payoffs and ordered bid comparisons.
- [Krishna, Chapter 2] Vijay Krishna, Auction Theory, 2nd ed.. Standard ordering of sealed bids and highest-/second-highest-bid statistics.
Provenance
- Migrated from EconCSLib pull request 27, old blueprint label
def:auction_basic_ordered_bidsinblueprint/src/content.tex.