diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2016-03-01 16:29:14 -0600 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2016-03-01 16:29:14 -0600 |
commit | 811834a6aeab1e055b0417eaf988fc682e74e65a (patch) | |
tree | 0c9067c163a4c09faf7e10493124abedf63436fc /src/theory/quantifiers_engine.cpp | |
parent | 8dc28ec4709b847a995d57bc39b8bfbaf7c5a344 (diff) |
Shorter explanations for strings based on tracking which parts of normal forms are dependent upon which equalities. Add anti-skolemization module to quantifiers. Disable rewriting of non-clashing equalities between same constructors.
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r-- | src/theory/quantifiers_engine.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp index 9568966d6..7cda713a1 100644 --- a/src/theory/quantifiers_engine.cpp +++ b/src/theory/quantifiers_engine.cpp @@ -40,6 +40,7 @@ #include "theory/quantifiers/term_database.h" #include "theory/quantifiers/trigger.h" #include "theory/quantifiers/quant_split.h" +#include "theory/quantifiers/anti_skolem.h" #include "theory/theory_engine.h" #include "theory/uf/equality_engine.h" #include "theory/uf/theory_uf.h" @@ -123,6 +124,7 @@ QuantifiersEngine::QuantifiersEngine(context::Context* c, context::UserContext* d_inst_engine = NULL; d_i_cbqi = NULL; d_qsplit = NULL; + d_anti_skolem = NULL; d_model_engine = NULL; d_bint = NULL; d_rr_engine = NULL; @@ -164,6 +166,7 @@ QuantifiersEngine::~QuantifiersEngine(){ delete d_fs; delete d_i_cbqi; delete d_qsplit; + delete d_anti_skolem; } EqualityQueryQuantifiersEngine* QuantifiersEngine::getEqualityQuery() { @@ -245,6 +248,10 @@ void QuantifiersEngine::finishInit(){ d_qsplit = new quantifiers::QuantDSplit( this, c ); d_modules.push_back( d_qsplit ); } + if( options::quantAntiSkolem() ){ + d_anti_skolem = new quantifiers::QuantAntiSkolem( this ); + d_modules.push_back( d_anti_skolem ); + } if( options::quantAlphaEquiv() ){ d_alpha_equiv = new quantifiers::AlphaEquivalence( this ); } |