A reachable-state safety invariantComplete reachability · 3 states
The problem
Check that every reachable state is in {0, 1, 2}.
The checked result
Safety invariant holds: yes.
Breadth-first exploration reaches exactly 0, 1, and 2. State 3 exists in the model but is unreachable from the initial state.
Why the checker accepts it
- Initialize the frontier with every initial state.
- Follow all transitions, deduplicating visited states.
- Compare the supplied reachable-state certificate with the computed closure.
- Check whether every reachable state lies in the declared safe set.
Formal specification
{
"initial": [
0
],
"transitions": {
"0": [
0,
1
],
"1": [
2
],
"2": [
0
],
"3": [
3
]
},
"safe": [
0,
1,
2
]
}Claim and evidence
{
"claim": {
"invariant_holds": true
},
"witness": {
"reachable": [
0,
1,
2
]
}
}Dataset construction
Deterministic finite fixture; full enumeration or witness replay as stated. Structured JSON; field meanings are stated in the specification. Acceptance covers 3 checker units for this record; the unit type is stated in its verification scope.
Complexity and limits
Breadth-first exploration is O(V+E) for an explicit finite graph; implicit system state spaces can grow exponentially.
Safety for this finite transition system only; no fairness, liveness, or real-device behavior claim.
A boundary to investigate
Ignoring an enabled transition can make an unsafe system appear safe. Add counterexample paths, temporal properties, and fairness-aware liveness checks.