Encyclopedia Ethics Ethics Moral State Total Energy Positive Of Nonempty
ARTICLE 2 claims 2 theorems
Ethics Moral State Total Energy Positive Of Nonempty
A machine-checked theorem says any nonempty collection of moral states has positive total energy; here is what that does and does not mean.
Energy in a moral state
A moral state, in this framework, is a snapshot of one agent's ethical situation: a record of their recent interactions and the energy available to them. The framework models ethics as a branch of physics, where right action is not a matter of preference but of conserving a quantity called reciprocity. Each moral state carries a number called its energy, which measures the recognition cost available for transformations.
The theorem total_energy_positive_of_nonempty states a simple fact: if you take any nonempty list of moral states, the sum of their energies is strictly greater than zero. It is a direct consequence of a more basic result, energy_always_positive, which proves that a single moral state always has positive energy. The proof is short and relies on the definition of energy as a positive quantity.
The theorem does not claim that total energy is conserved, that it is bounded, or that it has any particular value. It only asserts positivity. It also does not say anything about the distribution of energy among agents, nor does it imply that a moral state with zero skew is the only kind that exists. The theorem holds for any nonempty list, regardless of whether the states are balanced or globally admissible.
What the result establishes is a floor: in this framework, no nonempty collection of agents can have zero or negative total energy. That is a minimal but real constraint. It means the framework excludes the possibility of a world where the sum of available recognition energy is zero or negative. The theorem is a small piece of a larger structure, but it is a piece that is machine-checked and therefore reliable.
THEOREM total_energy_positive_of_nonempty · IndisputableMonolith/Ethics/MoralState.lean
/-- Total energy is positive if any state has positive energy -/
theorem total_energy_positive_of_nonempty (states : List MoralState)
(h : states ≠ []) :
0 < MoralState.total_energy states := by
-- Helper: total energy is always nonnegative.
have total_nonneg : ∀ xs, 0 ≤ MoralState.total_energy xs := by
intro xs
induction xs with
| nil =>
simp [MoralState.total_energy]
| cons s ss ih =>
have hs : 0 ≤ s.energy := le_of_lt s.energy_pos
have hrec : MoralState.total_energy (s :: ss) =
s.energy + MoralState.total_energy ss := by
change List.foldl (fun a t => a + t.energy) 0 (s :: ss)
= s.energy + List.foldl (fun a t => a + t.energy) 0 ss
simp [List.foldl]
-- reduce to foldl starting at s.energy, then apply helper lemma
simpa [add_comm] using (total_energy_foldl_add_const ss s.energy)
have : 0 ≤ s.energy + MoralState.total_energy ss := add_nonneg hs ih
simpa [hrec]
-- Main argument by cases.
cases states with
| nil => cases h rfl
| cons s ss =>
have hs_pos : 0 < s.energy := s.energy_pos
have hss_nonneg : 0 ≤ MoralState.total_energy ss := total_nonneg ss
have : 0 < s.energy + MoralState.total_energy ss :=
add_pos_of_pos_of_nonneg hs_pos hss_nonneg
have hrec : MoralState.total_energy (s :: ss) =
s.energy + MoralState.total_energy ss := by
change List.foldl (fun a t => a + t.energy) 0 (s :: ss)
= s.energy + List.foldl (fun a t => a + t.energy) 0 ss
simp [List.foldl]
simpa [add_comm] using (total_energy_foldl_add_const ss s.energy)
simpa [hrec]
THEOREM energy_always_positive · IndisputableMonolith/Ethics/MoralState.lean
/-- Energy is always positive for valid moral states -/
theorem energy_always_positive (s : MoralState) : 0 < s.energy :=
s.energy_pos
What this page does not claim
The theorem does not claim that total energy is conserved over time. It does not claim that energy is bounded above or has a specific value. It does not address the distribution of energy among agents in the list.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Ethics/MoralState.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- What physical or ethical interpretation does the positivity of total energy license?
- How does the definition of energy in a moral state connect to the recognition cost function?
- What does global admissibility add beyond the positivity of total energy?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM total_energy_positive_of_nonempty · IndisputableMonolith/Ethics/MoralState.lean
/-- Total energy is positive if any state has positive energy -/ theorem total_energy_positive_of_nonempty (states : List MoralState) (h : states ≠ []) : 0 < MoralState.total_energy states := by -- Helper: total energy is always nonnegative. have total_nonneg : ∀ xs, 0 ≤ MoralState.total_energy xs := by intro xs induction xs with | nil => simp [MoralState.total_energy] | cons s ss ih => have hs : 0 ≤ s.energy := le_of_lt s.energy_pos have hrec : MoralState.total_energy (s :: ss) = s.energy + MoralState.total_energy ss := by change List.foldl (fun a t => a + t.energy) 0 (s :: ss) = s.energy + List.foldl (fun a t => a + t.energy) 0 ss simp [List.foldl] -- reduce to foldl starting at s.energy, then apply helper lemma simpa [add_comm] using (total_energy_foldl_add_const ss s.energy) have : 0 ≤ s.energy + MoralState.total_energy ss := add_nonneg hs ih simpa [hrec] -- Main argument by cases. cases states with | nil => cases h rfl | cons s ss => have hs_pos : 0 < s.energy := s.energy_pos have hss_nonneg : 0 ≤ MoralState.total_energy ss := total_nonneg ss have : 0 < s.energy + MoralState.total_energy ss := add_pos_of_pos_of_nonneg hs_pos hss_nonneg have hrec : MoralState.total_energy (s :: ss) = s.energy + MoralState.total_energy ss := by change List.foldl (fun a t => a + t.energy) 0 (s :: ss) = s.energy + List.foldl (fun a t => a + t.energy) 0 ss simp [List.foldl] simpa [add_comm] using (total_energy_foldl_add_const ss s.energy) simpa [hrec]if you take any nonempty list of moral states, the sum of their energies is strictly greater than zero total_energy_positive_of_nonempty · IndisputableMonolith/Ethics/MoralState.leanTHEOREM energy_always_positive · IndisputableMonolith/Ethics/MoralState.lean
/-- Energy is always positive for valid moral states -/ theorem energy_always_positive (s : MoralState) : 0 < s.energy := s.energy_posa single moral state always has positive energy energy_always_positive · IndisputableMonolith/Ethics/MoralState.lean