summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/theory/datatypes/theory_datatypes.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/theory/datatypes/theory_datatypes.cpp b/src/theory/datatypes/theory_datatypes.cpp
index 9d3b5a143..45787ee04 100644
--- a/src/theory/datatypes/theory_datatypes.cpp
+++ b/src/theory/datatypes/theory_datatypes.cpp
@@ -1562,11 +1562,15 @@ void TheoryDatatypes::instantiate( EqcInfo* eqc, Node n ){
// may contribute to conflicts due to cardinality (good examples of this are
// regress0/datatypes/dt-param-card4-bool-sat.smt2 and
// regress0/datatypes/list-bool.smt2).
- bool forceLemma = true;
+ bool forceLemma;
if (options::dtPoliteOptimize())
{
forceLemma = dt[index].hasFiniteExternalArgType(ttn);
}
+ else
+ {
+ forceLemma = dt.involvesExternalType();
+ }
Trace("datatypes-infer-debug") << "DtInstantiate : " << eqc << " " << eq
<< " forceLemma = " << forceLemma << std::endl;
d_im.addPendingInference(eq, InferenceId::DATATYPES_INST, exp, forceLemma);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback