Skip to content
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

Runs in actions work but are not model-checkable #1576

Open
bugarela opened this issue Dec 23, 2024 · 0 comments
Open

Runs in actions work but are not model-checkable #1576

bugarela opened this issue Dec 23, 2024 · 0 comments

Comments

@bugarela
Copy link
Collaborator

As the effect system still doesn't implement runs (related to #450), it is possible to define things like:

action init = initialize.then(setup).then(confirm)

action step = sendMessage.then(receiveMessage)

These work fine in the simulator, but won't be model-checkable as neither Apalache nor TLC support the cdot operator for action composition.

However, it turns out these are useful and we should probably not disallow them completely. Perhaps we should show some sort of warning + info on how to convert it into separate actions. Perhaps we can "inline" action composition with auxiliary state vars to make this work with the model checkers without extra action from the user - afterall, TLA+ does define the cdot and we'd have formal semantics for it.

@bugarela bugarela mentioned this issue Dec 23, 2024
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant