feat(compiler): Z3 SMT-LIB2 verification backend (speckl#21)
- New generator: compiler/src/generators/z3.ts (1,034 lines) - Translates SpeckDL state → Z3 sort declarations - Translates invariants → Z3 define-fun returning Bool - Translates actions → Z3 transition predicates (enabled + step) - BMC unrolling with --verify-depth=N (default: 10) - CLI: --target=z3 or --target=all - ToggleSwitch and TigerBeetleLedger generate valid SMT-LIB2 - KafkaKRaft spec generates valid SMT-LIB2 structure - Complex forall/set expressions emit 'true' as placeholders (to be improved) - All 41 existing tests still pass This unblocks M1.2 (KRaft verification), M3.2 (Show HN), and M4.3 (OAuth verification).
This commit is contained in:
parent
582ef92586
commit
6c6daaf90f
14 changed files with 4787 additions and 49 deletions
|
|
@ -12,7 +12,7 @@
|
|||
"@type": "prov:Generation",
|
||||
"prov:activity": {
|
||||
"@type": "prov:Activity",
|
||||
"prov:startTime": "2026-05-10T05:07:15.423Z"
|
||||
"prov:startTime": "2026-05-10T05:28:00.665Z"
|
||||
}
|
||||
},
|
||||
"rdfs:label": "RetryHandler",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue