-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding dReal to JavaSMT #313 #328
base: master
Are you sure you want to change the base?
Conversation
…umeralFormulaManager
…that it does not use optional
Proposal for integrating trigonometric functions:dReal does support trigonometric functions. Trigonometric functions are not supported in JavaSMT, but this could be implemented in RationalFormula. Other solvers do support them as well, like Z3.
|
…d not have been included.
…ding-dreal-to-javasmt # Conflicts: # src/org/sosy_lab/java_smt/test/BooleanFormulaSubjectTest.java # src/org/sosy_lab/java_smt/test/NonLinearArithmeticTest.java # src/org/sosy_lab/java_smt/test/NumeralFormulaManagerTest.java # src/org/sosy_lab/java_smt/test/ProverEnvironmentTest.java # src/org/sosy_lab/java_smt/test/SolverBasedTest0.java # src/org/sosy_lab/java_smt/test/SolverConcurrencyTest.java # src/org/sosy_lab/java_smt/test/SolverStackTest.java # src/org/sosy_lab/java_smt/test/SolverTheoriesTest.java
… to its superclass AbstractProver.
…s to be an issue with Expression.getVariables, which was patched into the SWIG code. I've added a workaround for now, but the proper way to do it would be to add a SWIG script and recreate the bindings from there.
I've just added a build script for packaging the dReal solver backend. It is still quite basic and will only repackage the binaries that are povided by the dReal team. Building the project ourselves is quite involved as it depends on libibex and the build tool bazel, neither of which is available in the Ubuntu repositories. They can be installed from ppa, but this still requires root access. Also note that the library does have quite a few dependencies that will have to be installed locally:
@baierd Could you upload the binaries, please? |
Integrating dReal to JavaSMT.
Problems with dReal:
x_1 != x_2 && x_1 < 1 && x_2 < 1 && 0 <= x_1 && 0 <= x_2
should be unsatisfiable, but it is not (see Issue)modularCongruence()
inIntegerFormulaManager
is not always correct, because integer division is used.