block_words.c is categorically different from every file covered so far in this sweep: every other word_source file operates on pure per-VM internal state already in vm_state (data_stack/return_stack/memory/dictionary). block_words.c sits on top of a real disk-backed I/O subsystem (block_subsystem.h) plus a per-VM in-memory cache of it (vm->blk_vm_lbn/blk_vm_cbuf/blk_vm_dirty/blk_vm_next), none of which are in vm_state. Only SCR is self-contained (just needs vm->scr_addr, added to vm_state the same way here/ecw_nesting were for earlier files). The other 11 words are deferred for three reasons documented in the theory header: the block-window cache subsystem (a modeling project on the scale of the deferred TIB input subsystem, not a one-word extension), real disk I/O via block_subsystem.h, and recursive vm_interpret()/printf() in LOAD/LIST/ THRU/-->. Noted in passing: blk_vm_evict/blk_vm_flush_all's own comments document a real raw-pointer-lifetime bug (stale C buffer pointers after block- subsystem struct-copy eviction) that was already found and fixed by hand in the C, before this suite ever looked at the file -- not an open issue, just worth recording as prior art for exactly the class of bug this sweep exists to catch. 30 theory files verify with zero errors. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
34 lines
979 B
Plaintext
34 lines
979 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_Mixed_Arithmetic_Words
|
|
StarForth_Logical_Words
|
|
StarForth_Return_Stack_Words
|
|
StarForth_Memory_Words
|
|
StarForth_Dictionary_Words
|
|
StarForth_Dictionary_Manipulation_Words
|
|
StarForth_Control_Words
|
|
StarForth_String_Words
|
|
StarForth_Block_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
|