IndisputableMonolith.VM.Commit
IndisputableMonolith/VM/Commit.lean · 29 lines · 4 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.LNAL.Opcodes
3import IndisputableMonolith.LNAL.Registers
4import IndisputableMonolith.VM.State
5
6namespace IndisputableMonolith.VM
7
8open IndisputableMonolith
9open IndisputableMonolith.LNAL
10
11/-- Predicate witnessing a conservative COMMIT boundary under the v2 flag. -/
12def commitEvent (s : LState) : Bool :=
13 enableV2Certs && s.winJ ≤ s.winJPrev
14
15/-- Mock program used for cycle evaluation examples. -/
16@[simp] def mockProgram : LProgram := fun _ => { op := Opcode.BALANCE }
17
18/-- Baseline augmented state for examples. -/
19@[simp] def mockState : LState := LState.init Reg6.zero Aux5.zero
20
21/-- Smoke-test cycle demonstration for tooling. -/
22def cycleReport : String :=
23 let final := lCycle mockProgram mockState
24 s!"cycle windowIdx={final.windowIdx}, winJ={final.winJ}, commit={commitEvent final}"
25
26#eval cycleReport
27
28end IndisputableMonolith.VM
29