verificationuppaal

Simple basic verification problem in uppal


I'm struggling with some simple verification. I have automata and value x like this:

automata automata2

When x at the start is different from 0 then E<> x !=0 is satisfied, but when x = 0, then its not satisfied and E<> x == 0 and A<> x == 0 are satisfied. But I would like to get a not satisfied for E<> x !=0 even when x is different from 0 at the start.

What should I change? How does that verify-er works exactly? Empty path, when nothing was executed is a correct path too? And the Set of all possibly paths contains this empty path as well?


Solution

  • The initial state is a state like any other, thus if x is 0 in the initial state, then all paths starting in this state will eventually be in a state where x = 0 holds. If you want to check if x = 0 in any other state, you need to exclude the initial state in the query. For instance E<> x=0 and not line1.S0.