summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2019-08-01 09:36:10 -0700
committerAndres Noetzli <andres.noetzli@gmail.com>2019-08-01 09:36:10 -0700
commita362e943bf543b7bd31d14525f8f76e15cb65f87 (patch)
treebe10b95d17382c4ad119860123360c68e367bc0b
parent8078ed4c404238371a34d2c122e1489d6de9d3a9 (diff)
Bidirectional quantifier instantiationbidirQuantInst
-rw-r--r--src/theory/quantifiers/fmf/bounded_integers.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/theory/quantifiers/fmf/bounded_integers.cpp b/src/theory/quantifiers/fmf/bounded_integers.cpp
index f873b94f2..ac5566405 100644
--- a/src/theory/quantifiers/fmf/bounded_integers.cpp
+++ b/src/theory/quantifiers/fmf/bounded_integers.cpp
@@ -746,10 +746,17 @@ bool BoundedIntegers::getBoundElements( RepSetIterator * rsi, bool initial, Node
if( ra==d_quantEngine->getTermUtil()->d_true ){
long rr = range.getConst<Rational>().getNumerator().getLong()+1;
Trace("bound-int-rsi") << "Actual bound range is " << rr << std::endl;
- for( unsigned k=0; k<rr; k++ ){
- Node t = NodeManager::currentNM()->mkNode(PLUS, tl, NodeManager::currentNM()->mkConst( Rational(k) ) );
- t = Rewriter::rewrite( t );
- elements.push_back( t );
+ for (unsigned k = 0; k < rr; k++)
+ {
+ Node t = NodeManager::currentNM()->mkNode(
+ PLUS, tl, NodeManager::currentNM()->mkConst(Rational(k)));
+ t = Rewriter::rewrite(t);
+ elements.push_back(t);
+
+ Node t2 = NodeManager::currentNM()->mkNode(
+ MINUS, tu, NodeManager::currentNM()->mkConst(Rational(k)));
+ t2 = Rewriter::rewrite(t2);
+ elements.push_back(t2);
}
return true;
}else{
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback