NuSMV出错

时间:2017-04-06 03:28:57

标签: syntax-error nusmv

MODULE main
VAR
    x : 0 .. 2;
ASSIGN
    init (x) := 2;
    next (x) :=
        case
            x = 2 : x = 10;
        esac;
SPEC AG x = 2 -> AG X x = 20

at token "X": syntax error - 为什么语法错误?

我尝试使用关键字X,但从未成功过。

1 个答案:

答案 0 :(得分:2)

问题是您在 CTL公式中使用 LTL运算符

CTL 中,您有两种选择来讨论下一个状态:

  • AX P :沿着所有传出路径,在下一个状态P成立
  • EX P :沿着至少一个传出路径,在下一个状态P成立

看到这张图片:

enter image description here

作为旁注,您在6行上有语法错误,因为您要为Bool变量分配integer。您可能希望先将x = 10更改为10,然后更改变量x的值域,并为该case ... esac构造添加一些详尽的条件。