#include <common_proof_rules.h>
Inheritance diagram for CVCL::CommonProofRules:
Definition at line 54 of file common_proof_rules.h.
|
Destructor.
Definition at line 57 of file common_proof_rules.h. |
|
|
|
==> (a == a) IFF TRUE
Implemented in CVCL::CommonTheoremProducer. Referenced by TheoryCore::rewriteLitCore(). |
|
(same for IFF)
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchImplBase::applyCNFRules(), CVCL::SearchSimple::checkValidMain(), CVCL::SearchEngineFast::checkValidMain(), CVCL::SearchImplBase::enqueueCNFrec(), SAT::CNF_Manager::replaceITErec(), and CVCL::Theory::symmetryRule(). |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by TheoryCore::assertFormula(), and TheoryCore::rewriteLitCore(). |
|
|
|
except that only those arguments are given that .
Implemented in CVCL::CommonTheoremProducer. |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchEngineFast::addLiteralFact(), TheoryCore::assertFormula(), TheoryCore::processEquality(), and CVCL::SearchEngineFast::recordFact(). |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by TheoryCore::assertFormula(), CVCL::ExprTransform::ite_simplify(), CVCL::TheoryArith::rewrite(), and TheoryCore::simplifyFullRec(). |
|
Implemented in CVCL::CommonTheoremProducer. |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by TheoryCore::processUpdates(), TheoryCore::registerAtom(), CVCL::SearchEngineFast::split(), and CVCL::TheoryUF::update(). |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by TheoryCore::assertFormula(), TheoryCore::processEquality(), TheoryCore::processUpdates(), TheoryCore::registerAtom(), and CVCL::SearchEngineFast::split(). |
|
e1 <=> e2 ==> ~e1 <=> ~e2
Where ~e is the inverse of e (that is, ~(!e') = e'). Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchImplBase::addToCNFCache(), CVCL::SearchImplBase::applyCNFRules(), CVCL::TheoryBitvector::bitBlastDisEqn(), CVCL::SearchSimple::checkValidMain(), CVCL::SearchEngineFast::checkValidMain(), CVCL::SearchImplBase::findInCNFCache(), and TheoryCore::rewriteLiteral(). |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchImplBase::enqueueCNFrec(), and CVCL::SearchEngineFast::split(). |
|
|
Implemented in CVCL::CommonTheoremProducer. |
|
|
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchSimple::addNonLiteralFact(), CVCL::TheoryArith::processSimpleIntEq(), and TheoryCore::subtypePredicate(). |
|
Implemented in CVCL::CommonTheoremProducer. |
|
Implication introduction rule:
.
Implemented in CVCL::CommonTheoremProducer. |
|
e1 => e2 ==> ~e2 => ~e1
Where ~e is the inverse of e (that is, ~(!e') = e'). Implemented in CVCL::CommonTheoremProducer. |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by TheoryCore::assertFormula(), and TheoryCore::checkSat(). |
|
==> (e1 <=> e2) <=> [simplified expr] Rewrite formulas like FALSE/TRUE <=> e, e <=> NOT e, etc. Implemented in CVCL::CommonTheoremProducer. Referenced by TheoryCore::rewrite(), and CVCL::TheoryBitvector::rewriteBoolean(). |
|
==> AND(e1,e2) IFF [simplified expr]
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::Theory::computeTCC(), CVCL::Theory::rewriteAnd(), and TheoryCore::subtypePredicate(). |
|
==> OR(e1,...,en) IFF [simplified expr]
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchEngineFast::fixConflict(), and CVCL::Theory::rewriteOr(). |
|
==> NOT TRUE IFF FALSE
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::CoreTheoremProducer::NotToIte(), CVCL::ExprTransform::pushNegation1(), CVCL::ExprTransform::pushNegationRec(), CVCL::TheoryBitvector::rewriteBoolean(), and TheoryCore::rewriteLitCore(). |
|
==> NOT FALSE IFF TRUE
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::CoreTheoremProducer::NotToIte(), CVCL::ExprTransform::pushNegation1(), CVCL::ExprTransform::pushNegationRec(), CVCL::TheoryBitvector::rewriteBoolean(), and TheoryCore::rewriteLitCore(). |
|
==> NOT NOT e IFF e, takes !!e
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchImplBase::findInCNFCache(), CVCL::ExprTransform::pushNegation1(), CVCL::ExprTransform::pushNegationRec(), CVCL::TheoryBitvector::rewriteBoolean(), and TheoryCore::rewriteLitCore(). |
|
==> NOT FORALL (vars): e IFF EXISTS (vars) NOT e
Implemented in CVCL::CommonTheoremProducer. |
|
==> NOT EXISTS (vars): e IFF FORALL (vars) NOT e
Implemented in CVCL::CommonTheoremProducer. |
|
|
skolem rewrite rule: Introduces axiom |- Exists(x) phi(x) <=> phi(c) where c is a constant defined by the expression Exists(x) phi(x) Implemented in CVCL::CommonTheoremProducer. |
|
Special version of skolemizeRewrite for "EXISTS x. t = x".
Implemented in CVCL::CommonTheoremProducer. |
|
|- EXISTS x. e = x
Implemented in CVCL::CommonTheoremProducer. |
|
If thm is (EXISTS x: phi(x)), create the Skolemized version and add it to the database. Otherwise returns just thm.
Implemented in CVCL::CommonTheoremProducer. |
|
Retrun a theorem "|- e = v" for a new Skolem constant v. This is equivalent to skolemize(d_core->varIntroRule(e)), only more efficient. Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchImplBase::applyCNFRules(), CVCL::SearchImplBase::enqueueCNFrec(), CVCL::TheoryArray::renameExpr(), CVCL::SearchImplBase::replaceITE(), and SAT::CNF_Manager::replaceITErec(). |
|
==> TRUE
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchSat::check(), and CVCL::SearchSimple::SearchSimple(). |
|
AND(e1,e2) ==> [simplified expr].
Implemented in CVCL::CommonTheoremProducer. |
|
OR(e1,...,en) ==> [simplified expr].
Implemented in CVCL::CommonTheoremProducer. |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchImplBase::processResult(). |
|
Implemented in CVCL::CommonTheoremProducer. Referenced by CVCL::SearchImplBase::checkValid(). |