summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/quant_conflict_find.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2014-02-27 08:34:59 -0600
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2014-02-27 08:35:14 -0600
commit251fd73a759a8e5e94103e9b76a06491a92e425b (patch)
tree193cd049c7422b30c6a65ce119f1ac18615037f9 /src/theory/quantifiers/quant_conflict_find.cpp
parent7a6c462b0ce3adf52a9d44a5f98c53065fedc33d (diff)
Bug fix for QCF algorithm, was missing instantiations. Make prop-eq the default QCF setting. Bug fix to prevent non-ground terms from entering relevant domains.
Diffstat (limited to 'src/theory/quantifiers/quant_conflict_find.cpp')
-rwxr-xr-xsrc/theory/quantifiers/quant_conflict_find.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/theory/quantifiers/quant_conflict_find.cpp b/src/theory/quantifiers/quant_conflict_find.cpp
index 1a47b3a02..ced4e1997 100755
--- a/src/theory/quantifiers/quant_conflict_find.cpp
+++ b/src/theory/quantifiers/quant_conflict_find.cpp
@@ -1277,6 +1277,8 @@ bool MatchGen::doMatching( QuantConflictFind * p, QuantInfo * qi ) {
invalidMatch = true;
}
}else{
+ qi->d_match[ itb->second ] = TNode::null();
+ qi->d_match_term[ itb->second ] = TNode::null();
Debug("qcf-match-debug") << " Bind next variable, no more variables to bind" << std::endl;
}
}else{
@@ -1898,6 +1900,7 @@ void QuantConflictFind::computeRelevantEqr() {
}else{
d_eqcs[rtn].push_back( r );
}
+ /*
eq::EqClassIterator eqc_i = eq::EqClassIterator( r, getEqualityEngine() );
while( !eqc_i.isFinished() ){
TNode n = (*eqc_i);
@@ -1907,6 +1910,7 @@ void QuantConflictFind::computeRelevantEqr() {
}
++eqc_i;
}
+ */
//if( r.getType().isInteger() ){
// Trace("qcf-mv") << "Model value for eqc(" << r << ") : " << d_quantEngine->getValuation().getModelValue( r ) << std::endl;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback