我想在JML中这样做:
//@ requires (\forall int i : array[i] < array[i+1])
void calculatesDistances(int[] array){
..
}
我无法使其工作,在JML规范中看到了很多例子,但找不到如何做的方法。
那么,我该怎么做呢?
答案 0 :(得分:1)
一种方法是使用暗示来“防范”无意义的数组值:
(\forall int i; (i >= 0 && i < array.length-1) ==> (array[i] < array[i+1]))
使用\forall
的更新语法,我相信你也可以写:
(\forall int i; (i >= 0 && i < array.length-1) ; (array[i] < array[i+1]))
其中(i >= 0 && i < array.length-1)
是范围表达式。