Model checking 在模型中满足LTL公式

Model checking 在模型中满足LTL公式,model-checking,nusmv,Model Checking,Nusmv,IsAG(~q∨ Fp)LTL公式是否满足以下模型?为什么 型号?首先AG(~q∨ Fp)不是一个LTL公式,因为操作符AG不属于LTL。我猜你的意思是G(~qvfp) 建模:让我们用NuSMV对系统进行编码: MODULE main () VAR state : { S0, S1, S2, S3 }; p : boolean; q : boolean; ASSIGN init(state) := S0; next(state) := case state = S

Is
AG(~q∨ Fp)
LTL公式是否满足以下模型?为什么

型号?

首先
AG(~q∨ Fp)
不是一个LTL公式,因为操作符
AG
不属于LTL。我猜你的意思是
G(~qvfp)


建模:让我们用NuSMV对系统进行编码

MODULE main ()
VAR
  state : { S0, S1, S2, S3 };
  p : boolean;
  q : boolean;

ASSIGN
  init(state) := S0;
  next(state) := case
    state = S0 : {S1, S2};
    state = S1 : {S0, S3};
    state = S2 : {S0};
    state = S3 : {S3};
  esac;

INVAR state = S0 <-> (!p & !q);
INVAR state = S1 <-> ( p &  q);
INVAR state = S2 <-> (!p &  q);
INVAR state = S3 <-> ( p & !q);


LTLSPEC G(!q | F p)
modulemain()
变量
状态:{S0,S1,S2,S3};
p:布尔型;
q:布尔型;
分配
初始(状态):=S0;
下一个(州):=案例
state=S0:{S1,S2};
状态=S1:{S0,S3};
state=S2:{S0};
state=S3:{S3};
以撒;
因瓦状态=S0(!p&!q);
因瓦状态=S1(p&q);
因瓦状态=S2(!p&q);
因瓦状态=S3(p&!q);
LTLSPEC G(!q | F p)
并验证它:

~$ NuSMV -int
NuSMV > reset; read_model -i f.smv; go; check_property
-- specification  G (!q |  F p)  is false
-- as demonstrated by the following execution sequence
Trace Description: LTL Counterexample 
Trace Type: Counterexample 
-- Loop starts here
-> State: 2.1 <-
  state = S0
  p = FALSE
  q = FALSE
-> State: 2.2 <-
  state = S2
  q = TRUE
-> State: 2.3 <-
  state = S0
  q = FALSE
~$NuSMV-int
NuSMV>reset;read_模型-i f.smv;去;检查属性
--规范G(!q | F p)为假
--如下面的执行顺序所示
跟踪描述:LTL反例
跟踪类型:反例
--循环从这里开始

->状态:2.1状态:2.2状态:2.3不要依赖于连接链接。当链接断开时,这个问题就会变得糟糕。在问题中写出要点。或者,如果这是一张图片,请将其贴在右边。这不是怎么做的it@Aminah谢谢,我改了。非常感谢。