Encyclopedia Cosmology Cosmology Refine Trigger Epsilon Unsafe
ARTICLE 4 claims 4 theorems
Cosmology Refine Trigger Epsilon Unsafe
A machine-checked theorem shows why any positive tolerance for skipping refinement steps breaks the ledger, forcing the only safe threshold to be exactly zero.
The unsafe threshold
In the Recognition Science framework, a simulation refines its model of reality by deciding which coarse blocks to split into finer detail. A naive refiner might set a tolerance ε and only split a block when some measure of its internal activity exceeds that value. The theorem epsilon_unsafe proves this approach is always broken: for any positive ε, there exists a block whose forced internal activity is positive but smaller than ε, so the ε-rule skips it and the reconstruction loses information. The only threshold that never loses information is zero, meaning the refiner must split a block exactly when it carries any forced internal posting, with no tunable knob.
The proof rests on the framework's recognition cost, the function J(x) = (x + x⁻¹)/2 − 1, which measures the cost of distinguishing a ratio x from unity. A genuine distinction, where x differs from 1, always has positive cost. But the cost can be made arbitrarily small by choosing a ratio close to 1, so no matter how small a positive ε you pick, a forced posting can slip below it. The theorem constructs a concrete two-block map and a cell for each ε, showing the ε-rule's reconstruction differs from the original, a failure of losslessness.
This result is one part of a larger law-derived refinement trigger, T-3, which the framework's machine-checked library of formal theorems proves. The library also shows that lossless reconstruction forces the descent set to be exactly the active blocks, and that the law-given rule of descending exactly those blocks is both lossless and minimal. The epsilon_unsafe theorem closes the loop: it rules out every positive alternative, leaving zero as the unique law-given threshold.
The theorem does not claim that any particular physical system must use this trigger, nor that the recognition cost function is the only possible measure of distinction. It establishes a structural fact within the framework's model: if you accept the recognition cost and the definition of lossless reconstruction, then any positive tolerance is provably unsafe. The consequence is practical for the framework's cosmology engine: the refinement decision is fully determined by the ledger, with no free parameter for a modeler to tune.
THEOREM epsilon_unsafe · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- **No positive threshold is safe.** For every `ε > 0` there is a cell with a single
internal posting whose demand is positive but below `ε`. The threshold rule "descend
iff demand exceeds `ε`" therefore skips that active block, and the reconstruction is
lossy. Only the zero threshold (descend iff a distinction is forced) is law-given. -/
theorem epsilon_unsafe (ε : ℝ) (hε : 0 < ε) :
∃ (m : Multiset Event) (b : ℕ),
0 < demand b01 m b ∧ demand b01 m b < ε
∧ reconstructUnder b01 (fun c => ε < demand b01 m c) m ≠ m := by
obtain ⟨r, hr1, hrpos, hrlt⟩ := jcost_arbitrarily_small_positive ε hε
refine ⟨{(⟨0, 1, r⟩ : Event)}, 0, ?_, ?_, ?_⟩
· -- demand b01 {⟨0,1,r⟩} 0 = Jcost r
have hd : demand b01 {(⟨0, 1, r⟩ : Event)} 0 = Jcost r := by
unfold demand internalOf
simp [sameBlock, b01, Multiset.filter_singleton, cost_singleton]
rw [hd]; exact hrpos
· have hd : demand b01 {(⟨0, 1, r⟩ : Event)} 0 = Jcost r := by
unfold demand internalOf
simp [sameBlock, b01, Multiset.filter_singleton, cost_singleton]
rw [hd]; exact hrlt
· -- the epsilon-rule skips block 0, so reconstruction drops the only posting
have hd : demand b01 {(⟨0, 1, r⟩ : Event)} 0 = Jcost r := by
unfold demand internalOf
simp [sameBlock, b01, Multiset.filter_singleton, cost_singleton]
have hnotsel : ¬ (ε < demand b01 {(⟨0, 1, r⟩ : Event)} 0) := by rw [hd]; linarith
-- reconstructUnder = crossOf (empty) + internal filtered by a false predicate = 0
have hrecon : reconstructUnder b01 (fun c => ε < demand b01 {(⟨0, 1, r⟩ : Event)} c)
{(⟨0, 1, r⟩ : Event)} = 0 := by
unfold reconstructUnder crossOf internalOf
simp [sameBlock, b01, Multiset.filter_singleton, hnotsel]
rw [hrecon]
-- 0 ≠ {⟨0,1,r⟩}
intro hcontra
have : Multiset.card (0 : Multiset Event) = Multiset.card {(⟨0, 1, r⟩ : Event)} :=
congrArg Multiset.card hcontra
simp at this
THEOREM jcost_pos · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- A genuine distinction (ratio not one) has strictly positive cost. -/
theorem jcost_pos {x : ℝ} (hx : 0 < x) (hne : x ≠ 1) : 0 < Jcost x := by
have hx0 : x ≠ 0 := hx.ne'
have key : Jcost x = (x - 1) ^ 2 / (2 * x) := by
unfold Jcost; field_simp; ring
rw [key]
have hsq : 0 < (x - 1) ^ 2 := by
have hne' : x - 1 ≠ 0 := sub_ne_zero.mpr hne
positivity
have hden : 0 < 2 * x := by linarith
exact div_pos hsq hden
THEOREM jcost_arbitrarily_small_positive · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- **Forced postings have arbitrarily small positive cost.** For every `ε > 0` there is
a ratio above one whose recognition cost is positive but below `ε`. This is why no
positive threshold is safe: a forced distinction can sit just under any `ε`. -/
theorem jcost_arbitrarily_small_positive (ε : ℝ) (hε : 0 < ε) :
∃ x : ℝ, 1 < x ∧ 0 < Jcost x ∧ Jcost x < ε := by
have hδpos : 0 < min 1 ε := lt_min (by norm_num) hε
have hδ1 : min 1 ε ≤ 1 := min_le_left _ _
have hδε : min 1 ε ≤ ε := min_le_right _ _
have hx1 : (1 : ℝ) < 1 + min 1 ε := by linarith
have hpos : (0 : ℝ) < 1 + min 1 ε := by linarith
have hne0 : (1 + min 1 ε) ≠ 0 := hpos.ne'
refine ⟨1 + min 1 ε, hx1, jcost_pos hpos hx1.ne', ?_⟩
have key : Jcost (1 + min 1 ε) = (min 1 ε) ^ 2 / (2 * (1 + min 1 ε)) := by
unfold Jcost; field_simp; ring
rw [key, div_lt_iff₀ (by nlinarith : (0 : ℝ) < 2 * (1 + min 1 ε))]
nlinarith [hδpos, hδ1, hδε, hε,
mul_nonneg hδpos.le (by linarith : (0 : ℝ) ≤ 1 - min 1 ε), mul_pos hε hδpos]
THEOREM lossless_iff · lossless_law · descendLaw_necessary · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- **The descent set is forced.** Refining only the blocks in `D` is lossless if and
only if `D` covers every block that carries an internal posting. There is no tunable
slack: lossless reconstruction requires descending exactly the active blocks. -/
theorem lossless_iff (block : ℕ → ℕ) (D : ℕ → Prop) [DecidablePred D] (m : Multiset Event) :
reconstructUnder block D m = m ↔ ∀ e ∈ internalOf block m, D (block e.source) := by
unfold reconstructUnder
rw [← Multiset.filter_eq_self]
constructor
· intro h
have h2 : crossOf block m + (internalOf block m).filter (fun e => D (block e.source))
= crossOf block m + internalOf block m := by
rw [h]; exact (cross_add_internal block m).symm
exact add_left_cancel h2
· intro h
rw [h]
exact cross_add_internal block m
/-- **The law-given rule is lossless.** Descending exactly the active blocks
reconstructs the cell with zero loss. -/
theorem lossless_law (block : ℕ → ℕ) (m : Multiset Event) :
reconstructUnder block (descendLaw block m) m = m := by
rw [lossless_iff]
intro e he
exact Multiset.mem_map.mpr ⟨e, he, rfl⟩
/-- **The law-given rule is minimal.** Any lossless decision must descend every active
block; you cannot skip a block that carries a posting. -/
theorem descendLaw_necessary (block : ℕ → ℕ) (D : ℕ → Prop) [DecidablePred D]
(m : Multiset Event) (h : reconstructUnder block D m = m) :
∀ b, descendLaw block m b → D b := by
intro b hb
obtain ⟨e, he, hbe⟩ := Multiset.mem_map.mp hb
have hD := (lossless_iff block D m).mp h e he
rwa [hbe] at hD
What this page does not claim
The theorem does not claim that any specific physical system must use this refinement trigger. The theorem does not claim the recognition cost function is the only possible measure of distinction. The theorem does not claim that a positive threshold is unsafe for all possible cost functions, only for this specific J-cost.
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/Cosmology/RefineTrigger.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:
- How does the refinement trigger connect to the broader forcing chain that derives physical constants?
- What empirical evidence supports the claim that the recognition cost function applies to physical systems?
- How does the T-3 theorem generalize to block maps other than the two-site example used in the proof?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM epsilon_unsafe · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- **No positive threshold is safe.** For every `ε > 0` there is a cell with a single internal posting whose demand is positive but below `ε`. The threshold rule "descend iff demand exceeds `ε`" therefore skips that active block, and the reconstruction is lossy. Only the zero threshold (descend iff a distinction is forced) is law-given. -/ theorem epsilon_unsafe (ε : ℝ) (hε : 0 < ε) : ∃ (m : Multiset Event) (b : ℕ), 0 < demand b01 m b ∧ demand b01 m b < ε ∧ reconstructUnder b01 (fun c => ε < demand b01 m c) m ≠ m := by obtain ⟨r, hr1, hrpos, hrlt⟩ := jcost_arbitrarily_small_positive ε hε refine ⟨{(⟨0, 1, r⟩ : Event)}, 0, ?_, ?_, ?_⟩ · -- demand b01 {⟨0,1,r⟩} 0 = Jcost r have hd : demand b01 {(⟨0, 1, r⟩ : Event)} 0 = Jcost r := by unfold demand internalOf simp [sameBlock, b01, Multiset.filter_singleton, cost_singleton] rw [hd]; exact hrpos · have hd : demand b01 {(⟨0, 1, r⟩ : Event)} 0 = Jcost r := by unfold demand internalOf simp [sameBlock, b01, Multiset.filter_singleton, cost_singleton] rw [hd]; exact hrlt · -- the epsilon-rule skips block 0, so reconstruction drops the only posting have hd : demand b01 {(⟨0, 1, r⟩ : Event)} 0 = Jcost r := by unfold demand internalOf simp [sameBlock, b01, Multiset.filter_singleton, cost_singleton] have hnotsel : ¬ (ε < demand b01 {(⟨0, 1, r⟩ : Event)} 0) := by rw [hd]; linarith -- reconstructUnder = crossOf (empty) + internal filtered by a false predicate = 0 have hrecon : reconstructUnder b01 (fun c => ε < demand b01 {(⟨0, 1, r⟩ : Event)} c) {(⟨0, 1, r⟩ : Event)} = 0 := by unfold reconstructUnder crossOf internalOf simp [sameBlock, b01, Multiset.filter_singleton, hnotsel] rw [hrecon] -- 0 ≠ {⟨0,1,r⟩} intro hcontra have : Multiset.card (0 : Multiset Event) = Multiset.card {(⟨0, 1, r⟩ : Event)} := congrArg Multiset.card hcontra simp at thisThe theorem epsilon_unsafe proves this approach is always broken: for any positive ε, there exists a block whose forced internal activity is positive but smaller than ε, so the ε-rule skips it and the reconstruction loses information. epsilon_unsafe · IndisputableMonolith/Cosmology/RefineTrigger.leanTHEOREM jcost_pos · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- A genuine distinction (ratio not one) has strictly positive cost. -/ theorem jcost_pos {x : ℝ} (hx : 0 < x) (hne : x ≠ 1) : 0 < Jcost x := by have hx0 : x ≠ 0 := hx.ne' have key : Jcost x = (x - 1) ^ 2 / (2 * x) := by unfold Jcost; field_simp; ring rw [key] have hsq : 0 < (x - 1) ^ 2 := by have hne' : x - 1 ≠ 0 := sub_ne_zero.mpr hne positivity have hden : 0 < 2 * x := by linarith exact div_pos hsq hdenA genuine distinction, where x differs from 1, always has positive cost. jcost_pos · IndisputableMonolith/Cosmology/RefineTrigger.leanTHEOREM jcost_arbitrarily_small_positive · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- **Forced postings have arbitrarily small positive cost.** For every `ε > 0` there is a ratio above one whose recognition cost is positive but below `ε`. This is why no positive threshold is safe: a forced distinction can sit just under any `ε`. -/ theorem jcost_arbitrarily_small_positive (ε : ℝ) (hε : 0 < ε) : ∃ x : ℝ, 1 < x ∧ 0 < Jcost x ∧ Jcost x < ε := by have hδpos : 0 < min 1 ε := lt_min (by norm_num) hε have hδ1 : min 1 ε ≤ 1 := min_le_left _ _ have hδε : min 1 ε ≤ ε := min_le_right _ _ have hx1 : (1 : ℝ) < 1 + min 1 ε := by linarith have hpos : (0 : ℝ) < 1 + min 1 ε := by linarith have hne0 : (1 + min 1 ε) ≠ 0 := hpos.ne' refine ⟨1 + min 1 ε, hx1, jcost_pos hpos hx1.ne', ?_⟩ have key : Jcost (1 + min 1 ε) = (min 1 ε) ^ 2 / (2 * (1 + min 1 ε)) := by unfold Jcost; field_simp; ring rw [key, div_lt_iff₀ (by nlinarith : (0 : ℝ) < 2 * (1 + min 1 ε))] nlinarith [hδpos, hδ1, hδε, hε, mul_nonneg hδpos.le (by linarith : (0 : ℝ) ≤ 1 - min 1 ε), mul_pos hε hδpos]The cost can be made arbitrarily small by choosing a ratio close to 1, so no matter how small a positive ε you pick, a forced posting can slip below it. jcost_arbitrarily_small_positive · IndisputableMonolith/Cosmology/RefineTrigger.leanTHEOREM lossless_iff · lossless_law · descendLaw_necessary · IndisputableMonolith/Cosmology/RefineTrigger.lean
/-- **The descent set is forced.** Refining only the blocks in `D` is lossless if and only if `D` covers every block that carries an internal posting. There is no tunable slack: lossless reconstruction requires descending exactly the active blocks. -/ theorem lossless_iff (block : ℕ → ℕ) (D : ℕ → Prop) [DecidablePred D] (m : Multiset Event) : reconstructUnder block D m = m ↔ ∀ e ∈ internalOf block m, D (block e.source) := by unfold reconstructUnder rw [← Multiset.filter_eq_self] constructor · intro h have h2 : crossOf block m + (internalOf block m).filter (fun e => D (block e.source)) = crossOf block m + internalOf block m := by rw [h]; exact (cross_add_internal block m).symm exact add_left_cancel h2 · intro h rw [h] exact cross_add_internal block m/-- **The law-given rule is lossless.** Descending exactly the active blocks reconstructs the cell with zero loss. -/ theorem lossless_law (block : ℕ → ℕ) (m : Multiset Event) : reconstructUnder block (descendLaw block m) m = m := by rw [lossless_iff] intro e he exact Multiset.mem_map.mpr ⟨e, he, rfl⟩/-- **The law-given rule is minimal.** Any lossless decision must descend every active block; you cannot skip a block that carries a posting. -/ theorem descendLaw_necessary (block : ℕ → ℕ) (D : ℕ → Prop) [DecidablePred D] (m : Multiset Event) (h : reconstructUnder block D m = m) : ∀ b, descendLaw block m b → D b := by intro b hb obtain ⟨e, he, hbe⟩ := Multiset.mem_map.mp hb have hD := (lossless_iff block D m).mp h e he rwa [hbe] at hDThe library also shows that lossless reconstruction forces the descent set to be exactly the active blocks, and that the law-given rule of descending exactly those blocks is both lossless and minimal. lossless_iff · lossless_law · descendLaw_necessary · IndisputableMonolith/Cosmology/RefineTrigger.lean