--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/fbda7721-e8c9-4e09-9239-4a8c4a162496n%40googlegroups.com.
There's two sides to this, what the logic is saying and what TLC does.
What the logic is saying is that for the next-state relations <4, 5>, <1,2>, and <2,3> the action A is true, while for the next-state relations <5,6>, <1, 3>, and <rutabaga, kumquat> the action is false. Since Next == A, only the first set of next state relations are part of the specification.
What TLC actually does is, the first time it encounters a primed value in each state, it uses it as a guide to generate the set of possible states. In all future cases, it treats it as a boolean. So take
A ==
/\ x < 5
/\ \/ x' = x + 1
\/ x' = x - 1
/\ x' > x
Let's say in this state x = 2. Then TLC will first encounter the disjunction and create the possible next state-relations <2, 3> and <2, 1>. Then it will use the x' > x to determine that for <2, 3>, A is true, while for <2, 1> A is false.
H
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/5602a426-d049-4069-9298-e00d257ee3f5n%40googlegroups.com.