Encyclopedia Foundation Foundation Ledger Time Past Addressable
ARTICLE 3 claims 3 theorems
Foundation Ledger Time Past Addressable
In the Recognition Science framework, the past is not a memory but an immutable record: once an event is committed, no later event can change it.
The fixed past
The past is a record that cannot be rewritten. In the Recognition Science framework, time is kept as a ledger, a discrete record of events that only ever grows by appending new entries. The declaration past_addressable states a structural fact about this record: if you look at any earlier position in the ledger after a new event has been added, you read exactly the same value as before. The old entry is still there, unchanged, at the same index. This is a theorem, proved in the framework's machine-checked library of formal theorems, and it holds for any ledger whatsoever, no matter what the entries represent.
The theorem is a formalization of a simple idea: appending to a list does not alter the elements already in it. In the framework's notation, if a ledger l has a new entry e committed to it, then for any position i that was already in the old ledger, the value at position i in the new ledger equals the value at position i in the old one. The write-head, the index of the present moment, advances by exactly one with each commit, and the set of possible future states never shrinks. These are the companion facts that together define what it means for time to have a fixed, readable past and an open future.
The recognition tick itself is invertible, meaning it is time-symmetric. The asymmetry between a past that is settled and a future that is not comes not from the tick but from the ledger structure. This is a modeling choice, not a theorem about physics: the framework chooses to identify recognition events with ledger entries, and the admissible continuation set with the J-admissible states. That identification is argued in the companion paper, not in the formal library.
What the theorem does not claim is that the ledger is a physical object, or that time itself is a list. The theorem is abstract: it applies to any list of entries. The framework's step from this abstract structure to the physical world is a definitional choice, not a proved result. The past is fixed in the ledger, but whether the ledger is the right picture of time is a question the framework poses, not one it settles with this declaration.
This matters because it gives a precise, checkable meaning to the idea that the past cannot be changed. In the framework, that claim is not a metaphor or a philosophical stance; it is a theorem about a data structure. The cost of this precision is that the theorem's reach is limited to the structure it describes. The past is immutable in the ledger, and that is all the theorem says.
THEOREM past_addressable · IndisputableMonolith/Foundation/LedgerTime.lean
/-- **Past addressability.** Every committed past index reads the same value after
a new commit: the past is read-only and addressable by index.
Strategy: `unfold commit; exact List.getElem?_append_left hi` (find the exact
`getElem?_append` lemma for the index-in-left-segment case via the premises). -/
theorem past_addressable (l : List E) (e : E) (i : ℕ) (hi : i < l.length) :
(commit l e)[i]? = l[i]? := by
unfold commit; rw [List.getElem?_append_left hi]
THEOREM writeHead_advances · IndisputableMonolith/Foundation/LedgerTime.lean
/-- **Write-head advance.** The present index moves forward by exactly one per
commit.
Strategy: `simp [writeHead, commit, List.length_append]`. -/
theorem writeHead_advances (l : List E) (e : E) :
writeHead (commit l e) = writeHead l + 1 := by
unfold writeHead commit; simp
THEOREM cone_card_monotone · IndisputableMonolith/Foundation/LedgerTime.lean
/-- **Admissible count nondecreasing.** The number of admissible states is
nondecreasing in horizon.
Strategy: `exact Finset.card_le_card (cone_grows next S)`. -/
theorem cone_card_monotone (next : E → Finset E) (S : Finset E) :
S.card ≤ (coneStep next S).card := by
exact Finset.card_le_card (cone_grows next S)
What this page does not claim
The ledger is a physical object or that time itself is a list. The identification of ledger entries with recognition events is proved in the library. The past is immutable in any sense beyond the ledger structure.
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/Foundation/LedgerTime.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 process, if any, corresponds to a commit in the ledger?
- How does the ledger structure relate to the invertible recognition tick?
- Can the ledger model be extended to continuous time?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM past_addressable · IndisputableMonolith/Foundation/LedgerTime.lean
/-- **Past addressability.** Every committed past index reads the same value after a new commit: the past is read-only and addressable by index. Strategy: `unfold commit; exact List.getElem?_append_left hi` (find the exact `getElem?_append` lemma for the index-in-left-segment case via the premises). -/ theorem past_addressable (l : List E) (e : E) (i : ℕ) (hi : i < l.length) : (commit l e)[i]? = l[i]? := by unfold commit; rw [List.getElem?_append_left hi]The declaration past_addressable states that if you look at any earlier position in the ledger after a new event has been added, you read exactly the same value as before. past_addressable · IndisputableMonolith/Foundation/LedgerTime.leanTHEOREM writeHead_advances · IndisputableMonolith/Foundation/LedgerTime.lean
/-- **Write-head advance.** The present index moves forward by exactly one per commit. Strategy: `simp [writeHead, commit, List.length_append]`. -/ theorem writeHead_advances (l : List E) (e : E) : writeHead (commit l e) = writeHead l + 1 := by unfold writeHead commit; simpThe write-head, the index of the present moment, advances by exactly one with each commit. writeHead_advances · IndisputableMonolith/Foundation/LedgerTime.leanTHEOREM cone_card_monotone · IndisputableMonolith/Foundation/LedgerTime.lean
/-- **Admissible count nondecreasing.** The number of admissible states is nondecreasing in horizon. Strategy: `exact Finset.card_le_card (cone_grows next S)`. -/ theorem cone_card_monotone (next : E → Finset E) (S : Finset E) : S.card ≤ (coneStep next S).card := by exact Finset.card_le_card (cone_grows next S)The set of possible future states never shrinks. cone_card_monotone · IndisputableMonolith/Foundation/LedgerTime.lean