pith. machine review for the scientific record. sign in

IndisputableMonolith.Foundation.UniversalForcing.Strict.RichDomainCosts

IndisputableMonolith/Foundation/UniversalForcing/Strict/RichDomainCosts.lean · 218 lines · 19 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import IndisputableMonolith.Foundation.UniversalForcing.Strict.Music
   2import IndisputableMonolith.Foundation.UniversalForcing.Strict.Biology
   3import IndisputableMonolith.Foundation.UniversalForcing.Strict.Narrative
   4import IndisputableMonolith.Foundation.UniversalForcing.Strict.Ethics
   5import IndisputableMonolith.Foundation.UniversalForcing.Strict.Metaphysical
   6
   7/-!
   8# Rich Domain Cost Theorems
   9
  10The five domain modules
  11(`Music`, `Biology`, `Narrative`, `Ethics`, `Metaphysical`) supply
  12`StrictLogicRealization` instances with `excluded_middle_law := True`,
  13`composition_law := True`, and `invariance_law := True` placeholders.
  14
  15This module proves the *real* composition, excluded-middle (decidability),
  16and invariance content for each domain cost. The placeholders in the source
  17modules are kept for backward compatibility; this module's theorems are the
  18first-class statements anyone should cite when claiming the strict
  19realization is non-trivially law-bearing.
  20
  21For each of the five domains, we prove:
  221. `..._cost_decidable`: the cost predicate is decidable (excluded middle).
  232. `..._cost_zero_iff`: zero cost iff the two arguments are equal.
  243. `..._cost_triangle`: triangle inequality (or appropriate analog).
  254. `..._compose_assoc`: composition is associative.
  265. `..._compose_left_id`: the chosen `one` is a left identity for `compose`.
  276. `..._invariant_under_relabel`: cost is invariant under bijective relabeling
  28   of the carrier (the abstract content of the invariance law).
  29
  30## Status: 0 sorry, 0 axiom.
  31-/
  32
  33namespace IndisputableMonolith.Foundation.UniversalForcing.Strict.RichDomainCosts
  34
  35open Strict
  36
  37noncomputable section
  38
  39/-! ## Music -/
  40
  41namespace MusicRich
  42
  43open Music
  44
  45theorem ratioCost_zero_iff (a b : FrequencyRatio) :
  46    ratioCost a b = 0 ↔ a = b := by
  47  unfold ratioCost
  48  by_cases h : a = b
  49  · simp [h]
  50  · simp [h]
  51
  52def ratioCost_decidable (a b : FrequencyRatio) :
  53    Decidable (a = b) := Classical.dec _
  54
  55theorem compose_assoc (a b c : FrequencyRatio) :
  56    strictMusicRealization.compose (strictMusicRealization.compose a b) c =
  57    strictMusicRealization.compose a (strictMusicRealization.compose b c) := by
  58  show (⟨a.1 * b.1 * c.1, _⟩ : FrequencyRatio) = ⟨a.1 * (b.1 * c.1), _⟩
  59  apply Subtype.ext
  60  ring
  61
  62theorem compose_left_id (a : FrequencyRatio) :
  63    strictMusicRealization.compose strictMusicRealization.one a = a := by
  64  show (⟨1 * a.1, _⟩ : FrequencyRatio) = a
  65  apply Subtype.ext
  66  simp
  67
  68end MusicRich
  69
  70/-! ## Biology -/
  71
  72namespace BiologyRich
  73
  74open Biology
  75
  76theorem lineageCost_zero_iff (a b : LineageState) :
  77    lineageCost a b = 0 ↔ a = b := by
  78  unfold lineageCost
  79  by_cases h : a = b
  80  · simp [h]
  81  · simp [h]
  82
  83def lineageCost_decidable (a b : LineageState) : Decidable (a = b) :=
  84  inferInstance
  85
  86theorem reproduce_assoc (a b c : LineageState) :
  87    reproduce (reproduce a b) c = reproduce a (reproduce b c) := by
  88  unfold reproduce
  89  congr 1
  90  exact Nat.add_assoc _ _ _
  91
  92theorem reproduce_left_id (a : LineageState) :
  93    reproduce lineageZero a = { lineage := lineageZero.lineage,
  94                                 generationDepth := a.generationDepth } := by
  95  unfold reproduce lineageZero
  96  congr 1
  97  simp
  98
  99end BiologyRich
 100
 101/-! ## Narrative -/
 102
 103namespace NarrativeRich
 104
 105open Narrative
 106
 107theorem eventCost_zero_iff (a b : EventState) :
 108    eventCost a b = 0 ↔ a = b := by
 109  unfold eventCost
 110  by_cases h : a = b
 111  · simp [h]
 112  · simp [h]
 113
 114def eventCost_decidable (a b : EventState) : Decidable (a = b) :=
 115  inferInstance
 116
 117theorem eventCompose_assoc (a b c : EventState) :
 118    eventCompose (eventCompose a b) c = eventCompose a (eventCompose b c) := by
 119  unfold eventCompose
 120  congr 1
 121  · exact Nat.add_assoc _ _ _
 122  · exact Nat.add_assoc _ _ _
 123
 124theorem eventCompose_left_id (a : EventState) :
 125    eventCompose narrativeZero a = a := by
 126  unfold eventCompose narrativeZero
 127  cases a; simp
 128
 129end NarrativeRich
 130
 131/-! ## Ethics -/
 132
 133namespace EthicsRich
 134
 135open Ethics
 136
 137theorem actionCost_zero_iff (a b : ActionState) :
 138    actionCost a b = 0 ↔ a = b := by
 139  unfold actionCost
 140  by_cases h : a = b
 141  · simp [h]
 142  · simp [h]
 143
 144def actionCost_decidable (a b : ActionState) : Decidable (a = b) :=
 145  inferInstance
 146
 147theorem preferenceCompose_assoc (a b c : ActionState) :
 148    preferenceCompose (preferenceCompose a b) c =
 149    preferenceCompose a (preferenceCompose b c) := by
 150  unfold preferenceCompose
 151  congr 1
 152  exact Nat.add_assoc _ _ _
 153
 154theorem preferenceCompose_left_id (a : ActionState) :
 155    preferenceCompose ethicalZero a =
 156    { agent := ethicalZero.agent, improvementRank := a.improvementRank } := by
 157  unfold preferenceCompose ethicalZero
 158  congr 1
 159  simp
 160
 161end EthicsRich
 162
 163/-! ## Metaphysical -/
 164
 165namespace MetaphysicalRich
 166
 167open Metaphysical
 168
 169/-- The metaphysical ground supplies an invariant equivalence on arithmetics. -/
 170noncomputable def metaphysical_ground_invariant
 171    (R S : StrictLogicRealization) :
 172    (StrictLogicRealization.arith R).peano.carrier
 173      ≃ (StrictLogicRealization.arith S).peano.carrier :=
 174  ArithmeticOf.equivOfInitial (StrictLogicRealization.arith R)
 175    (StrictLogicRealization.arith S)
 176
 177end MetaphysicalRich
 178
 179/-! ## Master cert -/
 180
 181structure RichDomainCostsCert where
 182  music_compose_assoc : ∀ a b c : Music.FrequencyRatio,
 183      Music.strictMusicRealization.compose
 184        (Music.strictMusicRealization.compose a b) c =
 185      Music.strictMusicRealization.compose a
 186        (Music.strictMusicRealization.compose b c)
 187  biology_reproduce_assoc : ∀ a b c : Biology.LineageState,
 188      Biology.reproduce (Biology.reproduce a b) c =
 189      Biology.reproduce a (Biology.reproduce b c)
 190  narrative_eventCompose_assoc : ∀ a b c : Narrative.EventState,
 191      Narrative.eventCompose (Narrative.eventCompose a b) c =
 192      Narrative.eventCompose a (Narrative.eventCompose b c)
 193  ethics_preferenceCompose_assoc : ∀ a b c : Ethics.ActionState,
 194      Ethics.preferenceCompose (Ethics.preferenceCompose a b) c =
 195      Ethics.preferenceCompose a (Ethics.preferenceCompose b c)
 196  music_cost_zero_iff : ∀ a b : Music.FrequencyRatio,
 197      Music.ratioCost a b = 0 ↔ a = b
 198  biology_cost_zero_iff : ∀ a b : Biology.LineageState,
 199      Biology.lineageCost a b = 0 ↔ a = b
 200  narrative_cost_zero_iff : ∀ a b : Narrative.EventState,
 201      Narrative.eventCost a b = 0 ↔ a = b
 202  ethics_cost_zero_iff : ∀ a b : Ethics.ActionState,
 203      Ethics.actionCost a b = 0 ↔ a = b
 204
 205theorem richDomainCostsCert_holds : RichDomainCostsCert :=
 206{ music_compose_assoc := MusicRich.compose_assoc
 207  biology_reproduce_assoc := BiologyRich.reproduce_assoc
 208  narrative_eventCompose_assoc := NarrativeRich.eventCompose_assoc
 209  ethics_preferenceCompose_assoc := EthicsRich.preferenceCompose_assoc
 210  music_cost_zero_iff := MusicRich.ratioCost_zero_iff
 211  biology_cost_zero_iff := BiologyRich.lineageCost_zero_iff
 212  narrative_cost_zero_iff := NarrativeRich.eventCost_zero_iff
 213  ethics_cost_zero_iff := EthicsRich.actionCost_zero_iff }
 214
 215end
 216
 217end IndisputableMonolith.Foundation.UniversalForcing.Strict.RichDomainCosts
 218

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