CVCL::Theorem Class Reference

#include <theorem.h>

Collaboration diagram for CVCL::Theorem:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Methods for Theorem Attributes
Several attributes used in conflict analysis and assumptions graph traversals.

Private Member Functions

Private Attributes

Friends


Detailed Description

Definition at line 84 of file theorem.h.


Constructor & Destructor Documentation

CVCL::Theorem::Theorem (  TheoremManager *  tm,
const Expr &  thm,
const Assumptions &  assump,
const Proof &  pf,
bool  isAssump = false,
int  scope = -1
)  [private]
 

Constructor for a new theorem.

Definition at line 128 of file theorem.cpp.

References CVCL::TheoremValue::d_refcount, d_thm, CVCL::TheoremManager::getMM(), CVCL::TheoremManager::getRWMM(), CVCL::Expr::isEq(), CVCL::Expr::isIff(), CVCL::Proof::isNull(), toString(), CVCL::TRACE, and withProof().

CVCL::Theorem::Theorem (  TheoremManager *  tm,
const Expr &  lhs,
const Expr &  rhs,
const Assumptions &  assump,
const Proof &  pf,
bool  isAssump = false,
int  scope = -1
)  [private]
 

Constructor for rewrite theorems.

These use a special efficient subclass of TheoremValue for theorems which represent rewrites: A |- t = t' or A |- phi<=>phi'

Definition at line 141 of file theorem.cpp.

References CVCL::TheoremValue::d_refcount, d_thm, CVCL::TheoremManager::getRWMM(), CVCL::Expr::getSimpFrom(), CVCL::Expr::hasLastIndex(), CVCL::Expr::hasSimpFrom(), CVCL::Proof::isNull(), toString(), CVCL::TRACE, and withProof().

CVCL::Theorem::Theorem (  TheoremManager *  tm,
const Expr &  e,
const Proof &  pf
)  [private]
 

Constructor for a reflexivity theorem: |-t=t or |-phi<=>phi.

Definition at line 169 of file theorem.cpp.

References CVCL::TheoremValue::d_refcount, d_thm, CVCL::TheoremManager::getReflMM(), CVCL::Proof::isNull(), toString(), CVCL::TRACE, and withProof().

CVCL::Theorem::Theorem (   )  [inline]
 

Definition at line 141 of file theorem.h.

CVCL::Theorem::Theorem (  const Theorem &  th  ) 
 

Definition at line 179 of file theorem.cpp.

References CVCL::TheoremValue::d_refcount, d_thm, CVCL::int2string(), isNull(), and CVCL::TRACE.

CVCL::Theorem::~Theorem (   )  [virtual]
 

Definition at line 190 of file theorem.cpp.

References CVCL::TheoremValue::d_refcount, d_thm, CVCL::MemoryManager::deleteData(), CVCL::TheoremValue::getMM(), CVCL::int2string(), isNull(), and CVCL::TRACE.


Member Function Documentation

void CVCL::Theorem::recursivePrint (  int &  i  )  const [private]
 

Definition at line 372 of file theorem.cpp.

References CVCL::Assumptions::end(), std::endl(), getAssumptions(), getCachedValue(), getExpr(), getScope(), and isAssump().

Referenced by printDebug().

void CVCL::Theorem::getAssumptionsRec (  std::set< Expr > &  assumptions  )  const [private]
 

void CVCL::Theorem::printDebug (   )  const [inline]
 

Definition at line 130 of file theorem.h.

References clearAllFlags(), recursivePrint(), setCachedValue(), and setFlag().

Referenced by CVCL::SearchEngineFast::analyzeUIPs(), checkAssump(), CVCL::SearchEngineFast::fixConflict(), and CVCL::Theorem3::printDebug().

Theorem & CVCL::Theorem::operator= (  const Theorem &  th  ) 
 

Definition at line 98 of file theorem.cpp.

References CVCL::TheoremValue::d_refcount, d_thm, CVCL::MemoryManager::deleteData(), CVCL::TheoremValue::getMM(), IF_DEBUG(), CVCL::int2string(), isNull(), toString(), and CVCL::TRACE.

bool CVCL::Theorem::isNull (   )  const [inline]
 

Definition at line 150 of file theorem.h.

References d_thm.

Referenced by CVCL::AssumptionsValue::add(), CVCL::SearchImplBase::applyCNFRules(), CVCL::TheoryBitvector::assertFact(), CVCL::VCL::assertFormula(), CVCL::TheoryBitvector::bitBlastTerm(), TheoryCore::buildModel(), CVCL::VCL::checkContinue(), CVCL::SearchSimple::checkValidMain(), CVCL::SearchSimple::checkValidRec(), clearAllFlags(), CVCL::compare(), CVCL::Variable::deriveThmRec(), CVCL::SearchImplBase::enqueueCNFrec(), CVCL::TheoryQuant::findInstAssumptions(), CVCL::Assumptions::findTheorem(), getAssumptions(), getAssumptionsRef(), CVCL::SearchImplBase::getAssumptionsUsed(), getCachedValue(), CVCL::SearchEngine::getConcreteModel(), getExpandFlag(), getExpr(), CVCL::SearchSat::getImplication(), CVCL::VCL::getImpliedLiteral(), getLHS(), getLitFlag(), getProof(), CVCL::SearchImplBase::getProof(), CVCL::VCL::getProofTCC(), getRHS(), getScope(), CVCL::VCL::getTCC(), CVCL::Expr::hasFind(), CVCL::Expr::hasRep(), CVCL::Expr::hasSig(), CVCL::CommonTheoremProducer::implIntro(), isAssump(), isFlagged(), CVCL::TheoryArith::isInteger(), CVCL::TheoryArith::isIntegerDerive(), CVCL::Theorem3::isNull(), isRewrite(), CVCL::TheoryDatatypeLazy::mergeLabels(), CVCL::TheoryDatatype::mergeLabels(), CVCL::SearchEngineTheoremProducer::negIntro(), CVCL::SearchImplBase::newUserAssumption(), CVCL::TheoryArith::normalizeProjectIneqs(), CVCL::operator<<(), operator=(), CVCL::SearchImplBase::processResult(), CVCL::TheoryArith::processSimpleIntEq(), CVCL::TheoryArith::projectInequalities(), CVCL::SearchEngineTheoremProducer::proofByContradiction(), CVCL::Circuit::propagate(), CVCL::VCL::query(), CVCL::SearchImplBase::replaceITE(), CVCL::VCL::restart(), CVCL::TheoryArith::rewrite(), CVCL::TheoryBitvector::rewriteBoolean(), CVCL::TheoryBitvector::rewriteBV(), CVCL::Theory::rewriteCC(), setCachedValue(), setExpandFlag(), setFlag(), setLitFlag(), CVCL::TheoryRecords::setup(), CVCL::VariableValue::setValue(), TheoryCore::simplifyOp(), CVCL::TheoryBitvector::simplifyOp(), CVCL::VCL::simplifyThm(), TheoryCore::subtypePredicate(), Theorem(), TheoremEq(), CVCL::CommonTheoremProducer::transitivityRule(), CVCL::TheoryUF::update(), CVCL::TheoryDatatypeLazy::update(), CVCL::TheoryDatatype::update(), CVCL::TheoryArray::update(), CVCL::Theory::updateCC(), and ~Theorem().

bool CVCL::Theorem::isRewrite (   )  const
 

Definition at line 218 of file theorem.cpp.

References d_thm, isNull(), and CVCL::TheoremValue::isRewrite().

Referenced by CVCL::SearchImplBase::addToCNFCache(), CVCL::SearchImplBase::applyCNFRules(), TheoryCore::assertEqualities(), CVCL::TheoryDatatype::assertFact(), CVCL::TheoryBitvector::assertFact(), TheoryCore::assignValue(), CVCL::compare(), CVCL::DatatypeTheoremProducer::decompose(), CVCL::TheoryArith::doSolve(), CVCL::SearchImplBase::enqueueCNFrec(), CVCL::Theory::enqueueEquality(), TheoryCore::enqueueFact(), CVCL::BitvectorTheoremProducer::eqToBits(), CVCL::RecordsTheoremProducer::expandEq(), CVCL::SearchImplBase::findInCNFCache(), CVCL::BitvectorTheoremProducer::generalIneqn(), CVCL::CommonTheoremProducer::iffContrapositive(), CVCL::CommonTheoremProducer::iffFalseElim(), CVCL::CommonTheoremProducer::iffMP(), CVCL::SearchEngineTheoremProducer::iffToClauses(), CVCL::CommonTheoremProducer::iffTrueElim(), CVCL::Theorem3::isRewrite(), CVCL::TheoryArith::processIntEq(), CVCL::TheoryArith::processSimpleIntEq(), TheoryCore::processUpdates(), CVCL::TheoryBitvector::pushNegationRec(), CVCL::ExprTransform::pushNegationRec(), CVCL::TheoryArray::renameExpr(), CVCL::SearchImplBase::replaceITE(), TheoryCore::rewriteCore(), CVCL::CoreTheoremProducer::rewriteIteElse(), CVCL::CoreTheoremProducer::rewriteIteThen(), CVCL::ArrayTheoremProducer::rewriteRedundantWrite1(), CVCL::TheoryDatatype::solve(), CVCL::TheoryArith::substAndCanonize(), CVCL::CommonTheoremProducer::symmetryRule(), and CVCL::CommonTheoremProducer::transitivityRule().

bool CVCL::Theorem::isAssump (   )  const
 

Definition at line 296 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::isAssump(), and isNull().

Referenced by CVCL::AssumptionsValue::add(), CVCL::AssumptionsValue::AssumptionsValue(), checkAssump(), CVCL::SearchEngineTheoremProducer::checkSoundNoSkolems(), CVCL::TheoryQuant::findInstAssumptions(), getAssumptionsRef(), CVCL::CommonTheoremProducer::implIntro(), CVCL::Theorem3::isAssump(), CVCL::SearchEngineFast::newIntAssumption(), recursivePrint(), and CVCL::SearchEngineFast::traceConflict().

const Expr & CVCL::Theorem::getExpr (   )  const
 

Definition at line 224 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getExpr(), and isNull().

Referenced by SAT::CNF_Manager::addAssumption(), CVCL::SearchImplBase::addCNFFact(), TheoryCore::addFact(), CVCL::SearchImplBase::addFact(), CVCL::SearchSat::addLemma(), SAT::CNF_Manager::addLemma(), CVCL::SearchEngineFast::addLiteralFact(), CVCL::SearchEngineFast::addNonLiteralFact(), CVCL::TheoryArith::addToBuffer(), CVCL::SearchImplBase::addToCNFCache(), CVCL::SearchEngineFast::analyzeUIPs(), CVCL::CommonTheoremProducer::andElim(), CVCL::SearchImplBase::applyCNFRules(), TheoryCore::assertEqualities(), CVCL::TheoryUF::assertFact(), CVCL::TheoryRecords::assertFact(), CVCL::TheoryQuant::assertFact(), CVCL::TheoryDatatype::assertFact(), TheoryCore::assertFact(), CVCL::TheoryBitvector::assertFact(), CVCL::TheoryArith::assertFact(), TheoryCore::assertFactCore(), TheoryCore::assertFormula(), TheoryCore::assignValue(), CVCL::SearchEngineFast::bcp(), CVCL::TheoryBitvector::bitBlastDisEqn(), CVCL::BitvectorTheoremProducer::bitBlastDisEqnRule(), CVCL::TheoryBitvector::bitBlastTerm(), CVCL::BitvectorTheoremProducer::bitExtractToExtract(), CVCL::BitvectorTheoremProducer::bitvectorFalseRule(), CVCL::BitvectorTheoremProducer::bitvectorTrueRule(), CVCL::QuantTheoremProducer::boundVarElim(), CVCL::TheoryArith::canonPred(), CVCL::SearchEngineTheoremProducer::caseSplit(), CVCL::SearchSat::check(), checkAssump(), CVCL::TheoryBitvector::checkSat(), CVCL::SearchEngineTheoremProducer::checkSoundNoSkolems(), CVCL::SearchSimple::checkValidInternal(), CVCL::SearchSimple::checkValidMain(), CVCL::SearchEngineFast::checkValidMain(), CVCL::SearchSimple::checkValidRec(), CVCL::Circuit::Circuit(), CVCL::ClauseValue::ClauseValue(), TheoryCore::collectBasicVars(), TheoryCore::collectModelValues(), CVCL::TheoryBitvector::collectSharedSubterms(), CVCL::compare(), CVCL::TheoryBitvector::computeModel(), CVCL::SearchEngineTheoremProducer::confAndrAF(), CVCL::SearchEngineTheoremProducer::confAndrAT(), CVCL::SearchEngineTheoremProducer::confIffr(), CVCL::SearchEngineTheoremProducer::confIterIfThen(), CVCL::SearchEngineTheoremProducer::confIterThenElse(), CVCL::SearchEngineTheoremProducer::conflictRule(), CVCL::CommonTheoremProducer::contradictionRule(), SAT::CNF_Manager::convertLemma(), CVCL::ArithTheoremProducer::darkGrayShadow2ab(), CVCL::ArithTheoremProducer::darkGrayShadow2ba(), CVCL::Variable::deriveThmRec(), CVCL::ArithTheoremProducer::diseqToIneq(), CVCL::TheoryArith::doSolve(), CVCL::SearchEngineTheoremProducer::eliminateSkolemAxioms(), CVCL::SearchImplBase::enqueueCNFrec(), TheoryCore::enqueueEquality(), TheoryCore::enqueueFact(), CVCL::SearchEngineFast::enqueueFact(), CVCL::BitvectorTheoremProducer::eqToBits(), CVCL::ArithTheoremProducer::expandDarkShadow(), CVCL::RecordsTheoremProducer::expandEq(), CVCL::ArithTheoremProducer::expandGrayShadow(), CVCL::ArithTheoremProducer::expandGrayShadow0(), CVCL::ArithTheoremProducer::expandGrayShadowConst(), CVCL::RecordsTheoremProducer::expandNeq(), CVCL::BitvectorTheoremProducer::expandTypePred(), CVCL::BitvectorTheoremProducer::extractConcat(), CVCL::SearchImplBase::findInCNFCache(), CVCL::TheoryQuant::findInstAssumptions(), CVCL::ArithTheoremProducer::finiteInterval(), CVCL::SearchEngineFast::fixConflict(), CVCL::Theorem3::getExpr(), CVCL::SearchSat::getImplication(), CVCL::VCL::getImpliedLiteral(), CVCL::SearchSat::getImpliedLiteral(), CVCL::VCL::getTCC(), CVCL::ArithTheoremProducer::grayShadowConst(), CVCL::CommonTheoremProducer::iffContrapositive(), CVCL::CommonTheoremProducer::iffMP(), CVCL::CommonTheoremProducer::iffNotFalse(), CVCL::SearchEngineTheoremProducer::iffToClauses(), CVCL::CommonTheoremProducer::iffTrue(), CVCL::CommonTheoremProducer::implContrapositive(), CVCL::CommonTheoremProducer::implIntro(), CVCL::CommonTheoremProducer::implMP(), CVCL::ArithTheoremProducer::intVarEqnConst(), isAbsLiteral(), CVCL::TheoryArith::isIntegerDerive(), CVCL::TheoryArith::isolateVariable(), CVCL::TheoryArith::isStale(), CVCL::SearchEngineTheoremProducer::iteToClauses(), CVCL::CNF_TheoremProducer::learnedClause(), CVCL::ArithTheoremProducer::lessThanToLE(), CVCL::SearchEngineTheoremProducer::negIntro(), CVCL::SearchImplBase::newIntAssumption(), CVCL::SearchEngineFast::newIntAssumption(), CVCL::SearchSat::newUserAssumption(), CVCL::TheoryBitvector::normalizeBVArith(), CVCL::TheoryBitvector::normalizeConcat(), CVCL::TheoryArith::normalizeProjectIneqs(), CVCL::TheoryQuant::notifyInconsistent(), CVCL::CommonTheoremProducer::notNotElim(), CVCL::CommonTheoremProducer::notToIff(), CVCL::operator<<(), CVCL::TheoryBitvector::padBVPlus(), CVCL::ExprTransform::preprocess(), printx(), CVCL::TheoryArith::processBuffer(), TheoryCore::processEquality(), CVCL::TheoryArith::processFiniteInterval(), CVCL::TheoryArith::processIntEq(), processNode(), CVCL::SearchImplBase::processResult(), CVCL::TheoryArith::processSimpleIntEq(), CVCL::TheoryArith::projectInequalities(), CVCL::SearchEngineTheoremProducer::proofByContradiction(), CVCL::Circuit::propagate(), CVCL::SearchEngineTheoremProducer::propAndrAF(), CVCL::SearchEngineTheoremProducer::propAndrAT(), CVCL::SearchEngineTheoremProducer::propAndrLF(), CVCL::SearchEngineTheoremProducer::propAndrLRT(), CVCL::SearchEngineTheoremProducer::propAndrRF(), CVCL::SearchEngineTheoremProducer::propIffr(), CVCL::SearchEngineTheoremProducer::propIterIfThen(), CVCL::SearchEngineTheoremProducer::propIterIte(), CVCL::SearchEngineTheoremProducer::propIterThen(), proves(), CVCL::DecisionEngine::pushDecision(), CVCL::ExprTransform::pushNegation1(), CVCL::CoreTheoremProducer::queryTCC(), CVCL::ArithTheoremProducer::realShadow(), CVCL::ArithTheoremProducer::realShadowEq(), CVCL::TheoryQuant::recInstantiate(), CVCL::SearchEngineFast::recordFact(), recursivePrint(), refutes(), CVCL::UFTheoremProducer::relToClosure(), CVCL::UFTheoremProducer::relTrans(), SAT::CNF_Manager::replaceITErec(), TheoryCore::rewrite(), CVCL::CommonTheoremProducer::rewriteAnd(), CVCL::TheoryRecords::rewriteAux(), CVCL::TheoryBitvector::rewriteBV(), CVCL::CoreTheoremProducer::rewriteIteElse(), CVCL::CoreTheoremProducer::rewriteIteThen(), CVCL::CommonTheoremProducer::rewriteOr(), CVCL::TheoryQuant::semInst(), TheoryCore::setupTerm(), CVCL::TheoryQuant::setupTriggers(), CVCL::VariableValue::setValue(), CVCL::BitvectorTheoremProducer::signBVLTRule(), CVCL::SearchImplBase::simplify(), TheoryCore::simplifyOp(), CVCL::VCL::simplifyThm(), CVCL::CommonTheoremProducer::skolemize(), TheoryCore::solve(), CVCL::TheoryBitvector::solve(), CVCL::TheoryArray::solve(), CVCL::TheoryArith::solve(), CVCL::SearchEngineFast::split(), CVCL::ArithTheoremProducer::splitGrayShadow(), CVCL::TheoryArith::substAndCanonize(), TheoryCore::subtypePredicate(), CVCL::CommonTheoremProducer::symmetryRule(), CVCL::TheoryQuant::synInst(), TheoremEq(), CVCL::SearchEngineFast::traceConflict(), CVCL::CommonTheoremProducer::transitivityRule(), SAT::CNF_Manager::translateExpr(), CVCL::SearchEngineTheoremProducer::unitProp(), CVCL::SearchEngineFast::unitPropagation(), CVCL::TheoryBitvector::update(), CVCL::Theory::updateCC(), and CVCL::CommonTheoremProducer::varIntroSkolem().

const Expr & CVCL::Theorem::getLHS (   )  const
 

Definition at line 229 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getLHS(), and isNull().

Referenced by CVCL::RefinedArithTheoremProducer::addRCancel(), CVCL::SearchImplBase::addToCNFCache(), CVCL::SearchImplBase::applyCNFRules(), TheoryCore::assertEqualities(), CVCL::TheoryBitvector::assertFact(), TheoryCore::assignValue(), CVCL::TheoryBitvector::bitBlastDisEqn(), CVCL::TheoryBitvector::bitBlastEqn(), CVCL::TheoryBitvector::bitBlastTerm(), CVCL::BitvectorTheoremProducer::bitExtractBVPlusPreComputed(), TheoryCore::buildModel(), CVCL::TheoryArith::canon(), CVCL::TheoryArith::canonRec(), checkRewriteType(), CVCL::TheoryDatatypeLazy::checkSat(), CVCL::TheoryBitvector::checkSat(), CVCL::compare(), CVCL::BitvectorTheoremProducer::computeCarryPreComputed(), CVCL::TheoryUF::computeModel(), CVCL::TheoryRecords::computeModel(), CVCL::TheoryArray::computeModel(), CVCL::DatatypeTheoremProducer::decompose(), CVCL::SearchImplBase::enqueueCNFrec(), CVCL::BitvectorTheoremProducer::eqToBits(), CVCL::RecordsTheoremProducer::expandEq(), CVCL::Theory::find(), CVCL::SearchImplBase::findInCNFCache(), CVCL::BitvectorTheoremProducer::generalIneqn(), CVCL::Theorem3::getLHS(), CVCL::CommonTheoremProducer::iffContrapositive(), CVCL::CommonTheoremProducer::iffFalseElim(), CVCL::CommonTheoremProducer::iffMP(), CVCL::SearchEngineTheoremProducer::iffToClauses(), CVCL::CommonTheoremProducer::iffTrueElim(), CVCL::RefinedArithTheoremProducer::multZeroL(), CVCL::TheoryBitvector::normalizeBVArith(), CVCL::TheoryBitvector::normalizeConcat(), CVCL::TheoryArith::processRealEq(), CVCL::TheoryArith::processSimpleIntEq(), SAT::CNF_Manager::replaceITErec(), TheoryCore::rewrite(), CVCL::TheoryRecords::rewriteAux(), CVCL::TheoryBitvector::rewriteBoolean(), CVCL::TheoryBitvector::rewriteBV(), CVCL::CoreTheoremProducer::rewriteIteElse(), CVCL::CoreTheoremProducer::rewriteIteThen(), CVCL::ArrayTheoremProducer::rewriteRedundantWrite1(), CVCL::Expr::setFind(), CVCL::TheoryBitvector::setupExpr(), CVCL::BitvectorTheoremProducer::signBVLTRule(), CVCL::TheoryBitvector::signExtendBVLT(), TheoryCore::simplifyFullRec(), TheoryCore::simplifyInPlaceRec(), TheoryCore::simplifyOp(), CVCL::TheoryBitvector::simplifyOp(), CVCL::Theory::simplifyOp(), CVCL::TheoryDatatype::solve(), CVCL::TheoryBitvector::solve(), CVCL::CommonTheoremProducer::symmetryRule(), CVCL::CommonTheoremProducer::transitivityRule(), CVCL::TheoryDatatypeLazy::update(), CVCL::TheoryDatatype::update(), CVCL::TheoryBitvector::update(), CVCL::TheoryArith::update(), and CVCL::Theory::updateHelper().

const Expr & CVCL::Theorem::getRHS (   )  const
 

Definition at line 234 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getRHS(), and isNull().

Referenced by CVCL::RefinedArithTheoremProducer::addRCancel(), CVCL::SearchImplBase::addToCNFCache(), CVCL::SearchImplBase::applyCNFRules(), TheoryCore::assertEqualities(), TheoryCore::assignValue(), CVCL::TheoryBitvector::bitBlastDisEqn(), CVCL::TheoryBitvector::bitBlastEqn(), CVCL::TheoryBitvector::bitBlastTerm(), CVCL::BitvectorTheoremProducer::bitExtractBVPlusPreComputed(), CVCL::BitvectorTheoremProducer::bitExtractSXRule(), TheoryCore::buildModel(), CVCL::TheoryArith::canon(), CVCL::ArithTheoremProducer::canonCombineLikeTerms(), CVCL::ArithTheoremProducer::canonDivide(), CVCL::ArithTheoremProducer::canonInvertMult(), CVCL::ArithTheoremProducer::canonMult(), CVCL::ArithTheoremProducer::canonMultConstPlus(), CVCL::ArithTheoremProducer::canonMultMtermMterm(), CVCL::TheoryArith::canonPredEquiv(), CVCL::TheoryArith::canonRec(), CVCL::TheoryArith::canonSimplify(), checkRewriteType(), CVCL::TheoryDatatypeLazy::checkSat(), TheoryCore::checkSat(), CVCL::TheoryBitvector::checkSat(), CVCL::SearchSimple::checkValidInternal(), CVCL::SearchEngineFast::checkValidInternal(), TheoryCore::collectBasicVars(), TheoryCore::collectModelValues(), CVCL::BitvectorTheoremProducer::collectOneTermOfPlus(), CVCL::compare(), CVCL::BitvectorTheoremProducer::computeCarryPreComputed(), CVCL::TheoryUF::computeModel(), CVCL::TheoryRecords::computeModel(), CVCL::TheoryBitvector::computeModel(), CVCL::TheoryArray::computeModel(), TheoryCore::computeModelBasic(), CVCL::TheoryRecords::computeModelTerm(), CVCL::TheoryUF::computeTCC(), CVCL::TheorySimulate::computeTCC(), CVCL::TheoryRecords::computeTCC(), TheoryCore::computeTCC(), CVCL::TheoryArray::computeTCC(), CVCL::Theory::computeTCC(), CVCL::BitvectorTheoremProducer::createNewPlusCollection(), CVCL::DatatypeTheoremProducer::decompose(), CVCL::TheoryArith::doSolve(), CVCL::SearchImplBase::enqueueCNFrec(), CVCL::BitvectorTheoremProducer::eqToBits(), CVCL::ArithTheoremProducer::equalLeaves1(), CVCL::ArithTheoremProducer::equalLeaves2(), CVCL::ArithTheoremProducer::equalLeaves3(), CVCL::ArithTheoremProducer::equalLeaves4(), CVCL::RecordsTheoremProducer::expandEq(), CVCL::Theory::find(), CVCL::Theory::findExpr(), CVCL::BitvectorTheoremProducer::generalIneqn(), CVCL::Theorem3::getRHS(), CVCL::CommonTheoremProducer::iffContrapositive(), CVCL::CommonTheoremProducer::iffFalseElim(), CVCL::CommonTheoremProducer::iffMP(), CVCL::SearchEngineTheoremProducer::iffToClauses(), CVCL::CommonTheoremProducer::iffTrueElim(), CVCL::TheoryArith::isolateVariable(), CVCL::TheoryArith::isStale(), CVCL::ExprTransform::ite_convert(), CVCL::ExprTransform::ite_simplify(), CVCL::Theory::leavesAreSimp(), CVCL::TheoryDatatypeLazy::mergeLabels(), CVCL::TheoryArith::normalize(), CVCL::TheoryBitvector::normalizeBVArith(), CVCL::TheoryBitvector::normalizeConcat(), CVCL::TheoryBitvector::parseExprOp(), CVCL::ExprTransform::preprocess(), TheoryCore::processEquality(), CVCL::TheoryArith::processFiniteInterval(), CVCL::TheoryArith::processRealEq(), CVCL::TheoryArith::processSimpleIntEq(), TheoryCore::processUpdates(), CVCL::ExprTransform::pushNegation1(), CVCL::TheoryBitvector::pushNegationRec(), CVCL::ExprTransform::pushNegationRec(), TheoryCore::registerAtom(), CVCL::TheoryArray::renameExpr(), CVCL::SearchImplBase::replaceITE(), SAT::CNF_Manager::replaceITErec(), CVCL::SearchSimple::restartInternal(), CVCL::SearchEngineFast::restartInternal(), CVCL::TheoryUF::rewrite(), CVCL::TheoryRecords::rewrite(), CVCL::TheoryDatatype::rewrite(), TheoryCore::rewrite(), CVCL::TheoryArith::rewrite(), CVCL::TheoryBitvector::rewriteAtomic(), CVCL::TheoryRecords::rewriteAux(), CVCL::TheoryBitvector::rewriteBoolean(), CVCL::TheoryBitvector::rewriteBV(), TheoryCore::rewriteCore(), CVCL::CoreTheoremProducer::rewriteIteElse(), CVCL::CoreTheoremProducer::rewriteIteThen(), TheoryCore::rewriteN(), CVCL::ArrayTheoremProducer::rewriteRedundantWrite1(), CVCL::TheoryArith::rewriteToDiff(), CVCL::TheoryRecords::setup(), CVCL::TheoryBitvector::setupExpr(), CVCL::BitvectorTheoremProducer::signBVLTRule(), CVCL::TheoryBitvector::signExtendBVLT(), CVCL::VCL::simplify(), TheoryCore::simplify(), CVCL::Theory::simplifyExpr(), TheoryCore::simplifyFullRec(), TheoryCore::simplifyInPlaceRec(), TheoryCore::simplifyOp(), CVCL::TheoryBitvector::simplifyOp(), CVCL::Theory::simplifyOp(), CVCL::VCL::simplifyThm(), CVCL::VCL::simplifyThm2(), CVCL::TheoryDatatype::solve(), CVCL::TheoryBitvector::solve(), CVCL::SearchEngineFast::split(), CVCL::TheoryArith::substAndCanonize(), CVCL::CommonTheoremProducer::symmetryRule(), CVCL::CommonTheoremProducer::transitivityRule(), SAT::CNF_Manager::translateExprRec(), CVCL::RefinedArithTheoremProducer::uMinusToMult(), CVCL::TheoryUF::update(), CVCL::TheoryRecords::update(), CVCL::TheoryDatatypeLazy::update(), CVCL::TheoryDatatype::update(), CVCL::TheoryBitvector::update(), CVCL::TheoryArray::update(), CVCL::TheoryArith::update(), CVCL::Theory::updateCC(), and CVCL::Theory::updateHelper().

const Assumptions & CVCL::Theorem::getAssumptions (   )  const
 

Definition at line 240 of file theorem.cpp.

References CVCL::Assumptions::add(), CVCL::TheoremValue::d_assump, d_thm, CVCL::Assumptions::empty(), getAssumptionsRef(), CVCL::Assumptions::init(), CVCL::TheoremValue::isAssump(), CVCL::Assumptions::isNull(), isNull(), CVCL::Assumptions::setConst(), and withAssumptions().

Referenced by CVCL::AssumptionsValue::add(), CVCL::CommonTheoremProducer::andElim(), CVCL::AssumptionsValue::AssumptionsValue(), CVCL::SearchEngineTheoremProducer::caseSplit(), checkAssump(), checkAssumpDebug(), CVCL::SearchEngineTheoremProducer::checkSoundNoSkolems(), CVCL::ArithTheoremProducer::diseqToIneq(), CVCL::ArithTheoremProducer::equalLeaves1(), CVCL::ArithTheoremProducer::equalLeaves2(), CVCL::ArithTheoremProducer::equalLeaves3(), CVCL::ArithTheoremProducer::equalLeaves4(), CVCL::RecordsTheoremProducer::expandEq(), CVCL::RecordsTheoremProducer::expandNeq(), CVCL::Assumptions::findTheorem(), CVCL::Theorem3::getAssumptions(), getAssumptionsCopy(), CVCL::SearchImplBase::getAssumptionsUsed(), CVCL::CommonTheoremProducer::iffContrapositive(), CVCL::CommonTheoremProducer::iffFalseElim(), CVCL::CommonTheoremProducer::iffNotFalse(), CVCL::CommonTheoremProducer::iffTrue(), CVCL::CommonTheoremProducer::iffTrueElim(), CVCL::SearchEngineTheoremProducer::negIntro(), CVCL::CommonTheoremProducer::notToIff(), CVCL::SearchEngineTheoremProducer::proofByContradiction(), CVCL::CoreTheoremProducer::queryTCC(), recursivePrint(), CVCL::UFTheoremProducer::relToClosure(), CVCL::CoreTheoremProducer::rewriteIteElse(), CVCL::CoreTheoremProducer::rewriteIteThen(), CVCL::ArrayTheoremProducer::rewriteRedundantWrite1(), and CVCL::SearchEngineTheoremProducer::verifyConflict().

void CVCL::Theorem::getLeafAssumptions (  std::vector< Expr > &  assumptions,
bool  negate = false
)  const
 

Referenced by TheoryCore::buildModel(), CVCL::SearchSimple::checkValidMain(), CVCL::SearchEngineFast::checkValidMain(), CVCL::SearchEngine::getConcreteModel(), CVCL::CNF_TheoremProducer::learnedClause(), and TheoryCore::refineCounterExample().

const Assumptions & CVCL::Theorem::getAssumptionsRef (   )  const
 

Definition at line 283 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getAssumptionsRef(), isAssump(), isNull(), and withAssumptions().

Referenced by CVCL::SearchEngineFast::analyzeUIPs(), CVCL::TheoryQuant::findInstAssumptions(), getAssumptions(), CVCL::Theorem3::getAssumptionsRef(), CVCL::CommonTheoremProducer::implIntro(), and CVCL::SearchEngineFast::traceConflict().

Assumptions CVCL::Theorem::getAssumptionsCopy (   )  const
 

Definition at line 304 of file theorem.cpp.

References CVCL::Assumptions::copy(), and getAssumptions().

Referenced by CVCL::BitvectorTheoremProducer::bitBlastDisEqnRule(), CVCL::BitvectorTheoremProducer::bitExtractToExtract(), CVCL::BitvectorTheoremProducer::bitvectorTrueRule(), CVCL::QuantTheoremProducer::boundVarElim(), CVCL::SearchEngineTheoremProducer::eliminateSkolemAxioms(), CVCL::BitvectorTheoremProducer::eqToBits(), CVCL::ArithTheoremProducer::expandDarkShadow(), CVCL::ArithTheoremProducer::expandGrayShadow(), CVCL::ArithTheoremProducer::expandGrayShadow0(), CVCL::ArithTheoremProducer::expandGrayShadowConst(), CVCL::BitvectorTheoremProducer::expandTypePred(), CVCL::Theorem3::getAssumptionsCopy(), CVCL::ArithTheoremProducer::grayShadowConst(), CVCL::SearchEngineTheoremProducer::iffToClauses(), CVCL::CommonTheoremProducer::implContrapositive(), CVCL::ArithTheoremProducer::intVarEqnConst(), CVCL::SearchEngineTheoremProducer::iteToClauses(), CVCL::CommonTheoremProducer::notNotElim(), CVCL::ArithTheoremProducer::splitGrayShadow(), and CVCL::CommonTheoremProducer::symmetryRule().

const Proof & CVCL::Theorem::getProof (   )  const
 

Definition at line 309 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getProof(), isNull(), and withProof().

Referenced by CVCL::CommonTheoremProducer::andElim(), CVCL::BitvectorTheoremProducer::bitBlastDisEqnRule(), CVCL::BitvectorTheoremProducer::bitExtractToExtract(), CVCL::BitvectorTheoremProducer::bitvectorTrueRule(), CVCL::QuantTheoremProducer::boundVarElim(), CVCL::SearchEngineTheoremProducer::caseSplit(), CVCL::SearchEngineTheoremProducer::confAndrAF(), CVCL::SearchEngineTheoremProducer::confAndrAT(), CVCL::SearchEngineTheoremProducer::confIffr(), CVCL::SearchEngineTheoremProducer::confIterIfThen(), CVCL::SearchEngineTheoremProducer::confIterThenElse(), CVCL::SearchEngineTheoremProducer::conflictRule(), CVCL::CommonTheoremProducer::contradictionRule(), CVCL::ArithTheoremProducer::darkGrayShadow2ab(), CVCL::ArithTheoremProducer::darkGrayShadow2ba(), CVCL::DatatypeTheoremProducer::decompose(), CVCL::ArithTheoremProducer::diseqToIneq(), CVCL::SearchEngineTheoremProducer::eliminateSkolemAxioms(), CVCL::BitvectorTheoremProducer::eqToBits(), CVCL::ArithTheoremProducer::equalLeaves1(), CVCL::ArithTheoremProducer::equalLeaves2(), CVCL::ArithTheoremProducer::equalLeaves3(), CVCL::ArithTheoremProducer::equalLeaves4(), CVCL::ArithTheoremProducer::expandDarkShadow(), CVCL::RecordsTheoremProducer::expandEq(), CVCL::ArithTheoremProducer::expandGrayShadow(), CVCL::ArithTheoremProducer::expandGrayShadow0(), CVCL::ArithTheoremProducer::expandGrayShadowConst(), CVCL::RecordsTheoremProducer::expandNeq(), CVCL::BitvectorTheoremProducer::expandTypePred(), CVCL::ArithTheoremProducer::finiteInterval(), CVCL::Theorem3::getProof(), CVCL::SearchImplBase::getProof(), CVCL::VCL::getProofTCC(), CVCL::ArithTheoremProducer::grayShadowConst(), CVCL::CommonTheoremProducer::iffContrapositive(), CVCL::CommonTheoremProducer::iffFalseElim(), CVCL::CommonTheoremProducer::iffMP(), CVCL::CommonTheoremProducer::iffNotFalse(), CVCL::SearchEngineTheoremProducer::iffToClauses(), CVCL::CommonTheoremProducer::iffTrue(), CVCL::CommonTheoremProducer::iffTrueElim(), CVCL::CommonTheoremProducer::implContrapositive(), CVCL::CommonTheoremProducer::implIntro(), CVCL::CommonTheoremProducer::implMP(), CVCL::ArithTheoremProducer::intVarEqnConst(), CVCL::SearchEngineTheoremProducer::iteToClauses(), CVCL::CNF_TheoremProducer::learnedClause(), CVCL::ArithTheoremProducer::lessThanToLE(), CVCL::SearchEngineTheoremProducer::negIntro(), CVCL::CommonTheoremProducer::notNotElim(), CVCL::CommonTheoremProducer::notToIff(), CVCL::SearchEngineTheoremProducer::proofByContradiction(), CVCL::SearchEngineTheoremProducer::propAndrAF(), CVCL::SearchEngineTheoremProducer::propAndrAT(), CVCL::SearchEngineTheoremProducer::propAndrLF(), CVCL::SearchEngineTheoremProducer::propAndrLRT(), CVCL::SearchEngineTheoremProducer::propAndrRF(), CVCL::SearchEngineTheoremProducer::propIffr(), CVCL::SearchEngineTheoremProducer::propIterIfThen(), CVCL::SearchEngineTheoremProducer::propIterIte(), CVCL::SearchEngineTheoremProducer::propIterThen(), CVCL::CoreTheoremProducer::queryTCC(), CVCL::ArithTheoremProducer::realShadow(), CVCL::ArithTheoremProducer::realShadowEq(), CVCL::UFTheoremProducer::relToClosure(), CVCL::UFTheoremProducer::relTrans(), CVCL::CoreTheoremProducer::rewriteIteElse(), CVCL::CoreTheoremProducer::rewriteIteThen(), CVCL::ArrayTheoremProducer::rewriteRedundantWrite1(), CVCL::ArithTheoremProducer::splitGrayShadow(), CVCL::CommonTheoremProducer::symmetryRule(), CVCL::CommonTheoremProducer::transitivityRule(), and CVCL::SearchEngineTheoremProducer::unitProp().

int CVCL::Theorem::getScope (   )  const
 

Definition at line 367 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getScope(), and isNull().

Referenced by CVCL::SearchImplBase::enqueueCNFrec(), TheoryCore::enqueueEquality(), TheoryCore::enqueueFact(), CVCL::SearchEngineFast::fixConflict(), CVCL::Theorem3::getScope(), CVCL::SearchEngineFast::recordFact(), recursivePrint(), CVCL::Literal::setValue(), CVCL::Variable::setValue(), and CVCL::SearchEngineFast::traceConflict().

bool CVCL::Theorem::withProof (   )  const
 

Definition at line 211 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::d_tm, and CVCL::TheoremManager::withProof().

Referenced by getProof(), Theorem(), and CVCL::Theorem3::withProof().

bool CVCL::Theorem::withAssumptions (   )  const
 

Definition at line 214 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::d_tm, and CVCL::TheoremManager::withAssumptions().

Referenced by checkAssumpDebug(), getAssumptions(), getAssumptionsRef(), and CVCL::Theorem3::withAssumptions().

std::string CVCL::Theorem::toString (   )  const [inline]
 

Definition at line 371 of file theorem.h.

Referenced by CVCL::AssumptionsValue::add(), CVCL::SearchEngineFast::addLiteralFact(), CVCL::CommonTheoremProducer::andElim(), CVCL::SearchImplBase::applyCNFRules(), CVCL::TheoryRecords::assertFact(), CVCL::TheoryQuant::assertFact(), TheoryCore::assertFact(), TheoryCore::assertFormula(), TheoryCore::assignValue(), CVCL::TheoryBitvector::bitBlastDisEqn(), CVCL::BitvectorTheoremProducer::bitBlastDisEqnRule(), CVCL::TheoryBitvector::bitBlastEqn(), CVCL::TheoryBitvector::bitBlastTerm(), CVCL::BitvectorTheoremProducer::bitExtractBitwise(), CVCL::BitvectorTheoremProducer::bitExtractBVPlusPreComputed(), CVCL::TheoryArith::canonPred(), CVCL::TheoryArith::canonPredEquiv(), checkAssump(), checkRewriteType(), CVCL::ClauseValue::ClauseValue(), CVCL::SearchEngineTheoremProducer::conflictRule(), CVCL::CommonTheoremProducer::contradictionRule(), CVCL::ArithTheoremProducer::darkGrayShadow2ab(), CVCL::ArithTheoremProducer::darkGrayShadow2ba(), CVCL::Variable::deriveThmRec(), CVCL::TheoryArith::doSolve(), CVCL::SearchImplBase::enqueueCNFrec(), CVCL::Theory::enqueueEquality(), CVCL::BitvectorTheoremProducer::eqToBits(), CVCL::BitvectorTheoremProducer::generalIneqn(), CVCL::CommonTheoremProducer::iffContrapositive(), CVCL::CommonTheoremProducer::iffFalseElim(), CVCL::CommonTheoremProducer::iffMP(), CVCL::CommonTheoremProducer::iffTrueElim(), CVCL::CommonTheoremProducer::implMP(), CVCL::TheoryArith::isolateVariable(), CVCL::SearchEngineTheoremProducer::negIntro(), CVCL::SearchEngineFast::newIntAssumption(), CVCL::TheoryQuant::notifyInconsistent(), CVCL::CommonTheoremProducer::notNotElim(), CVCL::CommonTheoremProducer::notToIff(), operator=(), print(), TheoryCore::processEquality(), processNode(), TheoryCore::processNotify(), CVCL::TheoryArith::processRealEq(), CVCL::SearchImplBase::processResult(), CVCL::TheoryArith::projectInequalities(), CVCL::SearchEngineTheoremProducer::proofByContradiction(), CVCL::TheoryBitvector::pushNegationRec(), CVCL::ExprTransform::pushNegationRec(), CVCL::ArithTheoremProducer::realShadow(), CVCL::ArithTheoremProducer::realShadowEq(), CVCL::TheoryQuant::recInstantiate(), CVCL::TheoryArray::renameExpr(), CVCL::TheoryBitvector::rewriteAtomic(), TheoryCore::rewriteCore(), CVCL::TheoryQuant::semInst(), CVCL::VariableValue::setValue(), CVCL::TheoryQuant::synInst(), Theorem(), CVCL::SearchEngineFast::traceConflict(), CVCL::SearchEngineTheoremProducer::unitProp(), and CVCL::TheoryBitvector::update().

void CVCL::Theorem::printx (   )  const
 

Definition at line 206 of file theorem.cpp.

References getExpr(), and CVCL::Expr::print().

Referenced by CVCL::Theorem3::printx().

void CVCL::Theorem::print (   )  const
 

Definition at line 208 of file theorem.cpp.

References std::endl(), and toString().

Referenced by CVCL::Theorem3::print().

bool CVCL::Theorem::isFlagged (   )  const
 

Check if the flag attribute is set.

Definition at line 318 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::isFlagged(), and isNull().

Referenced by CVCL::SearchEngineTheoremProducer::checkSoundNoSkolems(), CVCL::TheoryQuant::findInstAssumptions(), processNode(), and CVCL::SearchEngineFast::traceConflict().

void CVCL::Theorem::clearAllFlags (   )  const
 

Clear the flag attribute in all the theorems.

Definition at line 323 of file theorem.cpp.

References CVCL::TheoremValue::clearAllFlags(), d_thm, and isNull().

Referenced by CVCL::SearchEngineFast::analyzeUIPs(), checkAssumpDebug(), CVCL::SearchEngineTheoremProducer::eliminateSkolemAxioms(), CVCL::TheoryQuant::notifyInconsistent(), printDebug(), and CVCL::SearchEngineFast::traceConflict().

void CVCL::Theorem::setFlag (   )  const
 

Set the flag attribute.

Definition at line 328 of file theorem.cpp.

References d_thm, isNull(), and CVCL::TheoremValue::setFlag().

Referenced by CVCL::SearchEngineTheoremProducer::checkSoundNoSkolems(), CVCL::TheoryQuant::findInstAssumptions(), CVCL::Assumptions::findTheorem(), printDebug(), processNode(), and CVCL::SearchEngineFast::traceConflict().

void CVCL::Theorem::setExpandFlag (  bool  val  )  const
 

Set the "expand" attribute.

Definition at line 343 of file theorem.cpp.

References d_thm, isNull(), and CVCL::TheoremValue::setExpandFlag().

Referenced by CVCL::SearchEngineFast::traceConflict().

bool CVCL::Theorem::getExpandFlag (   )  const
 

Check the "expand" attribute.

Definition at line 348 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getExpandFlag(), and isNull().

Referenced by processNode().

void CVCL::Theorem::setLitFlag (  bool  val  )  const
 

Set the "literal" attribute.

The expression of this theorem will be added as a conflict clause literal

Definition at line 353 of file theorem.cpp.

References d_thm, isNull(), and CVCL::TheoremValue::setLitFlag().

Referenced by CVCL::SearchEngineFast::traceConflict().

bool CVCL::Theorem::getLitFlag (   )  const
 

Check the "literal" attribute.

The expression of this theorem will be added as a conflict clause literal

Definition at line 358 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getLitFlag(), and isNull().

Referenced by processNode().

bool CVCL::Theorem::isAbsLiteral (   )  const
 

Check if the theorem is a literal.

Definition at line 363 of file theorem.cpp.

References getExpr(), and CVCL::Expr::isAbsLiteral().

Referenced by CVCL::SearchImplBase::addCNFFact(), CVCL::SearchEngineFast::addLiteralFact(), CVCL::SearchImplBase::enqueueCNFrec(), CVCL::SearchEngineFast::enqueueFact(), CVCL::Theorem3::isAbsLiteral(), processNode(), CVCL::SearchEngineFast::traceConflict(), and CVCL::SearchEngineFast::unitPropagation().

bool CVCL::Theorem::refutes (  const Expr &  e  )  const [inline]
 

Check if the flag attribute is set.

Definition at line 219 of file theorem.h.

References getExpr(), and CVCL::Expr::isNot().

Referenced by CVCL::SearchEngineTheoremProducer::confAndrAF(), CVCL::SearchEngineTheoremProducer::confAndrAT(), CVCL::SearchEngineTheoremProducer::confIffr(), CVCL::SearchEngineTheoremProducer::confIterIfThen(), CVCL::SearchEngineTheoremProducer::confIterThenElse(), matches(), CVCL::SearchEngineTheoremProducer::propAndrAF(), CVCL::SearchEngineTheoremProducer::propAndrLF(), CVCL::SearchEngineTheoremProducer::propAndrRF(), CVCL::SearchEngineTheoremProducer::propIffr(), CVCL::SearchEngineTheoremProducer::propIterIfThen(), CVCL::SearchEngineTheoremProducer::propIterIte(), and CVCL::SearchEngineTheoremProducer::propIterThen().

bool CVCL::Theorem::proves (  const Expr &  e  )  const [inline]
 

Check if the flag attribute is set.

Definition at line 226 of file theorem.h.

References getExpr().

Referenced by CVCL::SearchEngineTheoremProducer::confAndrAF(), CVCL::SearchEngineTheoremProducer::confAndrAT(), CVCL::SearchEngineTheoremProducer::confIffr(), CVCL::SearchEngineTheoremProducer::confIterIfThen(), CVCL::SearchEngineTheoremProducer::confIterThenElse(), matches(), CVCL::SearchEngineTheoremProducer::propAndrAT(), CVCL::SearchEngineTheoremProducer::propAndrLF(), CVCL::SearchEngineTheoremProducer::propAndrLRT(), CVCL::SearchEngineTheoremProducer::propAndrRF(), CVCL::SearchEngineTheoremProducer::propIffr(), CVCL::SearchEngineTheoremProducer::propIterIfThen(), CVCL::SearchEngineTheoremProducer::propIterIte(), and CVCL::SearchEngineTheoremProducer::propIterThen().

bool CVCL::Theorem::matches (  const Expr &  e  )  const [inline]
 

Check if the flag attribute is set.

Definition at line 231 of file theorem.h.

References proves(), and refutes().

void CVCL::Theorem::setCachedValue (  int  value  )  const
 

Check if the flag attribute is set.

Definition at line 333 of file theorem.cpp.

References d_thm, isNull(), and CVCL::TheoremValue::setCachedValue().

Referenced by printDebug(), processNode(), and CVCL::SearchEngineFast::traceConflict().

int CVCL::Theorem::getCachedValue (   )  const
 

Check if the flag attribute is set.

Definition at line 338 of file theorem.cpp.

References d_thm, CVCL::TheoremValue::getCachedValue(), and isNull().

Referenced by processNode(), recursivePrint(), and CVCL::SearchEngineFast::traceConflict().

std::ostream& CVCL::Theorem::print (  std::ostream &  os,
const std::string &  name
)  const
 

Printing a theorem to a stream, calling it "name".


Friends And Related Function Documentation

friend class TheoremProducer [friend]
 

Definition at line 88 of file theorem.h.

friend class Theorem3 [friend]
 

Definition at line 90 of file theorem.h.

int compare (  const Theorem &  t1,
const Theorem &  t2
)  [friend]
 

Compare Theorems by their expressions. Return -1, 0, or 1.

This is an arbitrary total ordering on Theorems. For simplicity, we define rewrite theorems (e1 = e2 or e1 <=> e2) to be smaller than other theorems.

Definition at line 53 of file theorem.cpp.

int compare (  const Theorem &  t1,
const Expr &  e2
)  [friend]
 

Compare a Theorem with an Expr (as if Expr is a Theorem).

Definition at line 73 of file theorem.cpp.

int compareByPtr (  const Theorem &  t1,
const Theorem &  t2
)  [friend]
 

Compare Theorems by TheoremValue pointers. Return -1, 0, or 1.

Definition at line 91 of file theorem.cpp.

bool operator== (  const Theorem &  t1,
const Theorem &  t2
)  [friend]
 

Equality is w.r.t. compare().

Definition at line 101 of file theorem.h.

bool operator!= (  const Theorem &  t1,
const Theorem &  t2
)  [friend]
 

Disequality is w.r.t. compare().

Definition at line 104 of file theorem.h.

std::ostream& operator<< (  std::ostream &  os,
const Theorem &  t
)  [friend]
 

Definition at line 244 of file theorem.h.


Member Data Documentation

TheoremValue* CVCL::Theorem::d_thm [private]
 

Definition at line 92 of file theorem.h.

Referenced by clearAllFlags(), CVCL::compare(), CVCL::compareByPtr(), getAssumptions(), getAssumptionsRef(), getCachedValue(), getExpandFlag(), getExpr(), getLHS(), getLitFlag(), getProof(), getRHS(), getScope(), isAssump(), isFlagged(), isNull(), isRewrite(), operator=(), setCachedValue(), setExpandFlag(), setFlag(), setLitFlag(), Theorem(), withAssumptions(), withProof(), and ~Theorem().


The documentation for this class was generated from the following files:
Generated on Thu Apr 13 16:57:44 2006 for CVC Lite by  doxygen 1.4.4