summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/conjecture_generator.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2014-10-01 17:48:35 +0200
committerajreynol <andrew.j.reynolds@gmail.com>2014-10-01 17:48:41 +0200
commit848ca519a29a77fd2f30497845dc0d9e49f55879 (patch)
tree0d9a17aeb9440dd17b4c8244aa643c74f95f87f7 /src/theory/quantifiers/conjecture_generator.cpp
parent230dbc7f55e8f5e4e47b6110b7927e601cf8c078 (diff)
Option for more aggressive merging in UEE.
Diffstat (limited to 'src/theory/quantifiers/conjecture_generator.cpp')
-rwxr-xr-xsrc/theory/quantifiers/conjecture_generator.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/theory/quantifiers/conjecture_generator.cpp b/src/theory/quantifiers/conjecture_generator.cpp
index 799cce9ed..fe3c92323 100755
--- a/src/theory/quantifiers/conjecture_generator.cpp
+++ b/src/theory/quantifiers/conjecture_generator.cpp
@@ -247,7 +247,7 @@ TNode ConjectureGenerator::getUniversalRepresentative( TNode n, bool add ) {
}else{
Assert( eq_terms[i].getType()==tn );
registerPattern( eq_terms[i], tn );
- if( isUniversalLessThan( eq_terms[i], t ) ){
+ if( isUniversalLessThan( eq_terms[i], t ) || ( options::conjectureUeeIntro() && d_pattern_fun_sum[t]>=d_pattern_fun_sum[eq_terms[i]] ) ){
setUniversalRelevant( eq_terms[i] );
assertEq = true;
}
@@ -255,6 +255,8 @@ TNode ConjectureGenerator::getUniversalRepresentative( TNode n, bool add ) {
if( assertEq ){
Node exp;
d_uequalityEngine.assertEquality( t.eqNode( eq_terms[i] ), true, exp );
+ }else{
+ Trace("thm-ee-no-add") << "Do not add : " << t << " == " << eq_terms[i] << std::endl;
}
}
}else{
@@ -322,7 +324,6 @@ Node ConjectureGenerator::getFreeVar( TypeNode tn, unsigned i ) {
Node ConjectureGenerator::getCanonicalTerm( TNode n, std::map< TypeNode, unsigned >& var_count, std::map< TNode, TNode >& subs ) {
- Trace("ajr-temp") << "get canonical term " << n << " " << n.getKind() << " " << n.hasOperator() << std::endl;
if( n.getKind()==BOUND_VARIABLE ){
std::map< TNode, TNode >::iterator it = subs.find( n );
if( it==subs.end() ){
@@ -1539,7 +1540,6 @@ bool TermGenerator::getNextTerm( TermGenEnv * s, unsigned depth ) {
//check if there is only one feasible equivalence class. if so, don't make pattern any more specific.
//unsigned i = s->d_ccand_eqc[0].size()-1;
//if( s->d_ccand_eqc[0][i].size()==1 && s->d_ccand_eqc[1][i].empty() ){
- // Trace("ajr-temp") << "Apply this!" << std::endl;
// d_status = 6;
// return getNextTerm( s, depth );
//}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback