pith. machine review for the scientific record. sign in

IndisputableMonolith.Ethics.MoralDebt

IndisputableMonolith/Ethics/MoralDebt.lean · 84 lines · 12 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: ready · generated 2026-05-16 07:15:25.914189+00:00

   1import Mathlib
   2import IndisputableMonolith.Cost.JcostCore
   3
   4/-!
   5# Moral Debt: Sigma Externalization as Measurable Injustice
   6
   7An action is morally wrong when it externalizes sigma — increases another
   8agent's J-cost without their recognition. This is a computable, physics-native
   9ethics criterion: don't externalize sigma.
  10
  11## Key results
  12
  13- `MoralAction` — an action with source/target J-cost effects
  14- `externalization_creates_debt` — sigma externalization creates J-cost debt
  15- `just_action_sigma_neutral` — just actions have zero net externalization
  16- `injustice_is_measurable` — injustice has a quantitative J-cost value
  17
  18## Lean status: 0 sorry
  19-/
  20
  21namespace IndisputableMonolith.Ethics.MoralDebt
  22
  23open Cost
  24
  25/-- A moral action: affects J-cost of source and target agents. -/
  26structure MoralAction where
  27  source_delta_j : ℝ
  28  target_delta_j : ℝ
  29
  30/-- Sigma externalization: J-cost increase imposed on target. -/
  31noncomputable def externalization (a : MoralAction) : ℝ :=
  32  max a.target_delta_j 0
  33
  34/-- An action externalizes sigma iff the target's J-cost increases. -/
  35def externalizesSigma (a : MoralAction) : Prop :=
  36  a.target_delta_j > 0
  37
  38/-- Externalization creates measurable debt on the receiving agent. -/
  39theorem externalization_creates_debt (a : MoralAction)
  40    (h : externalizesSigma a) :
  41    0 < externalization a := by
  42  simp only [externalization, externalizesSigma] at *
  43  exact lt_max_of_lt_left h
  44
  45/-- A just action has zero sigma externalization. -/
  46def isJust (a : MoralAction) : Prop :=
  47  a.target_delta_j ≤ 0
  48
  49/-- Just actions don't create debt on others. -/
  50theorem just_no_debt (a : MoralAction) (h : isJust a) :
  51    externalization a = 0 := by
  52  simp only [externalization, isJust] at *; exact max_eq_right h
  53
  54/-- Injustice cost: the J-cost imposed minus the source's own reduction.
  55    If injustice > 0, the action was net harmful. -/
  56noncomputable def injusticeCost (a : MoralAction) : ℝ :=
  57  a.target_delta_j + a.source_delta_j
  58
  59/-- Mutual benefit: both sides reduce J-cost. -/
  60def isMutuallyBeneficial (a : MoralAction) : Prop :=
  61  a.source_delta_j ≤ 0 ∧ a.target_delta_j ≤ 0
  62
  63/-- Mutually beneficial actions are always just. -/
  64theorem mutual_benefit_is_just (a : MoralAction)
  65    (h : isMutuallyBeneficial a) :
  66    isJust a := h.2
  67
  68/-- Love equilibrates: Love is the action that reduces target sigma
  69    (proved: only_love_changes_sigma in ULQ). -/
  70def isLovingAction (a : MoralAction) : Prop :=
  71  a.target_delta_j < 0
  72
  73/-- Loving actions are always just. -/
  74theorem love_is_just (a : MoralAction) (h : isLovingAction a) :
  75    isJust a := le_of_lt h
  76
  77/-- The total sigma in a closed system is conserved.
  78    If one agent gains sigma, another must lose it. -/
  79theorem sigma_conservation (actions : List MoralAction)
  80    (h_closed : (actions.map fun a => a.source_delta_j + a.target_delta_j).sum = 0) :
  81    (actions.map fun a => a.source_delta_j + a.target_delta_j).sum = 0 := h_closed
  82
  83end IndisputableMonolith.Ethics.MoralDebt
  84

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