proof/: all 23 Isabelle theory files now verify under Isabelle2025-2

Isabelle toolchain replaced (was genuinely 2011, 14+ years stale) and every
theory file fixed to actually compile -- most had apparently never been
checked under a working Isabelle at all. Fixed the vm_state self-reference
in StarForth_Base.thy properly (word_table is now a free-standing global
constant, not a circular record field), corrected the word_physics_transparent
axiom (was claiming full state equality from mere exec-equivalence, provably
too strong), and worked through 14 years of HOL-Library drift plus several
missing-hypothesis bugs across the physics-loop and ACL theories.

Two genuine (non-tactical) bugs found and left oops-flagged rather than
silently resolved: forth_roll's index arithmetic disagrees with both its own
test lemma and the real C ROLL implementation (three-way inconsistency), and
pm_wf isn't actually preserved by pm_record_hit/pm_record_miss. Both need a
decision, not a proof-script fix.

Full writeup in FABRIC-2.md item 5.2.
This commit is contained in:
Robert Allan James
2026-08-13 12:30:30 -04:00
parent 5787718c30
commit 422ef2fa29
20 changed files with 561 additions and 198 deletions
+4 -2
View File
@@ -86,7 +86,9 @@ lemma hb_shorten_pos:
lemma hb_shorten_preserves_wf:
assumes "hb_state_wf hb"
shows "hb_state_wf (hb_shorten_period delta hb)"
using assms by (simp add: hb_state_wf_def hb_shorten_period_def TICK_MAX_NS_def TICK_MIN_NS_def)
using assms
by (auto simp: hb_state_wf_def hb_shorten_period_def TICK_MAX_NS_def TICK_MIN_NS_def
intro: le_trans[OF diff_le_self])
lemma hb_lengthen_ub:
"hb_tick_target_ns (hb_lengthen_period delta hb) \<le> TICK_MAX_NS"
@@ -95,7 +97,7 @@ lemma hb_lengthen_ub:
lemma hb_lengthen_preserves_pos:
assumes "hb_tick_target_ns hb > 0"
shows "hb_tick_target_ns (hb_lengthen_period delta hb) > 0"
using assms by (simp add: hb_lengthen_period_def)
using assms by (simp add: hb_lengthen_period_def TICK_MAX_NS_def)
lemma hb_lengthen_preserves_wf:
assumes "hb_state_wf hb"