diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2016-07-05 15:11:28 -0500 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2016-07-05 15:11:38 -0500 |
commit | 967747b7b279256bd9368e2d392ae71dec1bb1c1 (patch) | |
tree | 18a811b16d7552c1ae52fadfe34e54acde68e6a8 /src/theory/quantifiers/trigger.cpp | |
parent | a58abbe71fb1fc07129ff9c7568ac544145fb57c (diff) |
Add option --trigger-active-sel. Recognize simple triggers with polarity. Do not drop patterns from merged prenex (fixes bug 743).
Diffstat (limited to 'src/theory/quantifiers/trigger.cpp')
-rw-r--r-- | src/theory/quantifiers/trigger.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/theory/quantifiers/trigger.cpp b/src/theory/quantifiers/trigger.cpp index ee091919d..2faed3af0 100644 --- a/src/theory/quantifiers/trigger.cpp +++ b/src/theory/quantifiers/trigger.cpp @@ -386,9 +386,9 @@ bool Trigger::isCbqiKind( Kind k ) { bool Trigger::isSimpleTrigger( Node n ){ Node t = n.getKind()==NOT ? n[0] : n; - if( n.getKind()==IFF || n.getKind()==EQUAL ){ - if( !quantifiers::TermDb::hasInstConstAttr( n[1] ) ){ - t = n[0]; + if( t.getKind()==IFF || t.getKind()==EQUAL ){ + if( !quantifiers::TermDb::hasInstConstAttr( t[1] ) ){ + t = t[0]; } } if( isAtomicTrigger( t ) ){ @@ -742,6 +742,10 @@ InstMatchGenerator* Trigger::getInstMatchGenerator( Node q, Node n ) { } } +int Trigger::getActiveScore() { + return d_mg->getActiveScore( d_quantEngine ); +} + Trigger* TriggerTrie::getTrigger2( std::vector< Node >& nodes ){ if( nodes.empty() ){ return d_tr.empty() ? NULL : d_tr[0]; |