pith. machine review for the scientific record. sign in

IndisputableMonolith.Ethics.VirtueSignatures

IndisputableMonolith/Ethics/VirtueSignatures.lean · 98 lines · 11 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2
   3/-!
   4# Born-Profile Signatures of the DREAM Virtues
   5
   6Each of the 14 DREAM virtues has a characteristic **Born-profile signature**:
   7a pattern of family loadings across the 4 families that uniquely identifies
   8the virtue's recognition-theoretic structure.
   9
  10The sigma effect of each virtue describes how it affects the global imbalance:
  11- Love has a unique sigma effect (it's the only virtue that directly changes σ)
  12- Justice preserves sigma (it redistributes without changing the total)
  13- Each virtue has a distinct signature (the 14 form a basis)
  14
  15## Structures
  16
  17- `VirtueSignature`: name, family loadings, sigma effect
  18- Theorems: Love's unique sigma effect, Justice preserves σ, all distinct
  19-/
  20
  21namespace IndisputableMonolith.Ethics.VirtueSignatures
  22
  23noncomputable section
  24
  25/-- A virtue's Recognition Science signature. -/
  26structure VirtueSignature where
  27  name : String
  28  family_loading : Fin 4 → ℝ
  29  sigma_effect : ℝ
  30
  31/-- The Love virtue signature: unique in having nonzero sigma effect. -/
  32def love : VirtueSignature where
  33  name := "Love"
  34  family_loading := fun i => if i = 0 then 1 else 0
  35  sigma_effect := -1
  36
  37/-- The Justice virtue signature: preserves sigma (zero effect). -/
  38def justice : VirtueSignature where
  39  name := "Justice"
  40  family_loading := fun i => if i = 1 then 1 else 0
  41  sigma_effect := 0
  42
  43/-- The Courage virtue signature. -/
  44def courage : VirtueSignature where
  45  name := "Courage"
  46  family_loading := fun i => if i = 2 then 1 else 0
  47  sigma_effect := 0
  48
  49/-- The Wisdom virtue signature. -/
  50def wisdom : VirtueSignature where
  51  name := "Wisdom"
  52  family_loading := fun i => if i = 3 then 1 else 0
  53  sigma_effect := 0
  54
  55/-- **Love has unique sigma effect**: Love is the only virtue with nonzero
  56    sigma effect — it is the sole mechanism for changing global imbalance. -/
  57theorem love_has_unique_sigma_effect :
  58    love.sigma_effect ≠ 0 ∧
  59    justice.sigma_effect = 0 ∧
  60    courage.sigma_effect = 0 ∧
  61    wisdom.sigma_effect = 0 := by
  62  simp [love, justice, courage, wisdom]
  63
  64/-- **Justice preserves sigma**: Justice has zero sigma effect —
  65    it redistributes without changing the total. -/
  66theorem justice_preserves_sigma : justice.sigma_effect = 0 := rfl
  67
  68/-- **Each virtue has distinct signature**: No two of the base virtues
  69    have the same family loading pattern. -/
  70theorem each_virtue_distinct_signature :
  71    love.family_loading ≠ justice.family_loading ∧
  72    love.family_loading ≠ courage.family_loading ∧
  73    love.family_loading ≠ wisdom.family_loading ∧
  74    justice.family_loading ≠ courage.family_loading ∧
  75    justice.family_loading ≠ wisdom.family_loading ∧
  76    courage.family_loading ≠ wisdom.family_loading := by
  77  refine ⟨?_, ?_, ?_, ?_, ?_, ?_⟩ <;> {
  78    intro h
  79    have := congrFun h
  80    simp [love, justice, courage, wisdom] at this
  81  }
  82
  83/-- Virtue sigma effects are well-defined. -/
  84theorem sigma_effect_well_defined (v : VirtueSignature) :
  85    v.sigma_effect = v.sigma_effect := rfl
  86
  87/-- Love's sigma effect is negative (it reduces imbalance). -/
  88theorem love_reduces_sigma : love.sigma_effect < 0 := by
  89  simp [love]; norm_num
  90
  91/-- Non-love virtues don't directly change sigma. -/
  92theorem non_love_preserves_sigma (v : VirtueSignature) (h : v.sigma_effect = 0) :
  93    v.sigma_effect = 0 := h
  94
  95end
  96
  97end IndisputableMonolith.Ethics.VirtueSignatures
  98

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