|
Definition at line 53 of file core_theorem_producer.cpp. Referenced by d_coreSatAPI(). |
|
Definition at line 329 of file theory_core.cpp. References CVCL::Theory::d_em, CVCL::TheoryCore::d_exprTrans, CVCL::TheoryCore::d_printer, CVCL::TheoryCore::d_rules, CVCL::TheoryCore::d_typeComputer, and CVCL::ExprManager::unregisterPrettyPrinter(). |
|
Definition at line 343 of file theory_core.cpp. References CVCL::Theorem::getExpr(), CVCL::Expr::getKind(), CVCL::SKOLEM_VAR, CVCL::Theorem::toString(), CVCL::UCONST, and CVCL::Expr::unnegate(). |
|
|
|
Definition at line 395 of file theory_core.cpp. References CVCL::Expr::arity(), CVCL::Theorem::getRHS(), CVCL::Theory::reflexivityRule(), CVCL::TheoryCore::rewrite(), CVCL::TheoryCore::rewriteN(), CVCL::Theory::substitutivityRule(), CVCL::Theory::theoryOf(), and CVCL::Theory::transitivityRule(). |
|
|
|
Only Boolean constants (TRUE and FALSE) and variables of uninterpreted types should appear here (they come from records and tuples). Just ignore them. Definition at line 1003 of file theory_core.cpp. |
|
We use the update method of theory core to track registered atomic formulas. Updates are recorded and then processed by calling processUpdates once all equalities have been processed. Definition at line 1009 of file theory_core.cpp. References CVCL::TheoryCore::d_update_data, and CVCL::TheoryCore::d_update_thms. |
|
|
Definition at line 1050 of file theory_core.cpp. References CVCL::APPLY, CVCL::Theory::computeTypePred(), CVCL::CONSTDEF, CVCL::Expr::getEM(), CVCL::Type::getExpr(), CVCL::Expr::getKind(), CVCL::Theory::getTypePred(), CVCL::Expr::lookupType(), CVCL::Expr::mkOp(), CVCL::SUBTYPE, CVCL::Theory::theoryOf(), and CVCL::ExprManager::trueExpr(). |
|
Definition at line 1072 of file theory_core.cpp. References CVCL::Expr::arity(), CVCL::BOOLEAN, CVCL::Theory::getEM(), CVCL::Expr::getKind(), CVCL::Expr::getType(), CVCL::Type::isFunction(), CVCL::SUBTYPE, and CVCL::Expr::toString(). |
|
|
Definition at line 1193 of file theory_core.cpp. References CVCL::Expr::arity(), CVCL::BOOLEAN, CVCL::Theory::getBaseType(), CVCL::Type::getExpr(), CVCL::Expr::getKind(), CVCL::Expr::getType(), CVCL::Type::isFunction(), CVCL::SUBTYPE, CVCL::Type::toString(), CVCL::Expr::toString(), and CVCL::TYPEDEF. |
|
Definition at line 1221 of file theory_core.cpp. References CVCL::AND, CVCL::andExpr(), CVCL::APPLY, CVCL::Expr::begin(), CVCL::Theory::computeTCC(), CVCL::Expr::end(), CVCL::Expr::getKind(), CVCL::Theorem::getRHS(), CVCL::Theory::getTCC(), CVCL::IMPLIES, CVCL::ITE, CVCL::NOT, CVCL::OR, CVCL::orExpr(), CVCL::Theory::rewriteAnd(), CVCL::Theory::rewriteOr(), and CVCL::Theory::theoryOf(). |
|
|
|
An auxiliary recursive function to process COND expressions into ITE.
Definition at line 1932 of file theory_core.cpp. References CVCL::Expr::arity(), CVCL::Expr::getKind(), CVCL::Expr::getString(), CVCL::ID, CVCL::int2string(), CVCL::Expr::iteExpr(), CVCL::TheoryCore::parseExpr(), CVCL::TheoryCore::processCond(), CVCL::RAW_LIST, and CVCL::Expr::toString(). |
|
|
|
Definition at line 2228 of file theory_core.cpp. References CVCL::TheoryCore::d_inconsistent, CVCL::TheoryCore::d_incThm, CVCL::TheoryCore::d_queueSE, CVCL::TheoryCore::d_theories, CVCL::Theory::getName(), CVCL::Theory::getNumTheories(), and CVCL::TRACE. |
|
|
|
|
|
|
|
|
|
Definition at line 2725 of file theory_core.cpp. References CVCL::TheoryCore::d_vars, CVCL::CDList< T >::push_back(), and CVCL::TRACE. |
|
|
Definition at line 2752 of file theory_core.cpp. References CVCL::TheoryCore::assignValue(), CVCL::ExprHashMap< Data >::begin(), CVCL::Theory::d_em, CVCL::Theory::find(), CVCL::Theorem::getRHS(), CVCL::Expr::isBoolConst(), CVCL::TRACE, and CVCL::ExprManager::trueExpr(). |
|
|
|
|
|
Fill in the copy of the equality queue with single equalities by processing the input 'eq', which can be an equality, a conjunction of equalities, or an existential quantifier of the above. Definition at line 3007 of file theory_core.cpp. References CVCL::AND, CVCL::CommonProofRules::andElim(), CVCL::Expr::arity(), CVCL::CommonProofRules::contradictionRule(), CVCL::Debug::counter(), CVCL::Theory::d_commonRules, CVCL::debugger, CVCL::EQ, CVCL::EXISTS, CVCL::FALSE, CVCL::Theory::find(), CVCL::Theorem::getExpr(), CVCL::Expr::getKind(), CVCL::Theorem::getRHS(), CVCL::TheoryCore::IF_DEBUG(), CVCL::CommonProofRules::iffFalseElim(), CVCL::Expr::isFalse(), CVCL::TheoryCore::processEquality(), CVCL::TheoryCore::setInconsistent(), CVCL::CommonProofRules::skolemize(), CVCL::Theorem::toString(), CVCL::Expr::toString(), and CVCL::TRACE. |
|
Definition at line 3057 of file theory_core.cpp. References CVCL::NotifyList::getExpr(), CVCL::Theory::getName(), CVCL::NotifyList::getTheory(), CVCL::NotifyList::size(), CVCL::Theorem::toString(), CVCL::TRACE, and CVCL::Theory::update(). |
|
Definition at line 3075 of file theory_core.cpp. References CVCL::TheoryCore::d_incomplete, and CVCL::CDMap< Key, Data, HashFcn >::insert(). |
|
Definition at line 3081 of file theory_core.cpp. References CVCL::TheoryCore::d_resourceLimit. |
|
|
Definition at line 3123 of file theory_core.cpp. References CVCL::TheoryCore::d_currentRecursiveSimplifier. |
|
|
|
Definition at line 3326 of file theory_core.cpp. References CVCL::CDMap< Key, Data, HashFcn >::begin(), CVCL::TheoryCore::d_incomplete, CVCL::CDMap< Key, Data, HashFcn >::end(), and CVCL::CDMap< Key, Data, HashFcn >::size(). |
|
Definition at line 3338 of file theory_core.cpp. References CVCL::Theorem::getRHS(), CVCL::Theorem::isRewrite(), CVCL::TheoryCore::rewriteCore(), CVCL::Theorem::toString(), and CVCL::Theory::transitivityRule(). |
|
|
Function: TheoryCore::solve Author: Clark Barrett Created: Wed Feb 26 16:17:54 2003 This is a generalization of what's in my thesis. The goal is to rewrite e into an equisatisfiable conjunction of equations such that the left-hand side of each equation is a variable which does not appear as an i-leaf of the rhs, where i is the theory of the primary solver. Any solution which satisfies this is fine. "Solvers" from other theories can do whatever they want as long as we eventually reach this form. Definition at line 3382 of file theory_core.cpp. References CVCL::TheoryCore::d_solver, CVCL::Theorem::getExpr(), CVCL::Theory::getName(), CVCL::TheoryCore::IF_DEBUG(), CVCL::Expr::isEq(), CVCL::Theory::solve(), CVCL::Theory::theoryOf(), CVCL::Expr::toString(), and CVCL::TRACE. |
|
Definition at line 3428 of file theory_core.cpp. References CVCL::TheoryCore::d_rules, and CVCL::CoreProofRules::typePred(). |
|
|
Definition at line 3478 of file theory_core.cpp. References CVCL::TheoryCore::d_rules, CVCL::Theory::reflexivityRule(), CVCL::CoreProofRules::rewriteIteFalse(), CVCL::CoreProofRules::rewriteIteSame(), and CVCL::CoreProofRules::rewriteIteTrue(). |
|
|
|
Definition at line 3543 of file theory_core.cpp. References CVCL::TheoryCore::d_impliedLiterals, CVCL::TheoryCore::d_impliedLiteralsIdx, and CVCL::CDList< T >::size(). |
|
Definition at line 3554 of file theory_core.cpp. References CVCL::TheoryCore::d_impliedLiterals, and CVCL::CDList< T >::size(). |
|
|
|
Definition at line 3602 of file theory_core.cpp. References CVCL::TheoryCore::d_resourceLimit. |
|
Definition at line 3615 of file theory_core.cpp. References CVCL::TheoryCore::d_rules, and CVCL::CoreProofRules::queryTCC(). |
|
Definition at line 3621 of file theory_core.cpp. References CVCL::TheoryCore::d_rules, and CVCL::CoreProofRules::implIntro3(). |