我想用JML做到这一点:
//@ requires (\forall int i : array[i] < array[i+1])
void calculatesDistances(int[] array){
..
}我不能让它工作,在JML规范中看到了很多示例,但找不到一种方法。
那么,我怎么才能做到呢?
发布于 2011-03-23 12:35:02
一种方法是使用隐含来“防范”无意义的数组值:
(\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)是范围表达式。
https://stackoverflow.com/questions/3946545
复制相似问题