#include <quant_theorem_producer.h>
Inheritance diagram for CVCL::QuantTheoremProducer:
Definition at line 37 of file quant_theorem_producer.h.
|
Constructor.
Definition at line 45 of file quant_theorem_producer.h. |
|
find all bound variables in e and maps them to true in boundVars
Definition at line 154 of file quant_theorem_producer.cpp. References CVCL::Expr::begin(), CVCL::BOUND_VAR, CVCL::ExprMap< Data >::count(), CVCL::Expr::end(), CVCL::EXISTS, CVCL::FORALL, CVCL::Expr::getBody(), and CVCL::Expr::getKind(). Referenced by boundVarElim(). |
|
==> NOT EXISTS (vars): e IFF FORALL (vars) NOT e
Implements CVCL::QuantProofRules. Definition at line 75 of file quant_theorem_producer.cpp. References CVCL::FORALL, CVCL::Expr::getEM(), CVCL::Expr::isExists(), CVCL::Expr::isNot(), CVCL::ExprManager::newClosureExpr(), CVCL::TheoremProducer::newPf(), CVCL::TheoremProducer::newRWTheorem(), CVCL::Expr::toString(), and CVCL::TheoremProducer::withProof(). |
|
==> NOT FORALL (vars): e IFF EXISTS (vars) NOT e
Implements CVCL::QuantProofRules. Definition at line 57 of file quant_theorem_producer.cpp. References CVCL::EXISTS, CVCL::Expr::getEM(), CVCL::Expr::isForall(), CVCL::Expr::isNot(), CVCL::ExprManager::newClosureExpr(), CVCL::TheoremProducer::newPf(), CVCL::TheoremProducer::newRWTheorem(), CVCL::Expr::toString(), and CVCL::TheoremProducer::withProof(). |
|
Instantiate a universally quantified formula. From T|-FORALL(var): e generate T|-e' where e' is obtained from e by instantiating bound variables with terms in vector<Expr>& terms. The vector of terms should be the same size as the vector of bound variables in e. Also elements in each position i need to have matching types.
Implements CVCL::QuantProofRules. |
|
From T|- QUANTIFIER (vars): e we get T|-QUANTIFIER(vars') e where vars' is obtained from vars by removing all bound variables not used in e. If vars' is empty the produced theorem is just T|-e.
Implements CVCL::QuantProofRules. Definition at line 174 of file quant_theorem_producer.cpp. References CVCL::ExprMap< Data >::count(), d_theoryQuant, CVCL::EXISTS, CVCL::FORALL, CVCL::Theorem::getAssumptionsCopy(), CVCL::Expr::getBody(), CVCL::Theory::getEM(), CVCL::Theorem::getExpr(), CVCL::Theorem::getProof(), CVCL::Expr::getVars(), CVCL::Expr::isExists(), CVCL::Expr::isForall(), CVCL::ExprManager::newClosureExpr(), CVCL::TheoremProducer::newPf(), CVCL::TheoremProducer::newTheorem(), recFindBoundVars(), CVCL::Expr::toString(), CVCL::TheoremProducer::withAssumptions(), and CVCL::TheoremProducer::withProof(). |
|
Definition at line 38 of file quant_theorem_producer.h. Referenced by boundVarElim(). |