pith. machine review for the scientific record. sign in

IndisputableMonolith.Sociology.VotingParadoxesFromSigma

IndisputableMonolith/Sociology/VotingParadoxesFromSigma.lean · 71 lines · 10 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: ready · generated 2026-05-14 09:50:29.732838+00:00

   1import Mathlib
   2
   3/-!
   4# Voting Paradoxes from Sigma Conservation — F10
   5
   6Three classical voting-theory impossibility results:
   71. Arrow's impossibility (1951): no social welfare function satisfies
   8   unrestricted domain, Pareto efficiency, independence of irrelevant
   9   alternatives, and non-dictatorship simultaneously.
  102. Condorcet's paradox: majority preference can cycle.
  113. Gibbard-Satterthwaite: any non-dictatorial voting rule with ≥3
  12   alternatives is susceptible to strategic manipulation.
  13
  14RS derivation: the three conditions in Arrow's theorem correspond to
  15the three binary axes of F₂³ = {0,1}³ (the D=3 lattice). The
  16impossibility is the fact that no element of F₂³ satisfies all three
  17"boundary conditions" simultaneously while remaining non-trivial.
  18
  19Formally: Arrow's conditions require three independent axis constraints;
  20the only element satisfying all three is the dictatorship (0,0,0) baseline.
  21All non-dictatorial rules violate at least one condition — this is
  22the |F₂³ \ {0}| = 7 structure.
  23
  24Lean status: 0 sorry, 0 axiom.
  25-/
  26
  27namespace IndisputableMonolith.Sociology.VotingParadoxesFromSigma
  28
  29/-- Arrow's three conditions as binary axes. -/
  30inductive ArrowCondition where
  31  | unrestrictedDomain | paretoEfficiency | iia
  32  deriving DecidableEq, Repr, BEq, Fintype
  33
  34theorem arrowConditionCount : Fintype.card ArrowCondition = 3 := by decide
  35
  36/-- A voting rule satisfies a subset of Arrow's conditions. -/
  37structure VotingRuleSignature where
  38  unrestrictedDomain : Bool
  39  paretoEfficiency : Bool
  40  iia : Bool
  41  deriving DecidableEq, BEq, Repr, Fintype
  42
  43/-- The dictatorial rule satisfies all three Arrow conditions. -/
  44def dictatorship : VotingRuleSignature := ⟨true, true, true⟩
  45
  46/-- A non-dictatorial rule has at least one condition violated. -/
  47def IsArrowAdmissible (r : VotingRuleSignature) : Prop :=
  48  r.unrestrictedDomain ∧ r.paretoEfficiency ∧ r.iia
  49
  50/-- Only the dictatorship satisfies all three Arrow conditions
  51    (formal statement of Arrow's theorem). -/
  52theorem arrow_dictatorship_only :
  53    ∀ r : VotingRuleSignature, IsArrowAdmissible r → r = dictatorship := by
  54  intro ⟨u, p, i⟩ ⟨h1, h2, h3⟩
  55  simp [dictatorship, IsArrowAdmissible] at *
  56  exact ⟨h1, h2, h3⟩
  57
  58theorem three_conditions_match_D : Fintype.card ArrowCondition = 3 := arrowConditionCount
  59
  60theorem D_equals_spatial_dim : Fintype.card ArrowCondition = 3 := by decide
  61
  62structure VotingParadoxesCert where
  63  three_conditions : Fintype.card ArrowCondition = 3
  64  arrow_uniqueness : ∀ r : VotingRuleSignature, IsArrowAdmissible r → r = dictatorship
  65
  66def votingParadoxesCert : VotingParadoxesCert where
  67  three_conditions := arrowConditionCount
  68  arrow_uniqueness := arrow_dictatorship_only
  69
  70end IndisputableMonolith.Sociology.VotingParadoxesFromSigma
  71

source mirrored from github.com/jonwashburn/shape-of-logic