structure
definition
RecognitionStructure
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Chain on GitHub at line 6.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
Chain -
U -
RecognitionStructure -
for -
Chain -
RecognitionStructure -
U -
Chain -
RecognitionStructure -
RecognitionStructure
used by
-
AtomicTick -
Chain -
Ledger -
cost_to_recognition_bridge -
recognition_forcing_complete -
recognition_from_extraction -
RecognitionStructure -
recognition_unique -
AccountRS -
Reaches -
Kin -
Pot -
AtomicTick -
Chain -
Ledger -
Ledger -
M -
RecognitionStructure -
M -
SimpleStructure -
chainFlux -
chainFlux_zero_of_balanced -
phi -
RecognitionStructure -
T2_atomicity -
DerivationChain -
MPForcesLedger -
RecognitionStructure -
recognition_structure_nonempty
formal source
3namespace IndisputableMonolith
4
5/-- Minimal RecognitionStructure stub for standalone compilation -/
6structure RecognitionStructure where
7 U : Type
8 R : U → U → Prop
9
10/-- Chain structure with minimal axioms for standalone compilation -/
11structure Chain (M : RecognitionStructure) where
12 n : Nat
13 f : Fin (n+1) → M.U
14 ok : ∀ i : Fin n, M.R (f i.castSucc) (f i.succ)
15
16namespace Chain
17
18variable {M : RecognitionStructure} (ch : Chain M)
19
20def head : M.U := by
21 have hpos : 0 < ch.n + 1 := Nat.succ_pos _
22 exact ch.f ⟨0, hpos⟩
23
24def last : M.U := by
25 have hlt : ch.n < ch.n + 1 := Nat.lt_succ_self _
26 exact ch.f ⟨ch.n, hlt⟩
27
28end Chain
29
30class AtomicTick (M : RecognitionStructure) where
31 postedAt : Nat → M.U → Prop
32 unique_post : ∀ t : Nat, ∃! u : M.U, postedAt t u
33
34structure Ledger (M : RecognitionStructure) where
35 debit : M.U → ℤ
36 credit : M.U → ℤ