Collaboration diagram for Search Engine:
|
Create the trusted component. This function is defined in search_theorem_producer.cpp Definition at line 50 of file search_theorem_producer.cpp. References CVCL::SearchEngine::d_core, and CVCL::TheoryCore::getTM(). Referenced by CVCL::SearchEngine::SearchEngine(). |
|
Constructor.
Definition at line 42 of file search.cpp. References CVCL::SearchEngine::createRules(), and CVCL::SearchEngine::d_rules. |
|
Destructor.
Definition at line 51 of file search.cpp. References CVCL::SearchEngine::d_rules. |
|
Name of this search engine.
Implemented in CVCL::SearchEngineFast, CVCL::SearchSat, and CVCL::SearchSimple. Referenced by CVCL::VCL::reprocessFlags(). |
|
Accessor for TheoryCore.
Definition at line 88 of file search.h. References CVCL::SearchEngine::d_core. |
|
Register an atomic formula of interest. Registered atoms are tracked by the decision procedures. If one of them is deduced to be true or false, it is added to a list of implied literals. Implied literals can be retrieved with the getImpliedLiteral function Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::registerAtom(). |
|
Return next literal implied by last assertion. Null Expr if none. Returned literals are either registered atomic formulas or their negation Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::getImpliedLiteral(). |
|
Checks the validity of a formula in the current context. If the query is valid, it returns a theorem and the scope and context should be the same as when called. If the query is invalid, it returns a NULL theorem and the context will be one which falsifies the query. Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::assertFormula(), CVCL::SearchEngine::getConcreteModel(), CVCL::VCL::query(), and CVCL::VCL::simplifyThm(). |
|
Reruns last check with e as an additional assumption. This method should only be called after a query which is invalid. Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::checkContinue(), and CVCL::VCL::restart(). |
|
Returns to context immediately before last call to checkValid. This method should only be called after a query which is invalid. Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::returnFromCheck(). |
|
Returns the result of the most recent valid theorem. Returns Null Theorem if last call was not valid Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::SearchEngine::getConcreteModel(). |
|
Generate and add an assumption to the set of assumptions in the current context. By default, the assumption is added at the current scope. The default can be overridden by specifying the scope parameter. Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::assertFormula(). |
|
Get all user assumptions made in this and all previous contexts. User assumptions are created either by calls to newUserAssumption or a call to checkValid. In the latter case, the negated query is added as an assumption.
Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. |
|
Get assumptions made internally in this and all previous contexts. Internal assumptions are literals assumed by the sat solver.
Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. |
|
Get all assumptions made in this and all previous contexts.
Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::SearchEngine::getConcreteModel(). |
|
Check if the formula has already been assumed previously.
Implemented in CVCL::SearchEngineFast, CVCL::SearchImplBase, and CVCL::SearchSat. |
|
Will return the set of assertions which make the queried formula false. This method should only be called after an invalid query It will try to return the simplest possible set of assertions which are sufficient to make the queried expression false.
Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::checkContinue(). |
|
Returns the proof term for the last proven query. It should be called only after a valid query. In any other case, it returns Null. Implemented in CVCL::SearchImplBase, and CVCL::SearchSat. Referenced by CVCL::VCL::getProof(). |
|
Build a concrete Model (assign values to variables), should only be called after an invalid query.
Definition at line 57 of file search.cpp. References CVCL::TheoryCore::buildModel(), CVCL::SearchEngine::checkValid(), CVCL::TheoryCore::collectBasicVars(), CVCL::SearchEngine::d_core, CVCL::Theory::falseExpr(), CVCL::SearchEngine::getAssumptions(), CVCL::TheoryCore::getCM(), CVCL::Theory::getEM(), CVCL::Theorem::getLeafAssumptions(), CVCL::TheoryCore::inconsistentThm(), CVCL::Theorem::isNull(), CVCL::SearchEngine::lastThm(), CVCL::ContextManager::popto(), CVCL::ContextManager::push(), CVCL::RAW_LIST, CVCL::TheoryCore::refineCounterExample(), CVCL::ContextManager::scopeLevel(), CVCL::Expr::toString(), and CVCL::TRACE. Referenced by CVCL::VCL::getConcreteModel(). |
|
|
|
|
Variable manager for classes Variable and Literal.
Definition at line 59 of file search_impl_base.h. Referenced by CVCL::SearchEngineFast::addNonLiteralFact(), CVCL::SearchEngineFast::analyzeUIPs(), CVCL::Circuit::Circuit(), CVCL::SearchImplBase::newLiteral(), CVCL::SearchImplBase::SearchImplBase(), and CVCL::SearchImplBase::~SearchImplBase(). |
|
The bottom-most scope for the current call to checkSAT (where conflict clauses are still valid).
Definition at line 64 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::addToCNFCache(), CVCL::SearchEngineFast::analyzeUIPs(), CVCL::SearchSimple::checkValidInternal(), CVCL::SearchEngineFast::checkValidInternal(), CVCL::SearchEngineFast::checkValidMain(), CVCL::SearchEngineFast::fixConflict(), CVCL::SearchImplBase::getBottomScope(), CVCL::SearchSimple::restartInternal(), CVCL::SearchEngineFast::restartInternal(), and CVCL::SearchEngineFast::traceConflict(). |
|
Definition at line 66 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::SearchImplBase(), and CVCL::SearchImplBase::~SearchImplBase(). |
|
Backtracking ordered set of DP-suggested splitters.
Definition at line 89 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::addSplitter(), and CVCL::SearchEngineFast::addSplitter(). |
|
Theorem from the last successful checkValid call. It is used by getProof and getAssumptions.
Definition at line 93 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::checkValid(), CVCL::SearchSimple::checkValidMain(), CVCL::SearchEngineFast::checkValidMain(), CVCL::SearchImplBase::getAssumptionsUsed(), CVCL::SearchImplBase::getProof(), CVCL::SearchImplBase::lastThm(), CVCL::SearchImplBase::processResult(), and CVCL::SearchImplBase::restart(). |
|
Assumptions from the last unsuccessful checkValid call. These are used by getCounterExample.
Definition at line 96 of file search_impl_base.h. Referenced by CVCL::SearchSimple::checkValidMain(), CVCL::SearchEngineFast::checkValidMain(), and CVCL::SearchImplBase::processResult(). |
|
Maintain the list of current assumptions (user asserts and splitters) for getAssumptions().
Definition at line 99 of file search_impl_base.h. Referenced by CVCL::SearchSimple::checkValidInternal(), CVCL::SearchEngineFast::checkValidInternal(), CVCL::SearchEngineFast::checkValidMain(), CVCL::SearchImplBase::getAssumptions(), CVCL::SearchImplBase::getInternalAssumptions(), CVCL::SearchImplBase::isAssumption(), CVCL::SearchImplBase::newIntAssumption(), CVCL::SearchImplBase::newUserAssumption(), CVCL::SearchSimple::restartInternal(), CVCL::SearchEngineFast::restartInternal(), and CVCL::SearchImplBase::SearchImplBase(). |
|
Backtracking cache for the CNF generator.
Definition at line 102 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::addToCNFCache(), and CVCL::SearchImplBase::findInCNFCache(). |
|
Backtracking set of new variables generated by CNF translator. Specific search engines do not have to split on these variables Definition at line 105 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::addToCNFCache(), CVCL::SearchImplBase::enqueueCNFrec(), and CVCL::SearchImplBase::isCNFVar(). |
|
Command line flag whether to convert to CNF.
Definition at line 107 of file search_impl_base.h. |
|
Flag: whether to convert term ITEs into CNF.
Definition at line 109 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::enqueueCNFrec(). |
|
Flag: ignore auxiliary CNF variables when searching for a splitter.
Definition at line 111 of file search_impl_base.h. Referenced by CVCL::SearchImplBase::isGoodSplitter(). |
|
Flag: Preserve the original formula with +cnf (for splitter heuristics).
Definition at line 113 of file search_impl_base.h. |