Skip to content

SMV: past LTL operators #1007

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
Feb 24, 2025
Merged

SMV: past LTL operators #1007

merged 1 commit into from
Feb 24, 2025

Conversation

kroening
Copy link
Member

This adds the past LTL operators H, O, S, T, Y, Z to the SMV parser.

@kroening kroening added the SMV label Feb 22, 2025
@kroening kroening marked this pull request as ready for review February 23, 2025 11:21
Comment on lines +75 to +80
bool is_LTL_past(const exprt &expr)
{
auto non_LTL_past_operator = [](const exprt &expr)
{ return is_temporal_operator(expr) && !is_LTL_past_operator(expr); };

return !has_subexpr(expr, non_LTL_past_operator);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is that implemented via negation? This makes is_LTL_PAST(nil_exprt{}) return true?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's desired -- say "true" is CTL, LTL, LTL+past, CTL*, etc.

This adds the past LTL operators H, O, S, T Y, Z to the SMV parser.
@tautschnig tautschnig merged commit 2ae3ac7 into main Feb 24, 2025
8 of 9 checks passed
@tautschnig tautschnig deleted the smv-ltl-past branch February 24, 2025 15:36
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