CVC3
2.4.1
|
#include <assumptions.h>
Classes | |
class | iterator |
Iterator for the Assumptions: points to class Theorem. More... |
Public Member Functions | |
Assumptions () | |
Default constructor: no value is created. | |
Assumptions (const std::vector< Theorem > &v) | |
Constructor from a vector of theorems. | |
Assumptions (const Theorem &t) | |
Constructor for one theorem (common case) | |
Assumptions (const Theorem &t1, const Theorem &t2) | |
Constructor for two theorems (common case) | |
~Assumptions () | |
Assumptions (const Assumptions &assump) | |
Assumptions & | operator= (const Assumptions &assump) |
void | add1 (const Theorem &t) |
void | add (const Theorem &t) |
void | add (const Assumptions &a) |
void | clear () |
unsigned | size () const |
bool | empty () const |
Theorem & | getFirst () |
std::string | toString () const |
void | print () const |
const Theorem & | operator[] (const Expr &e) const |
const Theorem & | find (const Expr &e) const |
iterator | begin () const |
iterator | end () const |
Static Public Member Functions | |
static const Assumptions & | emptyAssump () |
Private Member Functions | |
const Theorem & | findTheorem (const Expr &e) const |
void | add (const std::vector< Theorem > &thms) |
Static Private Member Functions | |
static bool | findExpr (const Assumptions &a, const Expr &e, std::vector< Theorem > &gamma) |
static bool | findExprs (const Assumptions &a, const std::vector< Expr > &es, std::vector< Theorem > &gamma) |
Private Attributes | |
std::vector< Theorem > | d_vector |
Static Private Attributes | |
static Assumptions | s_empty |
Friends | |
Assumptions | operator- (const Assumptions &a, const Expr &e) |
Returns all (recursive) assumptions except e. | |
Assumptions | operator- (const Assumptions &a, const std::vector< Expr > &es) |
Returns all (recursive) assumptions except those in es. | |
std::ostream & | operator<< (std::ostream &os, const Assumptions &assump) |
bool | operator== (const Assumptions &a1, const Assumptions &a2) |
bool | operator!= (const Assumptions &a1, const Assumptions &a2) |
Definition at line 46 of file assumptions.h.
|
inline |
Default constructor: no value is created.
Definition at line 67 of file assumptions.h.
Assumptions::Assumptions | ( | const std::vector< Theorem > & | v | ) |
Constructor from a vector of theorems.
Definition at line 127 of file assumptions.cpp.
References TheoremEq().
|
inline |
Constructor for one theorem (common case)
Definition at line 71 of file assumptions.h.
References d_vector.
Constructor for two theorems (common case)
Definition at line 149 of file assumptions.cpp.
References CVC3::compare(), empty(), and CVC3::Theorem::getAssumptionsRef().
|
inline |
Definition at line 76 of file assumptions.h.
|
inline |
Definition at line 78 of file assumptions.h.
Definition at line 34 of file assumptions.cpp.
References CVC3::compare(), findTheorem(), CVC3::Theorem::getAssumptionsRef(), CVC3::Theorem::isNull(), and CVC3::Theorem::setFlag().
Referenced by findTheorem().
|
staticprivate |
Definition at line 58 of file assumptions.cpp.
References begin(), end(), CVC3::Theorem::getAssumptionsRef(), CVC3::Theorem::getCachedValue(), CVC3::Theorem::getExpr(), CVC3::Theorem::isAssump(), CVC3::Theorem::isFlagged(), CVC3::Theorem::isRefl(), CVC3::Theorem::setCachedValue(), and CVC3::Theorem::setFlag().
|
staticprivate |
Definition at line 92 of file assumptions.cpp.
References begin(), end(), CVC3::Theorem::getAssumptionsRef(), CVC3::Theorem::getCachedValue(), CVC3::Theorem::getExpr(), CVC3::Theorem::isAssump(), CVC3::Theorem::isFlagged(), CVC3::Theorem::isRefl(), CVC3::Theorem::setCachedValue(), and CVC3::Theorem::setFlag().
|
private |
Definition at line 200 of file assumptions.cpp.
References CVC3::compare(), DebugAssert, and IF_DEBUG.
Referenced by CVC3::ArithTheoremProducerOld::addInequalities(), CVC3::ArithTheoremProducer3::clashingBounds(), CVC3::ArithTheoremProducer::clashingBounds(), CVC3::ArithTheoremProducerOld::clashingBounds(), CVC3::SearchEngineTheoremProducer::confAndrAF(), CVC3::SearchEngineTheoremProducer::confAndrAT(), CVC3::SearchEngineTheoremProducer::confIffr(), CVC3::SearchEngineTheoremProducer::confIterIfThen(), CVC3::SearchEngineTheoremProducer::confIterThenElse(), CVC3::SearchEngineTheoremProducer::conflictRule(), CVC3::SearchEngineTheoremProducer::cutRule(), CVC3::ArithTheoremProducerOld::cycleConflict(), CVC3::CommonTheoremProducer::implIntro3(), CVC3::ArithTheoremProducerOld::implyDiffLogicBothBounds(), CVC3::ArithTheoremProducerOld::implyEqualities(), CVC3::ArithTheoremProducerOld::implyNegatedInequalityDiffLogic(), CVC3::ArithTheoremProducerOld::implyWeakerInequalityDiffLogic(), CVC3::ArithTheoremProducerOld::nonLinearIneqSignSplit(), CVC3::SearchEngineTheoremProducer::propAndrAT(), CVC3::SearchEngineTheoremProducer::propAndrLF(), CVC3::SearchEngineTheoremProducer::propAndrRF(), CVC3::SearchEngineTheoremProducer::propIffr(), CVC3::SearchEngineTheoremProducer::propIterIfThen(), CVC3::SearchEngineTheoremProducer::propIterIte(), CVC3::SearchEngineTheoremProducer::propIterThen(), CVC3::CommonTheoremProducer::queryTCC(), and CVC3::SearchEngineTheoremProducer::unitProp().
|
inline |
Definition at line 80 of file assumptions.h.
References d_vector.
|
inlinestatic |
Definition at line 83 of file assumptions.h.
References s_empty.
Referenced by CVC3::CommonTheoremProducer::ackermann(), CVC3::CoreTheoremProducer::andDistributivityRule(), CVC3::CoreTheoremProducer::AndToIte(), CVC3::BitvectorTheoremProducer::bitblastBVMult(), CVC3::BitvectorTheoremProducer::bitblastBVPlus(), CVC3::BitvectorTheoremProducer::bitBlastEqnRule(), CVC3::BitvectorTheoremProducer::bitExtractBitwise(), CVC3::BitvectorTheoremProducer::bitExtractBVASHR(), CVC3::BitvectorTheoremProducer::bitExtractBVLSHR(), CVC3::BitvectorTheoremProducer::bitExtractBVMult(), CVC3::BitvectorTheoremProducer::bitExtractBVPlus(), CVC3::BitvectorTheoremProducer::bitExtractBVPlusPreComputed(), CVC3::BitvectorTheoremProducer::bitExtractBVSHL(), CVC3::BitvectorTheoremProducer::bitExtractConcatenation(), CVC3::BitvectorTheoremProducer::bitExtractConstant(), CVC3::BitvectorTheoremProducer::bitExtractConstBVMult(), CVC3::BitvectorTheoremProducer::bitExtractExtraction(), CVC3::BitvectorTheoremProducer::bitExtractFixedLeftShift(), CVC3::BitvectorTheoremProducer::bitExtractFixedRightShift(), CVC3::BitvectorTheoremProducer::bitExtractNot(), CVC3::BitvectorTheoremProducer::bitExtractRewrite(), CVC3::BitvectorTheoremProducer::bitExtractSXRule(), CVC3::BitvectorTheoremProducer::bitwiseConcat(), CVC3::BitvectorTheoremProducer::bitwiseConst(), CVC3::BitvectorTheoremProducer::bitwiseConstElim(), CVC3::BitvectorTheoremProducer::bitwiseFlatten(), CVC3::BitvectorTheoremProducer::bvashrToConcat(), CVC3::BitvectorTheoremProducer::bvConstIneqn(), CVC3::BitvectorTheoremProducer::bvConstMultAssocRule(), CVC3::BitvectorTheoremProducer::bvlshrToConcat(), CVC3::BitvectorTheoremProducer::BVMult_order_subterms(), CVC3::BitvectorTheoremProducer::bvMultAssocRule(), CVC3::BitvectorTheoremProducer::bvmultBVUminus(), CVC3::BitvectorTheoremProducer::bvmultConst(), CVC3::BitvectorTheoremProducer::bvMultDistRule(), CVC3::BitvectorTheoremProducer::bvPlusAssociativityRule(), CVC3::BitvectorTheoremProducer::bvplusConst(), CVC3::BitvectorTheoremProducer::bvplusZeroConcatRule(), CVC3::BitvectorTheoremProducer::bvSDivRewrite(), CVC3::BitvectorTheoremProducer::bvShiftZero(), CVC3::BitvectorTheoremProducer::bvshlSplit(), CVC3::BitvectorTheoremProducer::bvshlToConcat(), CVC3::BitvectorTheoremProducer::bvSModRewrite(), CVC3::BitvectorTheoremProducer::bvSRemRewrite(), CVC3::BitvectorTheoremProducer::bvUDivConst(), CVC3::BitvectorTheoremProducer::bvUDivTheorem(), CVC3::BitvectorTheoremProducer::bvuminusBVConst(), CVC3::BitvectorTheoremProducer::bvuminusBVMult(), CVC3::BitvectorTheoremProducer::bvuminusBVPlus(), CVC3::BitvectorTheoremProducer::bvuminusBVUminus(), CVC3::BitvectorTheoremProducer::bvuminusToBVPlus(), CVC3::BitvectorTheoremProducer::bvuminusVar(), CVC3::BitvectorTheoremProducer::bvURemConst(), CVC3::BitvectorTheoremProducer::bvURemRewrite(), CVC3::BitvectorTheoremProducer::canonBVEQ(), CVC3::BitvectorTheoremProducer::canonBVMult(), CVC3::BitvectorTheoremProducer::canonBVPlus(), CVC3::BitvectorTheoremProducer::canonBVUMinus(), CVC3::BitvectorTheoremProducer::combineLikeTermsRule(), CVC3::BitvectorTheoremProducer::concatConst(), CVC3::BitvectorTheoremProducer::concatFlatten(), CVC3::BitvectorTheoremProducer::concatMergeExtract(), CVC3::BitvectorTheoremProducer::constEq(), CVC3::BitvectorTheoremProducer::constMultToPlus(), CVC3::BitvectorTheoremProducer::constWidthLeftShiftToConcat(), CVC3::BitvectorTheoremProducer::distributive_rule(), CVC3::CoreTheoremProducer::dummyTheorem(), CVC3::BitvectorTheoremProducer::eqConst(), CVC3::CommonTheoremProducer::excludedMiddle(), CVC3::BitvectorTheoremProducer::extractBitwise(), CVC3::BitvectorTheoremProducer::extractBVMult(), CVC3::BitvectorTheoremProducer::extractBVPlus(), CVC3::BitvectorTheoremProducer::extractConcat(), CVC3::BitvectorTheoremProducer::extractConst(), CVC3::BitvectorTheoremProducer::extractExtract(), CVC3::BitvectorTheoremProducer::extractWhole(), CVC3::BitvectorTheoremProducer::flattenBVPlus(), CVC3::BitvectorTheoremProducer::flipBVMult(), CVC3::BitvectorTheoremProducer::generalIneqn(), CVC3::Theorem::getAssumptionsRef(), CVC3::RWTheoremValue::getAssumptionsRef(), CVC3::SearchImplBase::getAssumptionsUsed(), CVC3::CoreTheoremProducer::iffAndDistrib(), CVC3::CoreTheoremProducer::iffOrDistrib(), CVC3::CoreTheoremProducer::IffToIte(), CVC3::CoreTheoremProducer::ifLiftUnaryRule(), CVC3::CoreTheoremProducer::ImpToIte(), CVC3::ArrayTheoremProducer::interchangeIndices(), CVC3::BitvectorTheoremProducer::isolate_var(), CVC3::BitvectorTheoremProducer::iteBVnegRule(), CVC3::BitvectorTheoremProducer::iteExtractRule(), CVC3::BitvectorTheoremProducer::leftShiftToConcat(), CVC3::BitvectorTheoremProducer::lhsEqRhsIneqn(), CVC3::BitvectorTheoremProducer::lhsMinusRhsRule(), CVC3::BitvectorTheoremProducer::liftConcatBVMult(), CVC3::BitvectorTheoremProducer::liftConcatBVPlus(), CVC3::CommonTheoremProducer::liftOneITE(), CVC3::ArrayTheoremProducer::liftReadIte(), CVC3::BitvectorTheoremProducer::MarkNonSolvableEq(), CVC3::BitvectorTheoremProducer::negBVand(), CVC3::BitvectorTheoremProducer::negBVor(), CVC3::BitvectorTheoremProducer::negBVxnor(), CVC3::BitvectorTheoremProducer::negBVxor(), CVC3::BitvectorTheoremProducer::negConcat(), CVC3::BitvectorTheoremProducer::negConst(), CVC3::BitvectorTheoremProducer::negElim(), CVC3::BitvectorTheoremProducer::negNeg(), CVC3::TheoremProducer::newAssumption(), CVC3::BitvectorTheoremProducer::notBVEQ1Rule(), CVC3::BitvectorTheoremProducer::notBVLTRule(), CVC3::CoreTheoremProducer::NotToIte(), CVC3::BitvectorTheoremProducer::oneBVAND(), CVC3::BitvectorTheoremProducer::oneCoeffBVMult(), CVC3::CoreTheoremProducer::orDistributivityRule(), CVC3::CoreTheoremProducer::OrToIte(), CVC3::BitvectorTheoremProducer::padBVLTRule(), CVC3::BitvectorTheoremProducer::padBVMult(), CVC3::BitvectorTheoremProducer::padBVPlus(), CVC3::BitvectorTheoremProducer::padBVSLTRule(), CVC3::ArrayTheoremProducer::readArrayLiteral(), CVC3::BitvectorTheoremProducer::repeatRule(), CVC3::CommonTheoremProducer::rewriteAnd(), CVC3::CoreTheoremProducer::rewriteAndSubterms(), CVC3::BitvectorTheoremProducer::rewriteBVCOMP(), CVC3::BitvectorTheoremProducer::rewriteBVSub(), CVC3::CoreTheoremProducer::rewriteDistinct(), CVC3::CommonTheoremProducer::rewriteIff(), CVC3::CoreTheoremProducer::rewriteImplies(), CVC3::CoreTheoremProducer::rewriteIteBool(), CVC3::CoreTheoremProducer::rewriteIteCond(), CVC3::CommonTheoremProducer::rewriteIteFalse(), CVC3::CommonTheoremProducer::rewriteIteSame(), CVC3::CoreTheoremProducer::rewriteIteToAnd(), CVC3::CoreTheoremProducer::rewriteIteToIff(), CVC3::CoreTheoremProducer::rewriteIteToImp(), CVC3::CoreTheoremProducer::rewriteIteToNot(), CVC3::CoreTheoremProducer::rewriteIteToOr(), CVC3::CommonTheoremProducer::rewriteIteTrue(), CVC3::CoreTheoremProducer::rewriteLetDecl(), CVC3::BitvectorTheoremProducer::rewriteNAND(), CVC3::BitvectorTheoremProducer::rewriteNOR(), CVC3::CoreTheoremProducer::rewriteNotAnd(), CVC3::CommonTheoremProducer::rewriteNotExists(), CVC3::CommonTheoremProducer::rewriteNotFalse(), CVC3::CommonTheoremProducer::rewriteNotForall(), CVC3::CoreTheoremProducer::rewriteNotIff(), CVC3::CoreTheoremProducer::rewriteNotIte(), CVC3::CommonTheoremProducer::rewriteNotNot(), CVC3::CoreTheoremProducer::rewriteNotOr(), CVC3::CommonTheoremProducer::rewriteNotTrue(), CVC3::CommonTheoremProducer::rewriteOr(), CVC3::CoreTheoremProducer::rewriteOrSubterms(), CVC3::ArrayTheoremProducer::rewriteReadWrite(), CVC3::ArrayTheoremProducer::rewriteReadWrite2(), CVC3::ArrayTheoremProducer::rewriteRedundantWrite2(), CVC3::CommonTheoremProducer::rewriteReflexivity(), CVC3::ArrayTheoremProducer::rewriteSameStore(), CVC3::CommonTheoremProducer::rewriteUsingSymmetry(), CVC3::ArrayTheoremProducer::rewriteWriteWrite(), CVC3::BitvectorTheoremProducer::rewriteXNOR(), CVC3::BitvectorTheoremProducer::rightShiftToConcat(), CVC3::BitvectorTheoremProducer::rotlRule(), CVC3::BitvectorTheoremProducer::rotrRule(), CVC3::SearchEngineTheoremProducer::satProof(), CVC3::BitvectorTheoremProducer::signBVLTRule(), CVC3::BitvectorTheoremProducer::signExtendRule(), CVC3::CommonTheoremProducer::skolemizeRewrite(), CVC3::CommonTheoremProducer::skolemizeRewriteVar(), CVC3::BitvectorTheoremProducer::solveExtractOverlap(), CVC3::ArrayTheoremProducer::splitOnConstants(), CVC3::CoreTheoremProducer::typePred(), CVC3::BitvectorTheoremProducer::typePredBit(), CVC3::CommonTheoremProducer::varIntroRule(), CVC3::CommonTheoremProducer::xorToIff(), CVC3::BitvectorTheoremProducer::zeroBVOR(), CVC3::BitvectorTheoremProducer::zeroCoeffBVMult(), CVC3::BitvectorTheoremProducer::zeroExtendRule(), CVC3::BitvectorTheoremProducer::zeroLeq(), and CVC3::BitvectorTheoremProducer::zeroPaddingRule().
|
inline |
Definition at line 85 of file assumptions.h.
References d_vector, and DebugAssert.
void Assumptions::add | ( | const Theorem & | t | ) |
Definition at line 190 of file assumptions.cpp.
References CVC3::compare(), empty(), and CVC3::Theorem::getAssumptionsRef().
|
inline |
|
inline |
Definition at line 92 of file assumptions.h.
References d_vector.
|
inline |
Definition at line 94 of file assumptions.h.
References d_vector.
Referenced by CVC3::Theorem::getAssumptionsAndCongRec(), and getFirst().
|
inline |
Definition at line 95 of file assumptions.h.
References d_vector.
Referenced by add(), Assumptions(), CVC3::VCL::getAssumptions(), CVC3::RWTheoremValue::init(), and CVC3::RegTheoremValue::RegTheoremValue().
|
inline |
Definition at line 98 of file assumptions.h.
References d_vector, DebugAssert, and size().
string Assumptions::toString | ( | ) | const |
Definition at line 250 of file assumptions.cpp.
Referenced by CVC3::TheoryQuant::notifyInconsistent(), and CVC3::TheoremValue::toString().
void Assumptions::print | ( | ) | const |
Definition at line 257 of file assumptions.cpp.
References std::endl().
Definition at line 263 of file assumptions.cpp.
References CVC3::Theorem::clearAllFlags().
Definition at line 271 of file assumptions.cpp.
References CVC3::compare().
|
inline |
Definition at line 151 of file assumptions.h.
References d_vector.
Referenced by CVC3::SearchEngineFast::analyzeUIPs(), findExpr(), findExprs(), CVC3::TheoryQuant::findInstAssumptions(), CVC3::VCL::getAssumptions(), CVC3::Theorem::getAssumptionsAndCongRec(), CVC3::Theorem::getAssumptionsRec(), CVC3::Theorem::GetSatAssumptions(), CVC3::Theorem::GetSatAssumptionsRec(), CVC3::RWTheoremValue::init(), CVC3::operator-(), CVC3::Theorem::recursivePrint(), and CVC3::SearchEngineFast::traceConflict().
|
inline |
Definition at line 152 of file assumptions.h.
References d_vector.
Referenced by CVC3::SearchEngineFast::analyzeUIPs(), findExpr(), findExprs(), CVC3::TheoryQuant::findInstAssumptions(), CVC3::VCL::getAssumptions(), CVC3::Theorem::getAssumptionsAndCongRec(), CVC3::Theorem::getAssumptionsRec(), CVC3::Theorem::GetSatAssumptions(), CVC3::Theorem::GetSatAssumptionsRec(), CVC3::RWTheoremValue::init(), CVC3::operator-(), CVC3::Theorem::recursivePrint(), and CVC3::SearchEngineFast::traceConflict().
|
friend |
Returns all (recursive) assumptions except e.
Definition at line 301 of file assumptions.cpp.
|
friend |
Returns all (recursive) assumptions except those in es.
Definition at line 311 of file assumptions.cpp.
|
friend |
Definition at line 321 of file assumptions.cpp.
|
friend |
Definition at line 166 of file assumptions.h.
|
friend |
Definition at line 168 of file assumptions.h.
|
private |
Definition at line 48 of file assumptions.h.
Referenced by add(), add1(), Assumptions(), begin(), clear(), empty(), end(), getFirst(), CVC3::operator<<(), operator=(), and size().
|
staticprivate |
Definition at line 49 of file assumptions.h.
Referenced by emptyAssump().