[proof] Fix open proof issues in SAT proof (#6887)
authorHaniel Barbosa <hanielbbarbosa@gmail.com>
Wed, 14 Jul 2021 23:02:30 +0000 (20:02 -0300)
committerGitHub <noreply@github.com>
Wed, 14 Jul 2021 23:02:30 +0000 (18:02 -0500)
commite3cd14dcc00eddef1238dce4e9c90be18858bb73
tree6ce27904848133f73155c93202572d3b7de80e77
parent85ba8a85a2398cdc752dcd503373614830206fdf
[proof] Fix open proof issues in SAT proof (#6887)

Commit d1eee40cc (PR #6346), in a foolish attempt to prevent speculated issues, introduced an overwriting policy to addition of resolution chains during SAT solving at the SAT proof manager. First, this is nonsensical because the lazy proof chain is context-dependent and at the same level other ways of proving that clause are simply redundant and therefore should be ignored. Second, and catastrophically, this policy, for reasons beyond me, can lead to open SAT proofs when the same clause is rederived at the same level.

So this commit simply reverts the change and adds an optimization that when the clause would be rederived at the same level we do nothing and leave the method.
src/prop/sat_proof_manager.cpp
test/regress/CMakeLists.txt
test/regress/regress0/proofs/open-pf-datatypes.smt2 [new file with mode: 0644]
test/regress/regress0/proofs/open-pf-rederivation.smt2 [new file with mode: 0644]