Use prenex normal form when using cegqi-nested-qe (#4522)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 3 Jun 2020 01:57:58 +0000 (20:57 -0500)
committerGitHub <noreply@github.com>
Wed, 3 Jun 2020 01:57:58 +0000 (20:57 -0500)
commitbbfb310eba34ae078ee2601c7e5ea2b56dbe1252
tree665707ebb7d940357317594ebf8ca01ff92ba60c
parent6dd4efeea9fa0d9975fcffecd5af03bc081b68e7
Use prenex normal form when using cegqi-nested-qe (#4522)

Previously, we used a specialized variant of prenex normal form that allowed top level disjunctions. However, the method to put quantifiers into this form led to variable shadowing on some benchmarks in SMT-LIB LRA.

This simplifies the code so that we use standard prenex normal form when cegqi-nested-qe is used and deletes the old variant (DISJ_NORMAL).
src/options/quantifiers_options.toml
src/smt/set_defaults.cpp
src/theory/quantifiers/quantifiers_rewriter.cpp
src/theory/quantifiers/quantifiers_rewriter.h