Z3.jl icon indicating copy to clipboard operation
Z3.jl copied to clipboard

Missing `ForAll` and `Exists`

Open dpsanders opened this issue 3 years ago • 3 comments

I need to use quantified statements that include ForAll and Exists, but these seem to be missing currently, as far as I can see?

dpsanders avatar Sep 20 '21 14:09 dpsanders

These need to be added to https://github.com/Z3Prover/z3/blob/master/src/api/julia/z3jl.cpp, which lists types, methods, etc. from the Z3 C++ API which should be exposed in Julia. Apparently formal and exists are still missing there. So what needs to be done is to look at the Z3 C++ API, and add the missing entries to https://github.com/Z3Prover/z3/blob/master/src/api/julia/z3jl.cpp.

Unfortunately, my time is too limited right now to do it myself. PRs are very welcome, and I'll try to help as much as possible! Sorry for not responding earlier!

ahumenberger avatar Apr 03 '22 05:04 ahumenberger

OK thanks, I'll try to do that!

dpsanders avatar Apr 03 '22 14:04 dpsanders

Any progress on this? Would be great functionality to have in place :-)

mlhetland avatar Nov 04 '22 15:11 mlhetland

I exposed exists from the Z3 side and it will be available in the next Z3 release. You can also compile Z3 yourself to use it now, following the instructions here.

remysucre avatar Feb 03 '24 19:02 remysucre

Now you can use exists(ExprVector(ctx, [x, y, z]), e).

remysucre avatar Apr 03 '24 19:04 remysucre