# Monotonicity (mechanism design)

In mechanism design, monotonicity is a property of a social choice function. It is a necessary condition for being able to implement such a function using a strategyproof mechanism. Its verbal description is:
   If changing one agent's type (while keeping the types of other agents fixed) changes the outcome under the social choice function, then the resulting difference in utilities of the new and original outcomes evaluated at the new type of this agent must be at least as much as this difference in utilities evaluated at the original type of this agent.
In other words:$^{:227}$
   If the social choice changes when a single player changes his valuation, then it must be because the player increased his value of the new choice relative to his value of the old choice.

## Notation

There is a set $X$ of possible outcomes.
There are $n$ agents which have different valuations for each outcome. The valuation of agent $i$ is represented as a function:$v_{i}:X\longrightarrow R_{+}$which expresses the value it assigns to each alternative.
The vector of all value-functions is denoted by $v$.
For every agent $i$, the vector of all value-functions of the other agents is denoted by $v_{-i}$. So $v\equiv (v_{i},v_{-i})$.
A social choice function is a function that takes as input the value-vector $v$ and returns an outcome $x\in X$. It is denoted by ${\text{Outcome}}(v)$ or ${\text{Outcome}}(v_{i},v_{-i})$.

## In mechanisms without money

A social choice function satisfies the strong monotonicity property (SMON) if for every agent $i$ and every $v_{i},v_{i}',v_{-i}$, if:$x={\text{Outcome}}(v_{i},v_{-i})$$x'={\text{Outcome}}(v'_{i},v_{-i})$then:$x\succeq _{i}x'$ (by the initial preferences, the agent prefers the initial outcome).$x\preceq _{i'}x'$ (by the final preferences, the agent prefers the final outcome). Or equivalently:$v_{i}(x)-v_{i}(x')\geq 0$$v_{i}'(x)-v_{i}'(x')\leq 0$

### Necessity

If there exists a strategyproof mechanism without money, with an outcome function $Outcome$, then this function must be SMON.
PROOF: Fix some agent $i$ and some valuation vector $v_{-i}$. Strategyproofness means that an agent with real valuation $v_{i}$ weakly prefers to declare $v_{i}$ than to lie and declare $v_{i}'$; hence: $v_{i}(x)\geq v_{i}(x')$Similarly, an agent with real valuation $v_{i}'$ weakly prefers to declare $v_{i}'$ than to lie and declare $v_{i}$; hence:$v_{i}'(x')\geq v_{i}'(x)$

## In mechanisms with money

When the mechanism is allowed to use money, the SMON property is no longer necessary for implementability, since the mechanism can switch to an alternative which is less preferable for an agent and compensate that agent with money.
A social choice function satisfies the weak monotonicity property (WMON) if for every agent $i$ and every $v_{i},v_{i}',v_{-i}$, if:$x={\text{Outcome}}(v_{i},v_{-i})$$x'={\text{Outcome}}(v'_{i},v_{-i})$then:$v_{i}(x)-v_{i}(x')\geq v_{i}'(x)-v_{i}'(x')$

### Necessity

If there exists a strategyproof mechanism with an outcome function ${\text{Outcome}}$, then this function must be WMON.
PROOF:$^{:227}$ Fix some agent $i$ and some valuation vector $v_{-i}$. A strategyproof mechanism has a price function $Price_{i}(x,v_{-i})$, that determines how much payment agent $i$ receives when the outcome of the mechanism is $x$; this price depends on the outcome but must not depend directly on $v_{i}$. Strategyproofness means that a player with valuation $v_{i}$ weakly prefers to declare $v_{i}$ over declaring $v_{i}'$; hence:$v_{i}(x)+{\text{Price}}_{i}(x,v_{-i})\geq v_{i}(x')+{\text{Price}}_{i}(x',v_{-i})$Similarly, a player with valuation $v_{i}'$ weakly prefers to declare $v_{i}'$ over declaring $v_{i}$; hence:$v_{i}'(x)+{\text{Price}}_{i}(x,v_{-i})\leq v_{i}'(x')+{\text{Price}}_{i}(x',v_{-i})$Subtracting the second inequality from the first gives the WMON property.

### Sufficiency

Monotonicity is not always a sufficient condition for implementability, but there are some important cases in it is sufficient (i.e, every WMON social-choice function can be implemented):
* When the agents have single-parameter utility functions.
* In many convex domains, most notably when the range of each value-function is $\mathbb {R} ^{+}$.
* When the range of each value-function is $\mathbb {R}$, or a cube (Gui, Müller, and Vohra (2004)).
* In any convex domain (Saks and Yu (2005)).
* In any domain with a convex closure.
* In any "monotonicity domain".

## Examples

* When agents have single peaked preferences, the median social-choice function (selecting the median among the outcomes that are best for the agents) is strongly monotonic. Indeed, the mechanism selecting the median vote is a truthful mechanism without money. See median voting rule.
* When agents have general preferences represented by cardinal utility functions, the utilitarian social-choice function (selecting the outcome that maximizes the sum of the agents' valuations) is not strongly-monotonic but it is weakly monotonic. Indeed, it can be implemented by the VCG mechanism, which is a truthful mechanism with money.
* In job-scheduling, the makespan-minimization social-choice function is not strongly-monotonic nor weakly-monotonic. Indeed, it cannot be implemented by a truthful mechanism; see truthful job scheduling.