Partial Quantifier Elimination With Learning
We consider a modification of the Quantifier Elimination (QE) problem called Partial QE (PQE). In PQE, only a small part of the formula is taken out of the scope of quantifiers. The appeal of PQE is that many verification problems, e.g. equivalence checking and model checking, reduce to PQE and the latter is much easier to solve than complete QE. Earlier, we introduced a PQE algorithm based on the machinery of D-sequents. A D-sequent is a record stating that a clause is redundant in a quantified CNF formula in a specified subspace. To make this algorithm efficient, it is important to reuse learned D-sequents. However, reusing D-sequents is not as easy as conflict clauses in SAT-solvers because redundancy is a structural rather than a semantic property. (So, a clause is redundant only in some subset of logically equivalent CNF formulas.) We address this problem by introducing a modified definition of D-sequents that facilitates their safe reusing. We also present a new PQE algorithm that proves redundancy of target clauses one by one rather than all at once as in the previous PQE algorithm. We experimentally show the improved performance of this algorithm. We demonstrate that reusing D-sequents makes the new PQE algorithm even more powerful.
READ FULL TEXT