Dafny - 在if语句中调用方法?

时间:2015-12-01 09:22:37

标签: if-statement dafny

与标题一样,我想调用一个方法来修改另一个方法的if语句中的一些变量,例如:

method A
...
{
    ... // Modifies some variables
}

method B
...
{
    ...
    if(statement){
        A();
    }
    ...
}

这不起作用,因为Dafny不允许以这种方式调用非ghost方法。这个问题的解决方法是什么?

1 个答案:

答案 0 :(得分:1)

想出来,可以将它转换为临时bool变量,然后在表达式中使用bool变量:

    ...
var boolean:bool;
boolean := expression();
is(boolean){
    ...
}
    ...