(proof-new) Add ONCE and FIXPOINT modes for term conversion proof generator (#4709)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Sat, 11 Jul 2020 02:19:01 +0000 (21:19 -0500)
committerGitHub <noreply@github.com>
Sat, 11 Jul 2020 02:19:01 +0000 (21:19 -0500)
commit60fae1dc65b47723c83469d1fb20a9666ddc84a2
tree55657dc2b8546df5765d3c7b7d9502d14bfdcefc
parentc5a6aa2e03b05a5db6150563a4d5994abf5b24e9
(proof-new) Add ONCE and FIXPOINT modes for term conversion proof generator (#4709)

We need multiple policies for generic proofs for term conversion, in particular, substitution has a "apply once" semantics which does not apply rewrite steps to a fixpoint like the rewriter.

This is required for eliminating SUBS steps in the final proof.

Also note that an internal method for getting proofs was generalized, which will be required for doing multiple variants of proofs in this utility in the future.
src/expr/term_conversion_proof_generator.cpp
src/expr/term_conversion_proof_generator.h