Anyone knows does Z3 support minimal unsatifiable core? If not, is there any other tool that supports MUC?
Currently, Z3 does not support minimal unsat core, and to best of my knowledge, there is no smt tools supoorts it. You can implement the algorithm by yourself. There are many papers regarding the algorithm.
Related
I have downloaded z3 and find a mini_ic3.py program? I think it is for ic3--an inductive invariant -based formal verification program.
is there some reference paper to recommend for understanding mini_ic3.py in z3 directory
Not much directly describing that particular implementation, I'm afraid. Your best bet is to read through https://theory.stanford.edu/~nikolaj/programmingz3.html#sec-bounded-model-checking
The original IC3 papers themselves would help as well. The following is a great introduction: http://theory.stanford.edu/~arbrad/papers/Understanding_IC3.pdf
I'm a beginner with Z3. I just have tried some of the examples released in Z3 package, and I have no the other experience any more. I am working with a problem about shortest path in a graph. Can I do it by Z3 ? Thanks you all.
You can express such queries in logic, but maybe you can just use a dedicated algorithm (Dijktra or variants) for such problems.
For an introduction to using Z3, take a look at the tutorial linked from
http://rise4fun.com/z3
Can any one suggest equivalent iOS SDK similar to GRG Non-linear solver in Excel ?
Which can be a c/c++ solution and can be easily integrated into iOS i.e to solves non-linear equations similar to EXCEL GRG Non linear Solver.
Please advice.
You can look at RASON which is a JSON based modeling language and REST API. Once you model your problem in RASON format, you can call GRG solver, the exact same solver used in Excel, or choose other non-linear solvers available.
Disclaimer: I used to work at Frontline Systems, the developers of RASON.
In the previous question solve nonlinear constraints, I asked whether z3 could give a sound and complete result when using nlsat solver to handle polynomial constraints on nonlinear real arithmetic. As Taylor answered, the nksat solver is complete and sound.
Z3 supports unsat core extraction when solving constraints on LRA. I want to know that whether
it possible to extract an unsat core when using the nlsat solver? If z3 does not support,
can I implement it on top of z3? A further question is how large problem it can handle.
The solver for non-linear constraints does not support core extraction so you will not be able to retrieve a core directly. You can implement a bisection search (quick-explain) on top of Z3 for a (minimal) core. It will require several calls so it depends on your application if it is going to
be practical.
Do you know is there any smt tool other than Z3 that supports fixpoint?
By fixpoint, I presume you mean solving for Horn clause queries. There are many tools that solve problems of a similar nature, but perhaps not with precisely the same format.
Philippe Suter's Leon tool uses different algorithms and can solve many correctness queries over recursive programs. Andrey Rybalchenko's ARMC tool solves Horn formulas with linear real arithmetic as well. It can also establish termination conditions. CLP systems with tabling should also be amenable to solving queries in a format that is similar to Z3's (both use Horn formulas as their input format). There are also many symbolic model checking solvers that could be used depending on your context.