Key formal verification 处理三值运算符的关键难点

Key formal verification 处理三值运算符的关键难点,key-formal-verification,Key Formal Verification,我在为一个教学项目玩弄钥匙() 一方面,我很高兴密钥能够轻松地证明以下带jml注释的java代码的正确性 /*@ ensures ((\result == a) || (\result == b)); @ ensures ((\result >= a) && (\result >= b));

我在为一个教学项目玩弄钥匙()

一方面,我很高兴密钥能够轻松地证明以下带jml注释的java代码的正确性

/*@ ensures ((\result == a) || (\result == b));                                                                        
  @ ensures ((\result >= a) && (\result >= b));                                                                        
*/
public int max(int a, int b) {
    if(a <= b)
            return b;
    else
            return a;
}
/*@确保((\result==a)| |(\result==b));
@确保((\result>=a)和(\result>=b));
*/
公共整数最大值(整数a、整数b){
如果(a=a)&(\result>=b));
*/
公共整数最大值(整数a、整数b){

返回(a感谢您签出密钥

使用我的电脑上的2.6.3键,上述示例立即自动验证。 密钥有许多验证引擎依赖的设置。可能其中一些设置使密钥失败

您应该按下“校对搜索策略”面板中的“选择Predef”按钮,然后 再试一次,到时候应该可以了

<>你也可以考虑删除你家中的目录“.KEY”。 目录以完全重置密钥的设置。可能是一些设置 阻止工具成功

希望这有帮助

/*@ ensures ((\result == a) || (\result == b));                                                                        
  @ ensures ((\result >= a) && (\result >= b));                                                                        
*/
public int max(int a, int b) {
    return (a <= b) ? b : a;
}