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

tick_within_epoch

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

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Foundation.TimeEmergence on GitHub at line 57.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

formal source

  54theorem epoch_length_eq : epoch_length = 8 := rfl
  55
  56/-- The tick within an epoch (0 through 7). -/
  57def tick_within_epoch (t : Tick) : Fin 8 :=
  58  ⟨t.index % 8, Nat.mod_lt _ (by norm_num)⟩
  59
  60/-! ## Ledger State and Temporal Progression -/
  61
  62/-- A ledger state at a given tick. The state space is indexed by ticks,
  63    not by a continuous time parameter. -/
  64structure LedgerSnapshot where
  65  tick : Tick
  66  defect : ℝ
  67  defect_nonneg : 0 ≤ defect
  68
  69/-- Temporal ordering: snapshot A is before snapshot B iff its tick index is smaller. -/
  70def before (a b : LedgerSnapshot) : Prop := a.tick.index < b.tick.index
  71
  72instance : DecidableRel before := fun a b => Nat.decLt a.tick.index b.tick.index
  73
  74/-! ## Arrow of Time: Defect Monotonicity -/
  75
  76/-- **Core Principle**: Within a single epoch, the defect is non-increasing.
  77    Recognition events reduce defect (move toward the cost minimum).
  78    This is what gives time its direction. -/
  79structure DefectMonotone (states : ℕ → LedgerSnapshot) : Prop where
  80  tick_ordered : ∀ n, (states n).tick.index ≤ (states (n + 1)).tick.index
  81  defect_decreasing : ∀ n,
  82    (states (n + 1)).tick.index = (states n).tick.index + 1 →
  83    (states (n + 1)).defect ≤ (states n).defect
  84
  85/-- The arrow of time is the direction of defect decrease.
  86    Time "flows" from higher defect to lower defect. -/
  87def arrow_of_time (s₁ s₂ : LedgerSnapshot) : Prop :=