summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/macros.cpp
diff options
context:
space:
mode:
authorKshitij Bansal <kshitij@cs.nyu.edu>2014-04-17 13:03:30 -0400
committerKshitij Bansal <kshitij@cs.nyu.edu>2014-04-17 13:40:15 -0400
commitf26477575d4328104ee6882c5d7d55740964543d (patch)
tree8dc248031d8cc213762f0fa30ff13a7b8f851984 /src/theory/quantifiers/macros.cpp
parent4b02944c70522de78713f9870d2eccbf348bfcf6 (diff)
simplify mkSkolem naming system: don't use $$
Short summary: By default NODEID is appeneded, just continue doing what you were, just don't add the _$$ at the end. Long summary: Before this commit there were four (yes!) ways to specify the names for new skolems, which result in names as given below 1) mkSkolem("name", ..., SKOLEM_FLAG_DEFAULT) -> "name_NODEID" 2) mkSkolem("name", ..., SKOLEM_EXACT_NAME) -> "name" 3) mkSkolem("name_$$", ..., SKOLEM_FLAG_DEFAULT) -> "name_NODEID" 4) mkSkolem("na_$$_me", ..., SKOLEM_FLAG_DEFAULT) -> "na_NODEID_me" After this commit, only 1) and 2) stay. 90% usage is of 1) or 3), which results in exact same behavior (and looking at the source code it doesn't look like everyone realized that the _$$ is just redundant). Almost no one used 4), which is the only reason to even have $$. Post this commit if you really want a number in the middle, manually construct the name and use the SKOLEM_EXACT_NAME flag.
Diffstat (limited to 'src/theory/quantifiers/macros.cpp')
-rw-r--r--src/theory/quantifiers/macros.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/theory/quantifiers/macros.cpp b/src/theory/quantifiers/macros.cpp
index 435bf7221..72d42cf4b 100644
--- a/src/theory/quantifiers/macros.cpp
+++ b/src/theory/quantifiers/macros.cpp
@@ -51,7 +51,7 @@ bool QuantifierMacros::simplify( std::vector< Node >& assertions, bool doRewrite
//if value is null, must generate it
if( val.isNull() ){
std::stringstream ss;
- ss << "mdo_" << it->first << "_$$";
+ ss << "mdo_" << it->first << "";
Node op = NodeManager::currentNM()->mkSkolem( ss.str(), it->first.getType(), "op created during macro definitions" );
//will be defined in terms of fresh operator
std::vector< Node > children;
@@ -273,7 +273,7 @@ void QuantifierMacros::process( Node n, bool pol, std::vector< Node >& args, Nod
if( d_macro_basis[op].empty() ){
for( size_t a=0; a<m.getNumChildren(); a++ ){
std::stringstream ss;
- ss << "mda_" << op << "_$$";
+ ss << "mda_" << op << "";
Node v = NodeManager::currentNM()->mkSkolem( ss.str(), m[a].getType(), "created during macro definition recognition" );
d_macro_basis[op].push_back( v );
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback