summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/inst_match.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2012-11-18 17:34:00 +0000
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2012-11-18 17:34:00 +0000
commita441252481616ff4851f208caffce826a026ae30 (patch)
tree67df7986753dfbea35cd0a5a3264e7be1378a1d2 /src/theory/quantifiers/inst_match.cpp
parent39020386be1c6cb304a5bfd1eaca37af46bb0bfc (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.cpp12
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()) ) ){
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback