summaryrefslogtreecommitdiff
path: root/src/preprocessing/passes/quantifier_macros.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/preprocessing/passes/quantifier_macros.cpp')
-rw-r--r--src/preprocessing/passes/quantifier_macros.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/preprocessing/passes/quantifier_macros.cpp b/src/preprocessing/passes/quantifier_macros.cpp
index 8fea4cbac..604f8719c 100644
--- a/src/preprocessing/passes/quantifier_macros.cpp
+++ b/src/preprocessing/passes/quantifier_macros.cpp
@@ -504,20 +504,21 @@ void QuantifierMacros::finalizeDefinitions() {
if( options::incrementalSolving() || options::produceModels() || doDefs ){
Trace("macros") << "Store as defined functions..." << std::endl;
//also store as defined functions
+ SmtEngine* smt = d_preprocContext->getSmt();
for( std::map< Node, Node >::iterator it = d_macro_defs.begin(); it != d_macro_defs.end(); ++it ){
Trace("macros-def") << "Macro definition for " << it->first << " : " << it->second << std::endl;
Trace("macros-def") << " basis is : ";
std::vector< Node > nargs;
- std::vector< Expr > args;
+ std::vector<Node> args;
for( unsigned i=0; i<d_macro_basis[it->first].size(); i++ ){
Node bv = NodeManager::currentNM()->mkBoundVar( d_macro_basis[it->first][i].getType() );
Trace("macros-def") << d_macro_basis[it->first][i] << " ";
nargs.push_back( bv );
- args.push_back( bv.toExpr() );
+ args.push_back(bv);
}
Trace("macros-def") << std::endl;
Node sbody = it->second.substitute( d_macro_basis[it->first].begin(), d_macro_basis[it->first].end(), nargs.begin(), nargs.end() );
- smt::currentSmtEngine()->defineFunction( it->first.toExpr(), args, sbody.toExpr() );
+ smt->defineFunction(it->first, args, sbody);
if( Trace.isOn("macros-warn") ){
debugMacroDefinition( it->first, sbody );
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback