(proof-new) Distinguish pre vs post rewrites in term conversion proof generator ...
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 29 Jan 2021 19:27:44 +0000 (13:27 -0600)
committerGitHub <noreply@github.com>
Fri, 29 Jan 2021 19:27:44 +0000 (13:27 -0600)
commitce1b2f2fb06150599c231bf0d59b52a07e74c3f5
tree53fee982175e433e70ca5abe60a81b763c42f81f
parent145b99d771e182fba70402398702ed12e3303682
(proof-new) Distinguish pre vs post rewrites in term conversion proof generator (#5833)

This is work towards resolving two kinds of failures on proof-new:

(1) Functional issues with proofs from the rewriter, in particular when a term pre-rewrites and post-rewrites to different things,
(2) Conversion issues in theory-preprocessing, where all steps are assumed to be post-rewrites but some are in fact pre-rewrites. This leads to the term conversion proof generator proving something different than what is expected.

A followup PR will simplify and fix proofs for theory-preprocessing.
src/expr/term_conversion_proof_generator.cpp
src/expr/term_conversion_proof_generator.h
src/smt/expand_definitions.cpp
src/smt/proof_post_processor.cpp
src/smt/term_formula_removal.cpp
src/smt/witness_form.cpp
src/theory/rewriter.cpp
src/theory/theory_preprocessor.cpp