summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/fun_def_process.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-09-18 00:04:26 +0200
committerajreynol <andrew.j.reynolds@gmail.com>2015-09-18 00:04:26 +0200
commit1aaf70f23d8f2061e5c05ca98d12deea06494a25 (patch)
tree5e8d5c889930cfe368c26c0211a8d3c4ed162004 /src/theory/quantifiers/fun_def_process.cpp
parent548582b252170f35a602705a109d88a608611cca (diff)
Allow most smt2 commands as sygus commands. Fix bug in fmf-fun regarding quantified formulas with non-constant polarity.
Diffstat (limited to 'src/theory/quantifiers/fun_def_process.cpp')
-rw-r--r--src/theory/quantifiers/fun_def_process.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/theory/quantifiers/fun_def_process.cpp b/src/theory/quantifiers/fun_def_process.cpp
index 632e19a18..7d5e33fdb 100644
--- a/src/theory/quantifiers/fun_def_process.cpp
+++ b/src/theory/quantifiers/fun_def_process.cpp
@@ -119,6 +119,11 @@ Node FunDefFmf::simplifyFormula( Node n, bool pol, bool hasPol, std::vector< Nod
Trace("fmf-fun-def-debug") << "Simplify " << n << " " << pol << " " << hasPol << " " << is_fun_def << std::endl;
if( n.getKind()==FORALL ){
Node c = simplifyFormula( n[1], pol, hasPol, constraints, hd, is_fun_def );
+ //append prenex to constraints
+ for( unsigned i=0; i<constraints.size(); i++ ){
+ constraints[i] = NodeManager::currentNM()->mkNode( FORALL, n[0], constraints[i] );
+ constraints[i] = Rewriter::rewrite( constraints[i] );
+ }
if( c!=n[1] ){
return NodeManager::currentNM()->mkNode( FORALL, n[0], c );
}else{
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback