Resolution proof: separate printing from proof (#1964)
authorAndres Noetzli <andres.noetzli@gmail.com>
Mon, 27 Aug 2018 21:14:38 +0000 (14:14 -0700)
committerGitHub <noreply@github.com>
Mon, 27 Aug 2018 21:14:38 +0000 (14:14 -0700)
commited7bc3afb8c6ee663b3d535674513c7ff4376050
treeffaf84ebac8a9abec6156eb021dfeedf216f9e23
parent11110b87cb70d9c4a6dc486319adbb7dfa59fedb
Resolution proof: separate printing from proof (#1964)

Currently, we have an LFSCSatProof which inherits from TSatProof and
implements printing the proof. The seperation is not clean (e.g.
clauseName is used for printing only but is in TSatProof) and the
inheritance does not add any value while making dependencies more
confusing. The plan is that TSatProof becomes a self-contained part that
the MiniSat implementations generate and ProofManager prints out. This
commit is a first step in that direction. For SAT solvers with native
capabilities for producing proofs, we would simply implement a different
LFSC printer of their proof representation without changing the SAT
solver itself. The inheritance would make this awkward to deal with.

Additionally, the commit cleans up some unused functions and adjusts the
visibility of TSatProof methods and members.
src/Makefile.am
src/proof/bitvector_proof.cpp
src/proof/bitvector_proof.h
src/proof/lfsc_proof_printer.cpp [new file with mode: 0644]
src/proof/lfsc_proof_printer.h [new file with mode: 0644]
src/proof/proof_manager.cpp
src/proof/proof_manager.h
src/proof/sat_proof.h
src/proof/sat_proof_implementation.h