- Sanitize sort names: Option(NodeId) → Option_NodeId - Emit action transition predicates only for verify/BMC mode - Handle -> implication operator in translateExpr - Fleshed out KRaft invariant bodies (4/6 now have real expressions) - ToggleSwitch: clean sat with model - TigerBeetleLedger: sat with model - KafkaKRaft: sat with model - All 37 tests pass
19 lines
359 B
Text
19 lines
359 B
Text
; SpeckDL: ToggleSwitch — Z3 Verification
|
|
; Generated by speckl-compile Z3 backend
|
|
; Bounded model checking depth: 10
|
|
|
|
(set-logic ALL)
|
|
(set-option :produce-models true)
|
|
|
|
; --- State Variables ---
|
|
(declare-const isOn Bool)
|
|
|
|
; --- Invariants ---
|
|
(define-fun SwitchConsistent () Bool
|
|
(and
|
|
(or (= isOn true) (= isOn false))
|
|
)
|
|
)
|
|
|
|
(check-sat)
|
|
(get-model)
|