Adding STP solver @GSoC 2019
So far this is the progress made on adding STP solver to java-smt:
- Create a Build Script which can automatically:
- Clone and Build STP,
- Generate the java bindings and compile if a Jar (so we a Jar and .so)
- Copy the Jar and .so files to appropriate folder inside the java-smt
- Extend the STP's C interface, to support some needed functions like (UNSAT, GetModel, etc)
- Create SolverContext class
- Create FormulaManager class
- Create FormulaCreator class
- Create classes for supported Formulae/Thoeries and their Managers
- Create classes for the Theorem Prover (not fully implemented)
- Create Model class (not fully implemented)
TODO: (I will like to continue with this after GSoC)
- [ ] Complete the extension of STP api to support needed functions
- [ ] UNSAT (the current implementation is a hack)
- [ ] Figure out how to get an array of Models out of STP and not string
- [ ] Maybe a better way to fully merge the C++ interface into the C interface
- [ ] A better error handling
- [ ] Test Array Formula creation
- [ ] Fully implement the glue code for proving SAT/UNSAT
- [ ] Fully Implement the Model Class
- [ ] Documentation