summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-12-17 13:41:42 +0100
committerajreynol <andrew.j.reynolds@gmail.com>2015-12-17 13:41:57 +0100
commit7e4468ba0aa0b08eeb4ba1a86b1fdd839ae169d6 (patch)
tree5a1ae8c4ef793c4a27a9a80b5524296fb76ae515
parenta0c5d25a60c9602b2452633a9c70aa034669462c (diff)
Minor
-rw-r--r--src/theory/sort_inference.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/theory/sort_inference.cpp b/src/theory/sort_inference.cpp
index c4c24612d..060584fcf 100644
--- a/src/theory/sort_inference.cpp
+++ b/src/theory/sort_inference.cpp
@@ -116,13 +116,14 @@ void SortInference::reset() {
void SortInference::simplify( std::vector< Node >& assertions, bool doSortInference, bool doMonotonicyInference ){
if( doSortInference ){
- Trace("sort-inference") << "Calculating sort inference..." << std::endl;
+ Trace("sort-inference-proc") << "Calculating sort inference..." << std::endl;
//process all assertions
for( unsigned i=0; i<assertions.size(); i++ ){
Trace("sort-inference-debug") << "Process " << assertions[i] << std::endl;
std::map< Node, Node > var_bound;
process( assertions[i], var_bound );
}
+ Trace("sort-inference-proc") << "...done" << std::endl;
for( std::map< Node, int >::iterator it = d_op_return_types.begin(); it != d_op_return_types.end(); ++it ){
Trace("sort-inference") << it->first << " : ";
TypeNode retTn = it->first.getType();
@@ -153,12 +154,13 @@ void SortInference::simplify( std::vector< Node >& assertions, bool doSortInfere
if( !options::ufssSymBreak() ){
bool rewritten = false;
//determine monotonicity of sorts
+ Trace("sort-inference-proc") << "Calculating monotonicty for subsorts..." << std::endl;
for( unsigned i=0; i<assertions.size(); i++ ){
Trace("sort-inference-debug") << "Process monotonicity for " << assertions[i] << std::endl;
std::map< Node, Node > var_bound;
processMonotonic( assertions[i], true, true, var_bound );
}
- //doMonotonicyInference = false;
+ Trace("sort-inference-proc") << "...done" << std::endl;
Trace("sort-inference") << "We have " << d_sub_sorts.size() << " sub-sorts : " << std::endl;
for( unsigned i=0; i<d_sub_sorts.size(); i++ ){
@@ -173,6 +175,7 @@ void SortInference::simplify( std::vector< Node >& assertions, bool doSortInfere
}
//simplify all assertions by introducing new symbols wherever necessary
+ Trace("sort-inference-proc") << "Perform simplification..." << std::endl;
for( unsigned i=0; i<assertions.size(); i++ ){
Node prev = assertions[i];
std::map< Node, Node > var_bound;
@@ -188,6 +191,7 @@ void SortInference::simplify( std::vector< Node >& assertions, bool doSortInfere
assertions[i] = curr;
}
}
+ Trace("sort-inference-proc") << "...done" << std::endl;
//now, ensure constants are distinct
for( std::map< TypeNode, std::map< Node, Node > >::iterator it = d_const_map.begin(); it != d_const_map.end(); ++it ){
std::vector< Node > consts;
@@ -198,6 +202,7 @@ void SortInference::simplify( std::vector< Node >& assertions, bool doSortInfere
}
//enforce constraints based on monotonicity
+ Trace("sort-inference-proc") << "Enforce monotonicity..." << std::endl;
for( std::map< TypeNode, std::vector< int > >::iterator it = d_type_sub_sorts.begin(); it != d_type_sub_sorts.end(); ++it ){
int nmonSort = -1;
for( unsigned i=0; i<it->second.size(); i++ ){
@@ -232,6 +237,7 @@ void SortInference::simplify( std::vector< Node >& assertions, bool doSortInfere
}
}
}
+ Trace("sort-inference-proc") << "...done" << std::endl;
//no sub-sort information is stored
reset();
Trace("sort-inference-debug") << "Finished sort inference, rewritten = " << rewritten << std::endl;
@@ -268,11 +274,13 @@ void SortInference::simplify( std::vector< Node >& assertions, bool doSortInfere
initialSortCount = sortCount;
}
if( doMonotonicyInference ){
+ Trace("sort-inference-proc") << "Calculating monotonicty for types..." << std::endl;
for( unsigned i=0; i<assertions.size(); i++ ){
Trace("sort-inference-debug") << "Process type monotonicity for " << assertions[i] << std::endl;
std::map< Node, Node > var_bound;
processMonotonic( assertions[i], true, true, var_bound, true );
}
+ Trace("sort-inference-proc") << "...done" << std::endl;
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback