[proof-new] Fix bug in expansion of MACRO_RESOLUTION (#5845)
authorHaniel Barbosa <hanielbbarbosa@gmail.com>
Tue, 2 Feb 2021 14:17:33 +0000 (11:17 -0300)
committerGitHub <noreply@github.com>
Tue, 2 Feb 2021 14:17:33 +0000 (11:17 -0300)
commit95add26e5210e53e03c55ee313279b87cc3d5660
treeb5032ea99a12eac9c5facf66ac53fdb8c25de02d
parentc48548ea68b6241bee2cb9393ef2710c5803fb06
[proof-new] Fix bug in expansion of MACRO_RESOLUTION (#5845)

Evaluating the proof infrastructure in SMT-LIB has uncovered a rare case (i.e., not previously in our regressions!!) in which a crowding literal occurs in an OR node that represents a single-literal clause subsequent to the last clause that includes the crowding literal. This was leading to the clause that eliminates the crowding literal not being found. The commit fixes this issue by excluding single-literal clauses from those that can introduce crowding literals (which was already marked as necessary but not properly enforced).
src/smt/proof_post_processor.cpp
test/regress/CMakeLists.txt
test/regress/regress1/proofs/macro-res-exp-crowding-lit-inside-unit.smt2 [new file with mode: 0644]