Covers the pure double-cell data-stack shuffle words from src/word_source/double_words.c. Deliberately scoped to exclude: - 2>R/2R>/2R@: branch on vm->ecw_nesting, a field vm_state doesn't track at all -- needs a model extension first, not attempted here. - S>D/D+/D-/DNEGATE/DABS/DMAX/DMIN/D</D=/D0=/D0</D2*/D2/: depend on cell_t being a fixed-width (64-bit) wrapping integer (explicit unsigned-long carry/borrow arithmetic, bitwise complement with wraparound). StarForth_Base.thy's "cell = int" is unbounded, not fixed-width, so this isn't expressible as currently modeled. Fixing it means deciding whether cell becomes a 64-bit word type everywhere (ripples into all 23 already-verified theories) -- a foundational decision, flagged for later, not made as a side effect of this file. 24 theory files now verify with zero errors.
28 lines
786 B
Plaintext
28 lines
786 B
Plaintext
session "StarForth" = "HOL-Library" +
|
|
description "Formal proofs of StarForth FORTH-79 primitive correctness and physics-loop invariants"
|
|
theories [document = false]
|
|
StarForth_Base
|
|
StarForth_Q48_16
|
|
StarForth_Stack_Words
|
|
StarForth_Double_Words
|
|
StarForth_Arithmetic_Words
|
|
StarForth_Logical_Words
|
|
StarForth_Return_Stack_Words
|
|
StarForth_Memory_Words
|
|
StarForth_Mutex
|
|
StarForth_Transition
|
|
StarForth_Loop1_Heat
|
|
StarForth_Loop2_Window
|
|
StarForth_Loop3_Decay
|
|
StarForth_Loop4_Pipeline
|
|
StarForth_Loop5_WinInf
|
|
StarForth_Loop6_DecayInf
|
|
StarForth_Loop7_Heartrate
|
|
StarForth_Concurrent
|
|
StarForth_Correctness
|
|
ACL_Pin_Monotone
|
|
ACL_Inherit_Clears_Pin
|
|
ACL_TTL_Bounded
|
|
ACL_Emergency_Bypass
|
|
ACL_No_Escalation
|