質問

JMLでそれをしたい:

//@ requires (\forall int i : array[i] < array[i+1])
void calculatesDistances(int[] array){
 ..
}

私はそれを機能させることができず、JML仕様で多くの例を見ましたが、それを行う方法を見つけることができませんでした。

それで、どうすればそれを作ることができますか?

役に立ちましたか?

解決

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) 範囲式です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top