}
bool ProofOutputChannel::propagate(TNode x) throw() {
- Trace("pf::tp") << "ProofOutputChannel: got a propagation: " << x << std::endl;
+ Trace("pf::tp") << "ProofOutputChannel: got a propagation: " << x
+ << std::endl;
d_propagations.insert(x);
return true;
}
-theory::LemmaStatus ProofOutputChannel::lemma(TNode n, ProofRule rule, bool, bool, bool) throw() {
+theory::LemmaStatus ProofOutputChannel::lemma(TNode n, ProofRule rule, bool,
+ bool, bool) {
Trace("pf::tp") << "ProofOutputChannel: new lemma: " << n << std::endl;
d_lemma = n;
return theory::LemmaStatus(TNode::null(), 0);
}
-theory::LemmaStatus ProofOutputChannel::splitLemma(TNode, bool) throw() {
+theory::LemmaStatus ProofOutputChannel::splitLemma(TNode, bool) {
AlwaysAssert(false);
return theory::LemmaStatus(TNode::null(), 0);
}
virtual ~ProofOutputChannel() throw() {}
- void conflict(TNode n, Proof* pf) throw();
- bool propagate(TNode x) throw();
- theory::LemmaStatus lemma(TNode n, ProofRule rule, bool, bool, bool) throw();
- theory::LemmaStatus splitLemma(TNode, bool) throw();
- void requirePhase(TNode n, bool b) throw();
- bool flipDecision() throw();
- void setIncomplete() throw();
+ virtual void conflict(TNode n, Proof* pf) throw();
+ virtual bool propagate(TNode x) throw();
+ virtual theory::LemmaStatus lemma(TNode n, ProofRule rule, bool, bool, bool);
+ virtual theory::LemmaStatus splitLemma(TNode, bool);
+ virtual void requirePhase(TNode n, bool b) throw();
+ virtual bool flipDecision() throw();
+ virtual void setIncomplete() throw();
};/* class ProofOutputChannel */
class MyPreRegisterVisitor {
* unit conflict) which is assigned TRUE (and T-conflicting) in the
* current assignment.
* @param pf - a proof of the conflict. This is only non-null if proofs
- * are enabled.
+ * are enabled.
*/
virtual void conflict(TNode n, Proof* pf = NULL) throw(AssertionException, UnsafeInterruptException) = 0;
virtual LemmaStatus lemma(TNode n, ProofRule rule,
bool removable = false,
bool preprocess = false,
- bool sendAtoms = false)
- throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException) = 0;
+ bool sendAtoms = false) = 0;
/**
* Variant of the lemma function that does not require providing a proof rule.
*/
- virtual LemmaStatus lemma(TNode n,
+ virtual LemmaStatus lemma(TNode n,
bool removable = false,
bool preprocess = false,
- bool sendAtoms = false)
- throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException) {
+ bool sendAtoms = false) {
return lemma(n, RULE_INVALID, removable, preprocess, sendAtoms);
}
return splitLemma(n.orNode(n.notNode()));
}
- virtual LemmaStatus splitLemma(TNode n, bool removable = false)
- throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException) = 0;
+ virtual LemmaStatus splitLemma(TNode n, bool removable = false) = 0;
/**
* If a decision is made on n, it must be in the phase specified.
ProofRule rule,
bool removable,
bool preprocess,
- bool sendAtoms)
- throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException) {
- Debug("theory::lemma") << "EngineOutputChannel<" << d_theory << ">::lemma(" << lemma << ")" << ", preprocess = " << preprocess << std::endl;
- ++ d_statistics.lemmas;
+ bool sendAtoms) {
+ Debug("theory::lemma") << "EngineOutputChannel<" << d_theory << ">::lemma("
+ << lemma << ")"
+ << ", preprocess = " << preprocess << std::endl;
+ ++d_statistics.lemmas;
d_engine->d_outputChannelUsed = true;
- PROOF({
- registerLemmaRecipe(lemma, lemma, preprocess, d_theory);
- });
+ PROOF({ registerLemmaRecipe(lemma, lemma, preprocess, d_theory); });
- theory::LemmaStatus result = d_engine->lemma(lemma,
- rule,
- false,
- removable,
- preprocess,
- sendAtoms ? d_theory : theory::THEORY_LAST);
+ theory::LemmaStatus result =
+ d_engine->lemma(lemma, rule, false, removable, preprocess,
+ sendAtoms ? d_theory : theory::THEORY_LAST);
return result;
}
ProofManager::getCnfProof()->setProofRecipe(&proofRecipe);
}
-theory::LemmaStatus TheoryEngine::EngineOutputChannel::splitLemma(TNode lemma, bool removable)
- throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException) {
- Debug("theory::lemma") << "EngineOutputChannel<" << d_theory << ">::lemma(" << lemma << ")" << std::endl;
- ++ d_statistics.lemmas;
+theory::LemmaStatus TheoryEngine::EngineOutputChannel::splitLemma(
+ TNode lemma, bool removable) {
+ Debug("theory::lemma") << "EngineOutputChannel<" << d_theory << ">::lemma("
+ << lemma << ")" << std::endl;
+ ++d_statistics.lemmas;
d_engine->d_outputChannelUsed = true;
- Debug("pf::explain") << "TheoryEngine::EngineOutputChannel::splitLemma( " << lemma << " )" << std::endl;
- theory::LemmaStatus result = d_engine->lemma(lemma, RULE_SPLIT, false, removable, false, d_theory);
+ Debug("pf::explain") << "TheoryEngine::EngineOutputChannel::splitLemma( "
+ << lemma << " )" << std::endl;
+ theory::LemmaStatus result =
+ d_engine->lemma(lemma, RULE_SPLIT, false, removable, false, d_theory);
return result;
}
ProofRule rule,
bool removable = false,
bool preprocess = false,
- bool sendAtoms = false)
- throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException);
+ bool sendAtoms = false);
- theory::LemmaStatus splitLemma(TNode lemma, bool removable = false) throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException);
+ theory::LemmaStatus splitLemma(TNode lemma, bool removable = false);
void demandRestart() throw(TypeCheckingExceptionPrivate, AssertionException, UnsafeInterruptException) {
NodeManager* curr = NodeManager::currentNM();