d_defValues(context()),
d_readTableContext(new context::Context()),
d_arrayMerges(context()),
- d_inCheckModel(false),
d_dstrat(new TheoryArraysDecisionStrategy(this)),
d_dstratInit(false)
{
return false;
}
- // Propagate away
- if (d_inCheckModel && context()->getLevel() != d_topLevel)
- {
- return true;
- }
bool ok = d_out->propagate(literal);
if (!ok) {
d_state.notifyInConflict();
void TheoryArrays::conflict(TNode a, TNode b) {
Debug("pf::array") << "TheoryArrays::Conflict called" << std::endl;
- if (d_inCheckModel)
- {
- // if in check model, don't send the conflict
- d_state.notifyInConflict();
- return;
- }
d_im.conflictEqConstantMerge(a, b);
}
void queueRowLemma(RowLemmaType lem);
bool dischargeLemmas();
- std::vector<Node> d_decisions;
- bool d_inCheckModel;
- int d_topLevel;
-
/**
* The decision strategy for the theory of arrays, which calls the
* getNextDecisionEngineRequest function below.