#include <theorem.h>
Collaboration diagram for CVCL::Theorem:
Definition at line 84 of file theorem.h.
|
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(). |
|
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(). |
|
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(). |
|
|
|
Definition at line 179 of file theorem.cpp. References CVCL::TheoremValue::d_refcount, d_thm, CVCL::int2string(), isNull(), and CVCL::TRACE. |
|
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. |
|
Definition at line 372 of file theorem.cpp. References CVCL::Assumptions::end(), std::endl(), getAssumptions(), getCachedValue(), getExpr(), getScope(), and isAssump(). Referenced by printDebug(). |
|
|
|
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(). |
|
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. |
|
|
|
|
|
|
|
|
|
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(). |
|
|
|
|
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(). |
|
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(). |
|
|
Definition at line 206 of file theorem.cpp. References getExpr(), and CVCL::Expr::print(). Referenced by CVCL::Theorem3::printx(). |
|
Definition at line 208 of file theorem.cpp. References std::endl(), and toString(). Referenced by CVCL::Theorem3::print(). |
|
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(). |
|
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(). |
|
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(). |
|
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(). |
|
Check the "expand" attribute.
Definition at line 348 of file theorem.cpp. References d_thm, CVCL::TheoremValue::getExpandFlag(), and isNull(). Referenced by processNode(). |
|
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(). |
|
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(). |
|
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(). |
|
|
|
Check if the flag attribute is set.
|
|
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(). |
|
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(). |
|
Printing a theorem to a stream, calling it "name".
|
|
|
|
|
|
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. |
|
Compare a Theorem with an Expr (as if Expr is a Theorem).
Definition at line 73 of file theorem.cpp. |
|
Compare Theorems by TheoremValue pointers. Return -1, 0, or 1.
Definition at line 91 of file theorem.cpp. |
|
Equality is w.r.t. compare().
|
|
Disequality is w.r.t. compare().
|
|
|
|
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(). |