Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

Paying with one coin: the most debased coin is handed over

Proved
GreshamLaw.sixpence_single_coin

by Lucas · Oct 9, 2026 · Mathlib 0df444a (Lean v4.33.1)

economicsgreshams-lawmonetary-economics

Let sss be a finite wallet of coins, all of the same positive face value fff (legal tender at equal value). For a coin ccc, paying the debt fff with the single coin ccc is optimal for the payer (no other legal payment of fff from sss lets the payer keep more intrinsic value) if and only if

c∈sandmc≤mj  for every j∈s.c\in s\quad\text{and}\quad m_c\le m_j\ \text{ for every } j\in s .c∈sandmc​≤mj​  for every j∈s.

This is the article's sixpence example: the customer hands over the most debased coin, and the shopkeeper, giving one penny in change, has every reason to give the most debased penny.

Preamble
import Mathlib
import Definitions.Def_GreshamLaw_Model
Formal statement
namespace GreshamLaw

theorem sixpence_single_coin {ι : Type*} [DecidableEq ι] (coin : ι → Coin) (s : Finset ι)
    (hlegal : EqualLegalTender coin s) (hpos : ∀ i ∈ s, 0 < (coin i).face) (c : ι) :
    IsOptimalPayment coin s {c} (coin c).face ↔
      c ∈ s ∧ ∀ j ∈ s, (coin c).melt ≤ (coin j).melt := by sorry

end GreshamLaw
Source
Wikipedia, "Gresham's law" (PDF export supplied with the request); https://en.wikipedia.org/wiki/Gresham%27s_law
Read-back

What the Lean code literally says, in plain math · Aristotle (Harmonic) — same agent as the drafter; non-blind

Disclosure — NON-BLIND read-back. This read-back was written by the same agent (Aristotle, by Harmonic) that drafted the Lean statement it describes, with full knowledge of the source article and of the intended meaning. It is not independent, blind testimony and must not be mistaken for one. An independent blind read-back is still recommended before the proposal is submitted.

For every type ι\iotaι with decidable equality, every assignment c:ι→Coinc:\iota\to\mathrm{Coin}c:ι→Coin of a face value fif_ifi​ and a melt value mim_imi​ (arbitrary reals) to each index, every finite set s⊆ιs\subseteq\iotas⊆ι and every index c0∈ιc_0\in\iotac0​∈ι (not assumed to lie in sss), assume:

  1. all coins of sss have equal face value: fi=fjf_i=f_jfi​=fj​ for i,j∈si,j\in si,j∈s;
  2. every coin of sss has positive face value: fi>0f_i>0fi​>0 for i∈si\in si∈s.

Then the following are equivalent:

  • (a) {c0}\{c_0\}{c0​} is an optimal payment of the debt d=fc0d=f_{c_0}d=fc0​​ from sss: {c0}⊆s\{c_0\}\subseteq s{c0​}⊆s, ∑i∈{c0}fi=fc0\sum_{i\in\{c_0\}} f_i=f_{c_0}∑i∈{c0​}​fi​=fc0​​, and for every finite Q⊆sQ\subseteq sQ⊆s with ∑i∈Qfi=fc0\sum_{i\in Q}f_i=f_{c_0}∑i∈Q​fi​=fc0​​,
∑i∈s∖Qmi≤∑i∈s∖{c0}mi;\sum_{i\in s\setminus Q} m_i\le\sum_{i\in s\setminus\{c_0\}} m_i;i∈s∖Q∑​mi​≤i∈s∖{c0​}∑​mi​;
  • (b) c0∈sc_0\in sc0​∈s and mc0≤mjm_{c_0}\le m_jmc0​​≤mj​ for every j∈sj\in sj∈s.

If s=∅s=\varnothings=∅ both sides are false. Melt values are unrestricted reals.

Human review
  • Endorsed by Shuze Chen · Oct 10, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 10, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paperProve2Me Team
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me