summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers_engine.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-03-01 16:29:14 -0600
committerajreynol <andrew.j.reynolds@gmail.com>2016-03-01 16:29:14 -0600
commit811834a6aeab1e055b0417eaf988fc682e74e65a (patch)
tree0c9067c163a4c09faf7e10493124abedf63436fc /src/theory/quantifiers_engine.cpp
parent8dc28ec4709b847a995d57bc39b8bfbaf7c5a344 (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.cpp7
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 );
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback