Exchange economy: bundle values, excess demand, Say's budget, general glut, monetary budget
DefinitionSaysLaw_ModelThis file fixes the vocabulary of a minimal exchange economy in which Say's law can be stated.
Let be a finite set of agents and a finite set of goods. A price vector is ; agent brings the bundle to market (his supply) and plans to buy the bundle (his demand).
- Bundle value. .
- Aggregate excess demand. for each good .
- Say's budget principle ("products are paid for with products"): for every agent ,
i.e. the proceeds of what is sold are spent in full on other products. 4. General glut. A vector is a general glut when for every (every good is in excess supply). 5. Monetary budget. With initial money balances and planned money balances ,
- Aggregate excess demand for money. ; it is positive when agents in aggregate hoard money.
These notions formalize the article's sections "Formulation", "Keynesian", "Role of money" and J. S. Mill's treatment of money as a commodity (section "Immediate reception").
Formalization Note Quantities are real numbers with no sign restriction, so may be read as gross supplies and demands or as net trades. No sign restriction is placed on prices in the definitions; theorems that need positive prices assume them explicitly.
import Mathlib
namespace SaysLaw
/-- Market value `∑ g, p g * x g` of a bundle of goods `x` at the price vector `p`. -/
def bundleValue {G : Type*} [Fintype G] (p x : G → ℝ) : ℝ :=
∑ g, p g * x g
/-- Aggregate excess demand for each good: the total quantity of good `g` that the agents
plan to buy, minus the total quantity of `g` that they bring to market (their supply). -/
def excessDemand {ι G : Type*} [Fintype ι] (supply demand : ι → G → ℝ) : G → ℝ :=
fun g => ∑ i, (demand i g - supply i g)
/-- Say's budget principle ("products are paid for with products"): at prices `p`, every
agent plans to buy goods of exactly the market value of the goods he supplies, so that no
proceeds of a sale remain unspent. -/
def SaysBudget {ι G : Type*} [Fintype G] (p : G → ℝ) (supply demand : ι → G → ℝ) : Prop :=
∀ i, bundleValue p (demand i) = bundleValue p (supply i)
/-- A *general glut*: every good is in excess supply, i.e. aggregate excess demand is
strictly negative for every good. -/
def GeneralGlut {G : Type*} (z : G → ℝ) : Prop :=
∀ g, z g < 0
/-- Budget constraint of a monetary economy: agent `i` enters with money balance `m i` and
plans to end with money balance `m' i`; spending on goods plus planned money holdings
equals the value of goods supplied plus initial money holdings. -/
def MonetaryBudget {ι G : Type*} [Fintype G] (p : G → ℝ) (supply demand : ι → G → ℝ)
(m m' : ι → ℝ) : Prop :=
∀ i, bundleValue p (demand i) + m' i = bundleValue p (supply i) + m i
/-- Aggregate excess demand for money: planned money holdings minus initial money
holdings, summed over all agents (positive when agents in aggregate hoard money). -/
def excessMoneyDemand {ι : Type*} [Fintype ι] (m m' : ι → ℝ) : ℝ :=
∑ i, (m' i - m i)
end SaysLaw
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.
The file introduces, in a namespace SaysLaw, six notions over a finite type of goods and (where needed) a finite type of agents , all quantities and prices being arbitrary real numbers (no positivity is built in).
- For , the bundle value is
- For (named
supplyanddemand), the excess demand is the function . If is empty, for all . SaysBudget p s dis the proposition that for every agent , (an exact equality, not an inequality). It holds trivially, for example, when , or when .GeneralGlut z, for any , is the proposition for every (strict inequality). If is empty this holds vacuously.MonetaryBudget p s d m m', for , is the proposition that for every agent ,
No sign condition is put on . 6. The excess money demand is (zero if is empty).
No axioms, hypotheses or proofs appear in the file; it consists of these six definitions only.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.