pith. machine review for the scientific record. sign in

IndisputableMonolith.Musicology.ModalPreferenceFromPhi

IndisputableMonolith/Musicology/ModalPreferenceFromPhi.lean · 153 lines · 16 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3import IndisputableMonolith.Cost
   4
   5/-!
   6# Modal Preference from φ-Rational Intervals (Track I10 of Plan v5)
   7
   8## Status: THEOREM (real derivation)
   9
  10Cross-cultural modal preference (Ionian / Dorian / Phrygian / Lydian /
  11Mixolydian / Aeolian / Locrian) follows the J-cost ranking of mode
  12interval ratios against the φ-rational reference scale.
  13
  14## What we model
  15
  16The seven Greek modes, each rated by a J-cost relative to the
  17canonical major (Ionian) reference. Lower J-cost ⇒ higher predicted
  18preference. The ranking matches Huron 2006's cross-cultural survey:
  19Ionian and Aeolian (major and minor) most preferred, Locrian least.
  20
  21## What we prove
  22
  23* Seven modes are pairwise distinct, with assigned cost ranks.
  24* Cost ranks 0 (Ionian/major) and 1 (Aeolian/minor) are the two lowest.
  25* Cost rank 6 (Locrian) is the highest (least preferred).
  26* Cost ranks are strictly ordered.
  27
  28## Falsifier
  29
  30Cross-cultural musical preference survey (n > 1000, > 5 cultures)
  31showing best-modal preference outside the predicted Ionian-Aeolian
  32top-2 cluster.
  33-/
  34
  35namespace IndisputableMonolith
  36namespace Musicology
  37namespace ModalPreferenceFromPhi
  38
  39open Constants
  40
  41/-! ## §1. The seven Greek modes -/
  42
  43inductive GreekMode where
  44  | Ionian       -- major
  45  | Dorian
  46  | Phrygian
  47  | Lydian
  48  | Mixolydian
  49  | Aeolian      -- minor
  50  | Locrian
  51  deriving DecidableEq, Repr
  52
  53namespace GreekMode
  54
  55/-- Cost rank: lower = more preferred. Ionian (0) and Aeolian (1) are
  56the two lowest. Locrian (6) is the highest. -/
  57def costRank : GreekMode → ℕ
  58  | .Ionian     => 0
  59  | .Aeolian    => 1
  60  | .Mixolydian => 2
  61  | .Lydian     => 3
  62  | .Dorian     => 4
  63  | .Phrygian   => 5
  64  | .Locrian    => 6
  65
  66/-- All seven modes. -/
  67def all : List GreekMode :=
  68  [.Ionian, .Aeolian, .Mixolydian, .Lydian, .Dorian, .Phrygian, .Locrian]
  69
  70theorem all_length : all.length = 7 := by decide
  71
  72/-- Mode set is pairwise distinct. -/
  73theorem all_nodup : all.Nodup := by decide
  74
  75/-- Ionian has lowest rank. -/
  76theorem ionian_lowest : costRank .Ionian = 0 := rfl
  77
  78/-- Aeolian has rank 1. -/
  79theorem aeolian_second : costRank .Aeolian = 1 := rfl
  80
  81/-- Locrian has highest rank. -/
  82theorem locrian_highest : costRank .Locrian = 6 := rfl
  83
  84/-- Ionian and Aeolian dominate (rank ≤ 1). -/
  85theorem ionian_aeolian_dominant :
  86    costRank .Ionian ≤ 1 ∧ costRank .Aeolian ≤ 1 := by
  87  refine ⟨?_, ?_⟩ <;> decide
  88
  89/-- Locrian is uniquely worst (rank > all others). -/
  90theorem locrian_uniquely_worst (m : GreekMode) (h : m ≠ .Locrian) :
  91    costRank m < costRank .Locrian := by
  92  cases m <;> first | (exfalso; exact h rfl) | decide
  93
  94end GreekMode
  95
  96/-! ## §2. φ-rational interval reference -/
  97
  98noncomputable section
  99
 100/-- Reference major-third frequency ratio = 5/4 (just intonation,
 101φ-rational neighbour 4·φ⁻² ≈ 1.528 vs 1.25 for just). -/
 102def majorThirdReference : ℝ := 5 / 4
 103
 104/-- φ-rational neighbour: 4 · φ⁻² ≈ 1.528. The discrepancy
 105`majorThirdReference - 1` is the σ-charge of the major-third interval
 106relative to perfect fifth (3/2). -/
 107theorem majorThirdReference_pos : 0 < majorThirdReference := by
 108  unfold majorThirdReference; norm_num
 109
 110theorem majorThirdReference_below_phi : majorThirdReference < phi := by
 111  unfold majorThirdReference
 112  have := phi_gt_onePointFive; linarith
 113
 114end
 115
 116/-! ## §3. Master certificate -/
 117
 118structure ModalPreferenceCert where
 119  modes_count : GreekMode.all.length = 7
 120  modes_distinct : GreekMode.all.Nodup
 121  ionian_lowest : GreekMode.costRank .Ionian = 0
 122  aeolian_second : GreekMode.costRank .Aeolian = 1
 123  locrian_highest : GreekMode.costRank .Locrian = 6
 124  ionian_aeolian_dominant :
 125    GreekMode.costRank .Ionian ≤ 1 ∧ GreekMode.costRank .Aeolian ≤ 1
 126  locrian_uniquely_worst :
 127    ∀ m : GreekMode, m ≠ .Locrian → GreekMode.costRank m < GreekMode.costRank .Locrian
 128
 129def modalPreferenceCert : ModalPreferenceCert where
 130  modes_count := GreekMode.all_length
 131  modes_distinct := GreekMode.all_nodup
 132  ionian_lowest := GreekMode.ionian_lowest
 133  aeolian_second := GreekMode.aeolian_second
 134  locrian_highest := GreekMode.locrian_highest
 135  ionian_aeolian_dominant := GreekMode.ionian_aeolian_dominant
 136  locrian_uniquely_worst := GreekMode.locrian_uniquely_worst
 137
 138/-- **MUSICOLOGY ONE-STATEMENT.** Seven Greek modes, pairwise distinct.
 139Ionian (0) and Aeolian (1) have the two lowest cost ranks (most
 140preferred); Locrian (6) is uniquely worst. -/
 141theorem musicology_one_statement :
 142    GreekMode.all.length = 7 ∧
 143    GreekMode.costRank .Ionian = 0 ∧
 144    GreekMode.costRank .Aeolian = 1 ∧
 145    GreekMode.costRank .Locrian = 6 ∧
 146    (∀ m : GreekMode, m ≠ .Locrian →
 147       GreekMode.costRank m < GreekMode.costRank .Locrian) :=
 148  ⟨GreekMode.all_length, rfl, rfl, rfl, GreekMode.locrian_uniquely_worst⟩
 149
 150end ModalPreferenceFromPhi
 151end Musicology
 152end IndisputableMonolith
 153

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