summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/term_database.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2013-06-26 14:40:05 -0500
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2013-06-26 14:40:16 -0500
commit0a6fa189e4e2dc2c47f4050df0aad4a6f3d39b4b (patch)
treecdd99891d51b025e207e8b56c34bb13d77977a4a /src/theory/quantifiers/term_database.cpp
parent323c4ebc21ca9e85b76aadc2168a496404bf91fc (diff)
Add support for interval models in bounded integers MBQI (in progress).
Diffstat (limited to 'src/theory/quantifiers/term_database.cpp')
-rw-r--r--src/theory/quantifiers/term_database.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/theory/quantifiers/term_database.cpp b/src/theory/quantifiers/term_database.cpp
index dc00b5f95..e1a953e1b 100644
--- a/src/theory/quantifiers/term_database.cpp
+++ b/src/theory/quantifiers/term_database.cpp
@@ -195,11 +195,15 @@ Node TermDb::getModelBasisTerm( TypeNode tn, int i ){
if( d_model_basis_term.find( tn )==d_model_basis_term.end() ){
Node mbt;
if( options::fmfFreshDistConst() || d_type_map[ tn ].empty() ){
- std::stringstream ss;
- ss << Expr::setlanguage(options::outputLanguage());
- ss << "e_" << tn;
- mbt = NodeManager::currentNM()->mkSkolem( ss.str(), tn, "is a model basis term" );
- Trace("mkVar") << "ModelBasis:: Make variable " << mbt << " : " << tn << std::endl;
+ if( tn.isInteger() || tn.isReal() ){
+ mbt = NodeManager::currentNM()->mkConst( Rational( 0 ) );
+ }else{
+ std::stringstream ss;
+ ss << Expr::setlanguage(options::outputLanguage());
+ ss << "e_" << tn;
+ mbt = NodeManager::currentNM()->mkSkolem( ss.str(), tn, "is a model basis term" );
+ Trace("mkVar") << "ModelBasis:: Make variable " << mbt << " : " << tn << std::endl;
+ }
}else{
mbt = d_type_map[ tn ][ 0 ];
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback