BidVector
plain-language theorem explainer
BidVector supplies the type of bid vectors for n agents as maps from Fin n to the reals. Mechanism designers working on VCG auctions in the Recognition Science game-theory track cite it to model strategy spaces before defining allocation and payments. The declaration is a direct type abbreviation with no proof obligations.
Claim. A bid vector for $n$ agents is a function $b : {0,1,…,n-1} → ℝ$ that assigns a real-valued bid to each agent.
background
The module replaces earlier stubs with a concrete single-item VCG auction for $n ≥ 2$ agents. Each agent $i$ holds a private valuation $v_i ≥ 0$ and submits a bid $b_i ∈ ℝ$; the highest bidder wins and pays the second-highest bid while losers pay zero. This setup encodes the Clarke pivot rule so that the winner’s payment equals the externality imposed on the displaced agent.
proof idea
Direct abbreviation; the body is the type expression Fin n → ℝ with no lemmas or tactics applied.
why it matters
BidVector provides the strategy space for the sibling definitions of winner, payment, and utility that enable the DSIC proofs for two agents. It supports the σ-conservation track by letting the module state truthful reporting as a dominant strategy over the full bid space. The construction sits inside the larger Recognition framework that derives mechanism properties from the same forcing chain used for physical constants.
Switch to Lean above to see the machine-checked source, dependencies, and usage graph.