summaryrefslogtreecommitdiff
path: root/src/proof/proof_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/proof/proof_manager.cpp')
-rw-r--r--src/proof/proof_manager.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/proof/proof_manager.cpp b/src/proof/proof_manager.cpp
index 005a23378..a8cbb4742 100644
--- a/src/proof/proof_manager.cpp
+++ b/src/proof/proof_manager.cpp
@@ -25,6 +25,7 @@
#include "proof/cnf_proof.h"
#include "proof/lfsc_proof_printer.h"
#include "proof/proof_utils.h"
+#include "proof/quantifiers_proof.h"
#include "proof/resolution_bitvector_proof.h"
#include "proof/sat_proof_implementation.h"
#include "proof/theory_proof.h"
@@ -136,6 +137,14 @@ ArithProof* ProofManager::getArithProof() {
return (ArithProof*)pf;
}
+QuantifiersProof* ProofManager::getQuantifiersProof()
+{
+ Assert(options::proof());
+ TheoryProof* pf =
+ getTheoryProofEngine()->getTheoryProof(theory::THEORY_QUANTIFIERS);
+ return (QuantifiersProof*)pf;
+}
+
SkolemizationManager* ProofManager::getSkolemizationManager() {
Assert (options::proof() || options::unsatCores());
return &(currentPM()->d_skolemizationManager);
@@ -1049,12 +1058,17 @@ void ProofManager::printGlobalLetMap(std::set<Node>& atoms,
for (unsigned i = 0; i < letOrder.size(); ++i) {
Expr currentExpr = letOrder[i].expr;
unsigned letId = letOrder[i].id;
- ProofLetMap::iterator it = letMap.find(currentExpr);
- Assert(it != letMap.end());
- out << "\n(@ let" << letId << " ";
- d_theoryProof->printBoundTerm(currentExpr, out, letMap);
- paren << ")";
- it->second.increment();
+ // TODO: BOUND_VAR_LIST should probably not be filtered out here but not
+ // even appear in the letMap in the first place.
+ if (currentExpr.getKind() != kind::BOUND_VAR_LIST)
+ {
+ ProofLetMap::iterator it = letMap.find(currentExpr);
+ Assert(it != letMap.end());
+ out << "\n(@ let" << letId << " ";
+ d_theoryProof->printBoundTerm(currentExpr, out, letMap);
+ paren << ")";
+ it->second.increment();
+ }
}
out << std::endl << std::endl;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback