proofs: Properly track pre- and post-rewrites in bbAtom(). (#7147)
authorMathias Preiner <mathias.preiner@gmail.com>
Tue, 14 Sep 2021 17:39:43 +0000 (10:39 -0700)
committerGitHub <noreply@github.com>
Tue, 14 Sep 2021 17:39:43 +0000 (12:39 -0500)
commit54853f9584f2de2bf4e1ff16517b44a45e6d7cf2
treef017fb00681a47ab412425bac93434a4e171ec16
parentefdefd95abd7de85963b9dd22e98e2858864cb07
proofs: Properly track pre- and post-rewrites in bbAtom(). (#7147)

This commit refactors the proof bit-blaster to properly track the pre- and post-rewrites in bbAtom(). The individual bit-blast steps are recorded in a term conversion proof generator. The overall bit-blast proof is stored in a BitblastProofGenerator, which tracks the pre- and post-rewrite and includes the bit-blast proof of the TCPG.
14 files changed:
src/CMakeLists.txt
src/smt/proof_post_processor.cpp
src/theory/bv/bitblast/bitblast_proof_generator.cpp [new file with mode: 0644]
src/theory/bv/bitblast/bitblast_proof_generator.h [new file with mode: 0644]
src/theory/bv/bitblast/node_bitblaster.cpp
src/theory/bv/bitblast/node_bitblaster.h
src/theory/bv/bitblast/proof_bitblaster.cpp
src/theory/bv/bitblast/proof_bitblaster.h
src/theory/bv/bv_solver_bitblast_internal.cpp
src/theory/bv/bv_solver_bitblast_internal.h
test/regress/CMakeLists.txt
test/regress/regress0/bv/bvproof1.smt2 [new file with mode: 0644]
test/regress/regress0/bv/bvproof2.smt2 [new file with mode: 0644]
test/regress/regress0/bv/bvproof3.smt2 [new file with mode: 0644]