diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-08-21 08:39:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-21 08:39:25 -0500 |
commit | 971a6ac1ccdeb52572565b6b47afedb9eccb7833 (patch) | |
tree | 119b7a9cb0e174daf4d730165c6476330972d534 /src/theory/theory_engine.cpp | |
parent | 01a9d18f2b2ce20cf7a0672a865cf0c2873d6f6a (diff) |
Remove BV equality slicer (#4928)
This class is not used based on our coverage tests (although it appears to be possibly enabled based on non-standard runtime checking of assertions), and uses the equality engine in a highly nonstandard way that will be a burden to the new standardization of equality engine in theory solvers.
FYI @aniemetz @mpreiner
Diffstat (limited to 'src/theory/theory_engine.cpp')
-rw-r--r-- | src/theory/theory_engine.cpp | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/theory/theory_engine.cpp b/src/theory/theory_engine.cpp index f8694e760..7431b26e4 100644 --- a/src/theory/theory_engine.cpp +++ b/src/theory/theory_engine.cpp @@ -1777,50 +1777,6 @@ void TheoryEngine::conflict(TNode conflict, TheoryId theoryId) { }); } -void TheoryEngine::staticInitializeBVOptions( - const std::vector<Node>& assertions) -{ - bool useSlicer = true; - if (options::bitvectorEqualitySlicer() == options::BvSlicerMode::ON) - { - if (!d_logicInfo.isPure(theory::THEORY_BV) || d_logicInfo.isQuantified()) - throw ModalException( - "Slicer currently only supports pure QF_BV formulas. Use " - "--bv-eq-slicer=off"); - if (options::incrementalSolving()) - throw ModalException( - "Slicer does not currently support incremental mode. Use " - "--bv-eq-slicer=off"); - if (options::produceModels()) - throw ModalException( - "Slicer does not currently support model generation. Use " - "--bv-eq-slicer=off"); - } - else if (options::bitvectorEqualitySlicer() == options::BvSlicerMode::OFF) - { - return; - } - else if (options::bitvectorEqualitySlicer() == options::BvSlicerMode::AUTO) - { - if ((!d_logicInfo.isPure(theory::THEORY_BV) || d_logicInfo.isQuantified()) - || options::incrementalSolving() - || options::produceModels()) - return; - - bv::utils::TNodeBoolMap cache; - for (unsigned i = 0; i < assertions.size(); ++i) - { - useSlicer = useSlicer && bv::utils::isCoreTerm(assertions[i], cache); - } - } - - if (useSlicer) - { - bv::TheoryBV* bv_theory = (bv::TheoryBV*)d_theoryTable[THEORY_BV]; - bv_theory->enableCoreTheorySlicer(); - } -} - SharedTermsDatabase* TheoryEngine::getSharedTermsDatabase() { return &d_sharedTerms; |