No. There are infinitely many successor states satisfying x'=x+5 (with arbitrary values for y'), and there are infinitely many satisfying y'=y+5 (with arbitrary values for x'). Among all these, there is of course the state satisfying x'=x+5 /\ y'=y+5. However, verifying a specification means analyzing all its possible executions, not just an arbitrary one. One general principle of TLA+ is that nothing is assumed and everything is explicit, so if this is the successor state that you have in mind, you have to define your next-state relation using conjunction. If you intend to model non-deterministic choice between your two actions, you'd typically write Action1 == x' = x+5 /\ y' = y Action2 == y' = y+5 /\ x' = x Next == Action1 \/ Action2 and you can see that the two actions cannot occur simultaneously in any behavior satisfying []Next. But TLA+ lets you structure your specification as you consider it most natural, and it can be perfectly reasonable to have conjunctions of action formulas in a next-state relation. Stephan On 04 Aug 2014, at 14:09, Sidharth Kshatriya <sid.ks...@xxxxxxxxx> wrote:
|