summaryrefslogtreecommitdiff
path: root/src/prop/minisat/core
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2018-05-23 06:53:06 -0700
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-05-23 08:53:06 -0500
commit4c2138a14c4abba2431bc8ba51359d3a565baf05 (patch)
tree4bf45363b8b76895138669cd8097c2be49f02f80 /src/prop/minisat/core
parent8de9510b8aa818f555294ebe88d9733cc10ff8b9 (diff)
Remove ProofProxy (#1965)
Diffstat (limited to 'src/prop/minisat/core')
-rw-r--r--src/prop/minisat/core/Solver.cc24
-rw-r--r--src/prop/minisat/core/SolverTypes.h28
2 files changed, 27 insertions, 25 deletions
diff --git a/src/prop/minisat/core/Solver.cc b/src/prop/minisat/core/Solver.cc
index b034f8460..0967f434c 100644
--- a/src/prop/minisat/core/Solver.cc
+++ b/src/prop/minisat/core/Solver.cc
@@ -29,8 +29,8 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
#include "options/prop_options.h"
#include "proof/clause_id.h"
#include "proof/proof_manager.h"
-#include "proof/sat_proof_implementation.h"
#include "proof/sat_proof.h"
+#include "proof/sat_proof_implementation.h"
#include "prop/minisat/minisat.h"
#include "prop/minisat/mtl/Sort.h"
#include "prop/theory_proxy.h"
@@ -1528,7 +1528,7 @@ void Solver::relocAll(ClauseAllocator& to)
// printf(" >>> RELOCING: %s%d\n", sign(p)?"-":"", var(p)+1);
vec<Watcher>& ws = watches[p];
for (int j = 0; j < ws.size(); j++)
- ca.reloc(ws[j].cref, to, NULLPROOF( ProofManager::getSatProof()->getProxy() ));
+ ca.reloc(ws[j].cref, to, NULLPROOF(ProofManager::getSatProof()));
}
// All reasons:
@@ -1537,19 +1537,22 @@ void Solver::relocAll(ClauseAllocator& to)
Var v = var(trail[i]);
if (hasReasonClause(v) && (ca[reason(v)].reloced() || locked(ca[reason(v)])))
- ca.reloc(vardata[v].reason, to, NULLPROOF( ProofManager::getSatProof()->getProxy() ));
+ ca.reloc(
+ vardata[v].reason, to, NULLPROOF(ProofManager::getSatProof()));
}
// All learnt:
//
for (int i = 0; i < clauses_removable.size(); i++)
- ca.reloc(clauses_removable[i], to, NULLPROOF( ProofManager::getSatProof()->getProxy() ));
+ ca.reloc(
+ clauses_removable[i], to, NULLPROOF(ProofManager::getSatProof()));
// All original:
//
for (int i = 0; i < clauses_persistent.size(); i++)
- ca.reloc(clauses_persistent[i], to, NULLPROOF( ProofManager::getSatProof()->getProxy() ));
+ ca.reloc(
+ clauses_persistent[i], to, NULLPROOF(ProofManager::getSatProof()));
- PROOF( ProofManager::getSatProof()->finishUpdateCRef(); )
+ PROOF(ProofManager::getSatProof()->finishUpdateCRef();)
}
@@ -1811,7 +1814,9 @@ CRef Solver::updateLemmas() {
return conflict;
}
-void ClauseAllocator::reloc(CRef& cr, ClauseAllocator& to, CVC4::CoreProofProxy* proxy)
+void ClauseAllocator::reloc(CRef& cr,
+ ClauseAllocator& to,
+ CVC4::TSatProof<Solver>* proof)
{
// FIXME what is this CRef_lazy
@@ -1823,8 +1828,9 @@ void ClauseAllocator::reloc(CRef& cr, ClauseAllocator& to, CVC4::CoreProofProxy*
cr = to.alloc(c.level(), c, c.removable());
c.relocate(cr);
- if (proxy) {
- proxy->updateCRef(old, cr);
+ if (proof)
+ {
+ proof->updateCRef(old, cr);
}
// Copy extra data-fields:
// (This could be cleaned-up. Generalize Clause-constructor to be applicable here instead?)
diff --git a/src/prop/minisat/core/SolverTypes.h b/src/prop/minisat/core/SolverTypes.h
index 116a39a49..bbd6e17a2 100644
--- a/src/prop/minisat/core/SolverTypes.h
+++ b/src/prop/minisat/core/SolverTypes.h
@@ -33,6 +33,14 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
namespace CVC4 {
namespace Minisat {
+class Solver;
+}
+template <class Solver>
+class TSatProof;
+} // namespace CVC4
+
+namespace CVC4 {
+namespace Minisat {
//=================================================================================================
// Variables, literals, lifted booleans, clauses:
@@ -168,25 +176,11 @@ inline std::ostream& operator <<(std::ostream& out, Minisat::lbool val) {
return out;
}
-
-class Solver;
-
-class ProofProxyAbstract {
-public:
- virtual ~ProofProxyAbstract() {}
- virtual void updateCRef(Minisat::CRef oldref, Minisat::CRef newref) = 0;
-};
-
} /* namespace CVC4::Minisat */
} /* namespace CVC4 */
namespace CVC4 {
-template <class Solver> class ProofProxy;
-typedef ProofProxy<CVC4::Minisat::Solver> CoreProofProxy;
-}
-
-namespace CVC4 {
namespace Minisat{
//=================================================================================================
@@ -307,8 +301,10 @@ class ClauseAllocator : public RegionAllocator<uint32_t>
RegionAllocator<uint32_t>::free(clauseWord32Size(c.size(), c.has_extra()));
}
- void reloc(CRef& cr, ClauseAllocator& to, CVC4::CoreProofProxy* proxy = NULL);
- // Implementation moved to Solver.cc.
+ void reloc(CRef& cr,
+ ClauseAllocator& to,
+ CVC4::TSatProof<Solver>* proof = NULL);
+ // Implementation moved to Solver.cc.
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback