(proof-new) Proof rule checkers run on skolem forms (#4660)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 2 Jul 2020 11:56:37 +0000 (06:56 -0500)
committerGitHub <noreply@github.com>
Thu, 2 Jul 2020 11:56:37 +0000 (06:56 -0500)
commit5266e8e075ed222598449cb7bc058e095077d3ae
tree731fe4e8d1938062a695c306b261011ce07c0414
parent77b7103d7796e11c3ebf1d80e09355ed0587ffdc
(proof-new) Proof rule checkers run on skolem forms (#4660)

Previously, the proof rule checkers were run on witness form for convenience. However, it is more flexible for the sake of the internal calculus to run on Skolem forms. The main reason is that the conversion to/from witness form does not preserve terms that contain witness. Our preprocessing steps rely on using witness terms. This design change additionally simplifies a lot of the code of the builtin proof rule checker.

Instead, witness forms can be queried on an as-needed basis, e.g. in MACRO_SR_PRED_TRANSFORM.
src/CMakeLists.txt
src/expr/proof_checker.cpp
src/expr/proof_checker.h
src/expr/proof_rule.h
src/theory/builtin/proof_checker.cpp
src/theory/builtin/proof_checker.h