Java JML:如何指定带有新月形元素的数组的要求?

Java JML:如何指定带有新月形元素的数组的要求?,java,specifications,jml,Java,Specifications,Jml,我想在JML中这样做: //@ requires (\forall int i : array[i] < array[i+1]) void calculatesDistances(int[] array){ .. } /@requires(\forall int i:array[i]=0&&i=0&&i

我想在JML中这样做:

//@ requires (\forall int i : array[i] < array[i+1])
void calculatesDistances(int[] array){
 ..
}
/@requires(\forall int i:array[i]
我无法让它工作,在JML规范中看到了很多示例,但找不到一种方法来实现它

那么,我如何才能做到这一点呢?

一种方法是使用蕴涵来“防范”无意义的数组值:

  (\forall int i; (i >= 0 && i < array.length-1) ==> (array[i] < array[i+1]))
其中
(i>=0&&i
是范围表达式。

一种方法是使用含义“保护”无意义数组值:

  (\forall int i; (i >= 0 && i < array.length-1) ==> (array[i] < array[i+1]))
其中
(i>=0&&i
是范围表达式