fix(z3): robust = conversion + SQLite pager spec (DB.2)
Some checks failed
Deploy Landing Page to Storj / deploy (push) Failing after 2s

- Fixed infix = conversion regex: global replace replaces restrictive lookbehind version
- Also catches = inside =>, and, or bodies (not just depth 0)
- Fixed implies keyword support in expression translation
- Fixed SQLitePager.speck: implies→->, string-typed enum comparison fix
- All specs (ToggleSwitch, KafkaKRaft, SQLitePager) produce zero-error SMT-LIB2
- All 37 tests pass
This commit is contained in:
cos Agent 2026-05-10 01:02:00 -07:00 • committed by Scott Scoble
parent c12f40ee7d
commit 0cefe0f694
8 changed files with 24 additions and 14 deletions

View file

@ -1,6 +1,6 @@
; SpeckDL: KafkaKRaft — Z3 Verification
; Generated by speckl-compile Z3 backend
; Bounded model checking depth: 5
; Bounded model checking depth: 10
(set-logic ALL)
(set-option :produce-models true)
@ -31,7 +31,7 @@
; --- Invariants ---
(define-fun ElectionSafety () Bool
(and
(=> (= Leader $3) (> currentTerm 0))
(=> (= state Leader) (> currentTerm 0))
)
)
(define-fun LeaderCompleteness () Bool

View file

@ -4,6 +4,7 @@
(set-logic ALL)
(set-option :produce-models true)
(declare-fun speckl_len_Int ( (Array Int Int) ) Int)
; --- State Variables ---
(declare-const isOn Bool)