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

[BUG] Bug in the assignment finder #476

Closed
konnov opened this issue Jan 22, 2021 · 3 comments
Closed

[BUG] Bug in the assignment finder #476

konnov opened this issue Jan 22, 2021 · 3 comments
Assignees
Labels

Comments

@konnov
Copy link
Collaborator

konnov commented Jan 22, 2021

See #468. Use the following spec instead:

\*SPECIFICATION Spec
INIT Init
NEXT Next

INVARIANT AllValuesEqual

CONSTANTS
    MAX_TIMESTAMP = 3
    KEYS = {key}
    VALUES = {value}
    N_NODES = 2

PROPERTIES
    EventuallyConsistent

The transition pass fails as follows:

PASS #8: TransitionFinderPass                                     I@22:14:43.403
  > Found 1 initializing transitions                              I@22:14:43.433
To understand the error, read the manual:                         I@22:14:43.439
  [https://apalache.informal.systems/docs/apalache/principles.html#assignments] I@22:14:43.439
Assignment error: crdt.tla:36:3-37:45: timestamp' is used before it is assigned. See https://apalache.informal.systems/docs/apalache/principles.html#assignments E@22:14:43.440
@konnov konnov added the bug label Jan 22, 2021
@konnov konnov added this to the January iteration milestone Jan 22, 2021
@Kukovec
Copy link
Collaborator

Kukovec commented Jan 22, 2021

Not a bug in the assignment solver as such. The underlying cause for this seems to be the syntax

\E <<a,b>> \in S \X T : p

The Desugarer should rewrite this into \E a \in S : \E b \in T : p

@Kukovec Kukovec assigned konnov and unassigned Kukovec Jan 22, 2021
@konnov
Copy link
Collaborator Author

konnov commented Jan 22, 2021

Let's fix it at the level of Desugarer

@konnov
Copy link
Collaborator Author

konnov commented Jan 25, 2021

The fix is merged now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants