pith. machine review for the scientific record. sign in
def

empty_ledger

definition
show as:
view math explainer →
module
IndisputableMonolith.Foundation.LedgerForcing
domain
Foundation
line
108 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.LedgerForcing on GitHub at line 108.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

 105/-! ## The Empty Ledger -/
 106
 107/-- The empty ledger: no events. -/
 108def empty_ledger : Ledger := {
 109  events := []
 110  double_entry := fun _ => by simp [List.count_nil]
 111}
 112
 113/-- The empty ledger is balanced. -/
 114theorem empty_ledger_balanced : balanced empty_ledger := empty_ledger.double_entry
 115
 116/-- The empty ledger has zero cost. -/
 117theorem empty_ledger_cost : ledger_cost empty_ledger = 0 := by simp [ledger_cost, empty_ledger]
 118
 119/-- The empty ledger has zero net flow. -/
 120theorem empty_ledger_net_flow (agent : ℕ) : net_flow empty_ledger agent = 0 := by
 121  simp [net_flow, empty_ledger]
 122
 123/-! ## Conservation from Symmetry -/
 124
 125/-- Log reciprocal cancellation: log(r) + log(1/r) = 0. -/
 126theorem log_reciprocal_cancel {r : ℝ} (_hr : r > 0) : Real.log r + Real.log (r⁻¹) = 0 := by
 127  rw [Real.log_inv]; ring
 128
 129/-- For any event e, logs of e and reciprocal(e) sum to zero. -/
 130theorem paired_log_sum_zero (e : RecognitionEvent) :
 131    Real.log e.ratio + Real.log (reciprocal e).ratio = 0 := by
 132  simp only [reciprocal]
 133  exact log_reciprocal_cancel e.ratio_pos
 134
 135/-- Helper: net flow contribution from a single event for an agent -/
 136noncomputable def flow_contribution (e : RecognitionEvent) (agent : ℕ) : ℝ :=
 137  if e.source = agent ∨ e.target = agent then Real.log e.ratio else 0
 138