From b78f4be5dac08916e0b189ba99f608a44fa08d5d Mon Sep 17 00:00:00 2001 From: ajreynol Date: Tue, 10 May 2016 15:10:10 -0500 Subject: [PATCH] Fix for --inst-max-level --- src/theory/quantifiers_engine.cpp | 3 +- test/regress/regress0/quantifiers/Makefile.am | 3 +- .../quantifiers/inst-max-level-segf.smt2 | 326 ++++++++++++++++++ 3 files changed, 330 insertions(+), 2 deletions(-) create mode 100644 test/regress/regress0/quantifiers/inst-max-level-segf.smt2 diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp index afb7aeb92..21be4ea4f 100644 --- a/src/theory/quantifiers_engine.cpp +++ b/src/theory/quantifiers_engine.cpp @@ -1093,6 +1093,7 @@ bool QuantifiersEngine::addInstantiation( Node q, std::vector< Node >& terms, bo //construct the lemma Trace("inst-assert") << "(assert " << body << ")" << std::endl; + Node orig_body = body; body = Rewriter::rewrite(body); Node lem = NodeManager::currentNM()->mkNode( kind::OR, q.negate(), body ); lem = Rewriter::rewrite(lem); @@ -1123,7 +1124,7 @@ bool QuantifiersEngine::addInstantiation( Node q, std::vector< Node >& terms, bo } } } - setInstantiationLevelAttr( body, q[1], maxInstLevel+1 ); + setInstantiationLevelAttr( orig_body, q[1], maxInstLevel+1 ); } if( d_curr_effort_level>QEFFORT_CONFLICT && d_curr_effort_level