Skip to content

Buechi: identify special cases where reachability is sufficient #1224

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 7, 2025

Conversation

kroening
Copy link
Member

@kroening kroening commented Aug 6, 2025

This adds treatment for the special case where all nonaccepting states of the Buechi automaton have an unconditional self-loop.

In this case, when these nonaccepting states is reached, the trace cannot be extended to an accepting trace, and will hence be rejected.

Hence, in this case, the Buechi acceptance condition is unnecessary, and a simple reachability property is sufficient.

@kroening kroening force-pushed the safety-only-Buechi branch 6 times, most recently from 5e8df40 to 8250fc5 Compare August 7, 2025 18:17
This adds treatment for the special case where all nonaccepting states of
the Buechi automaton have an unconditional self-loop.

In this case, when these nonaccepting states is reached, the trace cannot be
extended to an accepting trace, and will hence be rejected.

Hence, in this case, the Buechi acceptance condition is unnecessary, and a
simple reachability property is sufficient.

Among the 74 tests in regression/ebmc-spot/sva-buechi, only 3 require the
Büchi acceptance condition with this change applied.
@kroening kroening force-pushed the safety-only-Buechi branch from 8250fc5 to 28e4383 Compare August 7, 2025 18:31
@kroening kroening marked this pull request as ready for review August 7, 2025 20:08
@kroening kroening merged commit eab8af4 into main Aug 7, 2025
11 checks passed
@kroening kroening deleted the safety-only-Buechi branch August 7, 2025 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants