[proofs] [sat] Handle resolution proofs for optimized clauses in incremental (#8389)
authorHaniel Barbosa <hanielbbarbosa@gmail.com>
Thu, 24 Mar 2022 20:14:12 +0000 (17:14 -0300)
committerGitHub <noreply@github.com>
Thu, 24 Mar 2022 20:14:12 +0000 (20:14 +0000)
commit795563e54baf80404037ed9b6f169750e3dabc60
tree76530596fcc5d3e6ca0335cfbe06c686572859f1
parentbedf02b659d238b438e1176694c3f7e44b9cdacc
[proofs] [sat] Handle resolution proofs for optimized clauses in incremental (#8389)

The SAT solver may associate, to the result of a resolution, a lower assertion
level than the current one. To be able to produce proofs to such clauses, we
extend the SAT proof manager to track which resolution results were
optimized. Then, when the SAT solver pops, the manager is notified and stores
the proofs for these optimized clauses, so that they can be reinserted when the
user context is popped. The latter is handled by the SAT proof manager's
OptClauseManager attribute.
src/prop/minisat/core/Solver.cc
src/prop/sat_proof_manager.cpp
src/prop/sat_proof_manager.h