MODULE 主
IVAR v1:布尔值;
VAR v2:布尔值;
SPEC NAME p1:= AG(v1& v2);
文件ltlerror.smv:第8行:属性包含输入变量:
答案 0 :(得分:1)
在NuSMV 2.6 user manual的第24-25页,写了:
[...]输入变量不能出现在:
[...]
一些规格种类:CTLSPEC,SPEC,INVARSPEC,COMPUTE,PSLSPEC。 例如:
IVAR i : boolean; VAR s : boolean; SPEC AF (i -> s) – this is NOT allowed LTLSPEC F (X i -> s) – this is allowed
解决方法:
使用LTL
:
MODULE main
IVAR
v1 : boolean;
VAR
v2 : boolean;
LTLSPEC NAME p1 := G (v1 & v2);
将v1
声明为普通变量,但将其用作输入变量。为此,请勿对v1
的初始值和未来值施加任何约束,即不要写init(v1) :=
或next(v1) :=
或等效约束。