0

I am using CVC5 in Python and realize that I need something that does the equivalent to the following Z3-Py code:

    t = Tactic("qe")
    phi = Goal()
    phi.add(Exists(var_list, psi))
    phi_qe = t(phi)
    #print(phi_qe)

That is: given a formula phi, a list of variables var_list and a formula psi, containing variables of var_list, I apply quantifier-elimination method t to phi to obtain phi_qe, whenever phi_qe is a simplified formula or True/False.

Is there this kind of t quantifier elimination in CVC5? I mean, I guess the tool uses quantifier elimination for performing sat/unsat queries, but I would like to know if there is such t function call from the API.

In case not, is there such functionality in CVC4?

Theo Deep
  • 666
  • 4
  • 15
  • 1
    Possibly.. I haven't personally used it, but check out: https://cvc5.github.io/docs/cvc5-1.0.2/api/python/base/solver.html?highlight=eliminate#cvc5.Solver.getQuantifierElimination Please report your experiences with it. – alias Dec 05 '22 at 15:35
  • Thanks a lot. I will experiment a bit :)) – Theo Deep Dec 05 '22 at 15:37

0 Answers0