diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-11-18 17:34:00 +0000 |
---|---|---|
committer | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-11-18 17:34:00 +0000 |
commit | a441252481616ff4851f208caffce826a026ae30 (patch) | |
tree | 67df7986753dfbea35cd0a5a3264e7be1378a1d2 /src/theory/quantifiers/inst_match.cpp | |
parent | 39020386be1c6cb304a5bfd1eaca37af46bb0bfc (diff) |
support for quantifiers macros, bug fix for bug 454 involving E-matching Array select terms (thanks for the bug report Francois)
Diffstat (limited to 'src/theory/quantifiers/inst_match.cpp')
-rw-r--r-- | src/theory/quantifiers/inst_match.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/theory/quantifiers/inst_match.cpp b/src/theory/quantifiers/inst_match.cpp index 16f06017e..1a48ec161 100644 --- a/src/theory/quantifiers/inst_match.cpp +++ b/src/theory/quantifiers/inst_match.cpp @@ -134,6 +134,18 @@ Node InstMatch::getValue( Node var ) const{ } } +void InstMatch::set(TNode var, TNode n){ + Assert( !var.isNull() ); + if( !n.isNull() &&// For a strange use in inst_match.cpp InstMatchGeneratorSimple::addInstantiations + //var.getType() == n.getType() + !n.getType().isSubtypeOf( var.getType() ) ){ + Trace("inst-match-warn") << var.getAttribute(InstConstantAttribute()) << std::endl; + Trace("inst-match-warn") << var << " " << var.getType() << n << " " << n.getType() << std::endl ; + Assert(false); + } + d_map[var] = n; +} + /** add match m for quantifier f starting at index, take into account equalities q, return true if successful */ void InstMatchTrie::addInstMatch2( QuantifiersEngine* qe, Node f, InstMatch& m, int index, ImtIndexOrder* imtio ){ if( long(index)<long(f[0].getNumChildren()) && ( !imtio || long(index)<long(imtio->d_order.size()) ) ){ |