Improve pre-skolemization, move quantifiers preprocess to own file (#7153)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 8 Sep 2021 20:54:22 +0000 (15:54 -0500)
committerGitHub <noreply@github.com>
Wed, 8 Sep 2021 20:54:22 +0000 (20:54 +0000)
commit4b0650bfe0c1df81ad3236def912543510932320
tree16ca312b99881bcf36ccf840ab26079d7bafb35c
parent73a9f07321a854f8f9123c3645db5b7cddb827be
Improve pre-skolemization, move quantifiers preprocess to own file (#7153)

This also heavily refactors the preskolemization method (now in QuantifiersPreprocess), in preparation for it being enabled by default. This method previously was doing a tree traversal, it now maintains a visited cache.

It makes minor cleanup to the dependencies of this method.
18 files changed:
src/CMakeLists.txt
src/preprocessing/passes/quantifiers_preprocess.cpp
src/preprocessing/passes/sygus_inference.cpp
src/proof/proof_rule.h
src/smt/env_obj.cpp
src/smt/env_obj.h
src/theory/quantifiers/instantiate.cpp
src/theory/quantifiers/quant_util.cpp
src/theory/quantifiers/quant_util.h
src/theory/quantifiers/quantifiers_preprocess.cpp [new file with mode: 0644]
src/theory/quantifiers/quantifiers_preprocess.h [new file with mode: 0644]
src/theory/quantifiers/quantifiers_registry.cpp
src/theory/quantifiers/quantifiers_registry.h
src/theory/quantifiers/quantifiers_rewriter.cpp
src/theory/quantifiers/quantifiers_rewriter.h
src/theory/quantifiers/skolemize.cpp
src/theory/quantifiers/skolemize.h
src/theory/quantifiers/theory_quantifiers.cpp