-
Notifications
You must be signed in to change notification settings - Fork 20
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 solvers which provide bindings to parse SMTLib2 #22
Comments
(not answering your question but) this sounds great! Do it, and I'm quite likely to use it. I find managing OS processes for solvers quite error-prone ( #21 ) You'll have to fork anyway, to submit the merge request? I think the alternative is to make a fully separate package (simple-smt-z3). Probably this would still need some change in the base package. (your The The only downside is that such a version of simple-smt would no longer be "simple", then? |
Hi, there, thanks for the offer! I'd be open to such a pull request with the caveat that we should implement it in such a way that it can be disabled---more precisely, it's important to me that you can build I quite like @jwaldmann's suggestion of packing this as a separate package that depends on |
In Z3's API there is a function
Z3_eval_smtlib2_string
which can be used to interact with Z3 using SMTLib2 commands. Using such a binding is noticeably faster than launching Z3 as an external process and communicating with it through pipes.I'm thus considering extending simple-smt to support using specific solvers that have this kind of bindings in their API. I'm thinking of something like having a
with a generic
instance Solver ExternalProcess
for running solvers as external processes and then some more specific ones such asinstance Solver Z3
for using solvers through their SMTLib2-parsing bindings.If I were to make such a PR here, would it be accepted and actively maintained in the future ? Or I am better off forking this project ?
The text was updated successfully, but these errors were encountered: