NuSMV 错误
Error with 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
但从未成功。
问题是您在 CTL 公式.
中使用了 LTL 运算符
在CTL中,你有两种选择来谈论下一个状态:
- AX P : 沿所有输出路径,在下一个状态
P
holds
- EX P : 沿着至少一条出路,在下一个状态
P
持有
看这张图:
附带说明一下,第 6
行存在语法错误,因为您将 Bool
分配给 integer
变量。您可能希望先将 x = 10
更改为 10
,然后更改变量 x
的值域并向该 case ... esac
构造添加一些详尽的条件。
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
但从未成功。
问题是您在 CTL 公式.
中使用了 LTL 运算符在CTL中,你有两种选择来谈论下一个状态:
- AX P : 沿所有输出路径,在下一个状态
P
holds - EX P : 沿着至少一条出路,在下一个状态
P
持有
看这张图:
附带说明一下,第 6
行存在语法错误,因为您将 Bool
分配给 integer
变量。您可能希望先将 x = 10
更改为 10
,然后更改变量 x
的值域并向该 case ... esac
构造添加一些详尽的条件。