#include <quant_proof_rules.h>
Inheritance diagram for CVC3::QuantProofRules:
Definition at line 30 of file quant_proof_rules.h.
virtual CVC3::QuantProofRules::~QuantProofRules | ( | ) | [inline, virtual] |
==> NOT EXISTS (vars): e IFF FORALL (vars) NOT e
Implemented in CVC3::QuantTheoremProducer.
Referenced by CVC3::TheoryQuant::assertFact().
==> NOT FORALL (vars): e IFF EXISTS (vars) NOT e
Implemented in CVC3::QuantTheoremProducer.
Referenced by CVC3::TheoryQuant::assertFact().
virtual Theorem CVC3::QuantProofRules::universalInst | ( | const Theorem & | t1, | |
const std::vector< Expr > & | terms, | |||
int | quantLevel | |||
) | [pure virtual] |
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.
t1 | is the quantifier (a Theorem) | |
terms | are the terms to instantiate. | |
quantLevel | is the quantification level for the theorem. |
Implemented in CVC3::QuantTheoremProducer.
Referenced by CVC3::TheoryQuant::enqueueInst(), and CVC3::TheoryQuant::recInstantiate().
virtual Theorem CVC3::QuantProofRules::universalInst | ( | const Theorem & | t1, | |
const std::vector< Expr > & | terms | |||
) | [pure virtual] |
Implemented in CVC3::QuantTheoremProducer.
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.
Implemented in CVC3::QuantTheoremProducer.
Referenced by CVC3::TheoryQuant::assertFact().
virtual Theorem CVC3::QuantProofRules::adjustVarUniv | ( | const Theorem & | t1, | |
const std::vector< Expr > & | newBvs | |||
) | [pure virtual] |
Implemented in CVC3::QuantTheoremProducer.