对不起我的英语,我来自乌克兰)才开始研究旋转系统验证。我们问了以下问题: “以LTL表达下面的形式出现:如果我爱玛莎,我就不能爱大傻”。我无法理解如何做到这一点。这是我得到的: p - 像玛莎 获得的Gp,以[] p的形式表示 代码(虽然我不知道怎么写):
int m = 4;
int d = 5;
proctype lab1(byte a; byte b){
if
:: (a > b) -> printf("%e\n",a)
:: (a < b) -> printf("%e\n",b)
fi
}
init {
run lab1(m, d)
}
ltl la { []m }
我知道这是胡说八道,但我请求你的帮助。
答案 0 :(得分:1)
如果你只需要一个LTL表达'如果我爱玛莎,我就不能爱达莎'那么这可能就够了:
bool i_love_masha;
bool i_love_dasha;
ltl la { i_love_masha -> !i_love_dasha }
然后问题是模型的行为是什么。我猜是这样的:
init {
i_love_masha = true;
i_love_dasha = true; /* should be a violation! */
}
也许这会让你开始。但是,我不确定这是否完全回答了你的问题!