summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-03-11 14:53:19 -0500
committerGitHub <noreply@github.com>2020-03-11 12:53:19 -0700
commitc8c92d80d933f264aa02841ee5ebe689fc91680a (patch)
tree297dabf83dca64f16e42a9b43bcfd200cb474e3e /src/theory/quantifiers
parent05dc596e5b9ef9d4c45e2fa92a56ef1ec2aede76 (diff)
Switch to Nodes for conjecture generator (#4026)
Fixes #4022.
Diffstat (limited to 'src/theory/quantifiers')
-rw-r--r--src/theory/quantifiers/conjecture_generator.cpp9
-rw-r--r--src/theory/quantifiers/conjecture_generator.h2
2 files changed, 6 insertions, 5 deletions
diff --git a/src/theory/quantifiers/conjecture_generator.cpp b/src/theory/quantifiers/conjecture_generator.cpp
index bccb33f1d..b25170341 100644
--- a/src/theory/quantifiers/conjecture_generator.cpp
+++ b/src/theory/quantifiers/conjecture_generator.cpp
@@ -237,7 +237,8 @@ bool ConjectureGenerator::areUniversalDisequal( TNode n1, TNode n2 ) {
return n1!=n2 && d_uequalityEngine.hasTerm( n1 ) && d_uequalityEngine.hasTerm( n2 ) && d_uequalityEngine.areDisequal( n1, n2, false );
}
-TNode ConjectureGenerator::getUniversalRepresentative( TNode n, bool add ) {
+Node ConjectureGenerator::getUniversalRepresentative(TNode n, bool add)
+{
if( add ){
if( d_urelevant_terms.find( n )==d_urelevant_terms.end() ){
setUniversalRelevant( n );
@@ -258,7 +259,7 @@ TNode ConjectureGenerator::getUniversalRepresentative( TNode n, bool add ) {
Trace("thm-ee-add") << "UEE : Add universal term " << t << std::endl;
std::vector< Node > eq_terms;
//if occurs modulo equality at ground level, it is equivalent to representative of ground equality engine
- TNode gt = getTermDatabase()->evaluateTerm( t );
+ Node gt = getTermDatabase()->evaluateTerm(t);
if( !gt.isNull() && gt!=t ){
eq_terms.push_back( gt );
}
@@ -850,7 +851,7 @@ void ConjectureGenerator::check(Theory::Effort e, QEffort quant_e)
while( !ueqcs_i.isFinished() ){
TNode r = (*ueqcs_i);
bool firstTime = true;
- TNode rr = getUniversalRepresentative( r );
+ Node rr = getUniversalRepresentative(r);
Trace("thm-ee") << " " << rr;
Trace("thm-ee") << " : { ";
eq::EqClassIterator ueqc_i = eq::EqClassIterator( r, &d_uequalityEngine );
@@ -961,7 +962,7 @@ bool ConjectureGenerator::considerTermCanon( Node ln, bool genRelevant ){
//do not consider if it is non-canonical, and either:
// (1) we are not generating relevant terms, or
// (2) its canonical form is a generalization.
- TNode lnr = getUniversalRepresentative( ln, true );
+ Node lnr = getUniversalRepresentative(ln, true);
if( lnr==ln ){
markReportedCanon( ln );
}else if( !genRelevant || isGeneralization( lnr, ln ) ){
diff --git a/src/theory/quantifiers/conjecture_generator.h b/src/theory/quantifiers/conjecture_generator.h
index 384533725..503961ea3 100644
--- a/src/theory/quantifiers/conjecture_generator.h
+++ b/src/theory/quantifiers/conjecture_generator.h
@@ -310,7 +310,7 @@ private:
/** are universal disequal */
bool areUniversalDisequal( TNode n1, TNode n2 );
/** get universal representative */
- TNode getUniversalRepresentative( TNode n, bool add = false );
+ Node getUniversalRepresentative(TNode n, bool add = false);
/** set relevant */
void setUniversalRelevant( TNode n );
/** ordering for universal terms */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback