Closed xiedingbao closed 8 years ago
@xiedingbao, the first method using push/pop should work but it has some problem in the implementation. I'll let you know when I fix that.
How about the third method? It's the basic way to solve my problem. But I don't know how to clear the constraints in the model. Could you explain the usage of the API opensmt_reset?
I think it should work, but it should be much slower than the first method. Anyway, I plan to fix the push/pop problem, so please allow me some time, then I'll get back to you with a fix.
@xiedingbao, please try the latest version and check push
/pop
work as expected. If you find an unexpected result, please share the test case(s).
Suppose I have a a set of constraints and want to check the satisfication of its subset repeatedly until get an expected result. From my experience using z3, I can think of three ways to do that, but not sure whether dreal3 supports them.
have tested the code with drel3, seems incorrect.
I get a seg fault when doing opensmt_mk_and_2 multiple times. opensmt's api is different from z3...
After a quick try, the code does not work, because I can't clear the constraints in the context before starting a new check.