Z3 と組み合わせて OpenJML を試しており、次の値について推論しようとしていdouble
ますfloat
。
class Test {
//@ requires b > 0;
void a(double b) {
}
void b() {
a(2.4);
}
}
OpenJML がAUFLIA
をサポートしていないデフォルトのロジックとして使用していることはすでにわかっていますreals
。私は今使用してAUFNIRA
います。
残念ながら、ツールはこのクラスを証明できません:
→ java -jar openjml.jar -esc -prover z3_4_3 -exec ./z3 Test.java -noInternalSpecs -logic AUFNIRA
Test.java:8: warning: The prover cannot establish an assertion (Precondition: Test.java:3: ) in method b
a(2.4);
^
Test.java:3: warning: Associated declaration: Test.java:8:
//@ requires b > 0;
^
2 warnings
どうしてこれなの?