[proof-new] Fix MACRO_RESOLUTION expansion for singleton clause corner case (#5850)
authorHaniel Barbosa <hanielbbarbosa@gmail.com>
Wed, 3 Feb 2021 15:11:26 +0000 (12:11 -0300)
committerGitHub <noreply@github.com>
Wed, 3 Feb 2021 15:11:26 +0000 (09:11 -0600)
commita6c122da21b3d5b9c37d9ec670dec766eaff7001
treeb5586c3fcc7dd18a6304464cb5a5611bb2709a1c
parentd97cee1a7c1a688d1ad9c748247bd9da1d86973f
[proof-new] Fix MACRO_RESOLUTION expansion for singleton clause corner case (#5850)

Evaluating the proof infrastructure in SMT-LIB has uncovered a rare case (i.e., not previously in our regressions!!) in which the resulting clause from crowding literal elimination is a singleton. This commit makes the expansion code robust to that and adds an example of a problematic benchmark as a regression.

Also improves a bit tracing and some comments.
src/smt/proof_post_processor.cpp
test/regress/CMakeLists.txt
test/regress/regress1/proofs/macro-res-exp-crowding-lit-inside-unit.smt2
test/regress/regress1/proofs/macro-res-exp-singleton-after-elimCrowd.smt2 [new file with mode: 0644]