Standardize Rewriter::rewriteViaMethod call (#7119)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 3 Sep 2021 18:42:18 +0000 (13:42 -0500)
committerGitHub <noreply@github.com>
Fri, 3 Sep 2021 18:42:18 +0000 (18:42 +0000)
commit8b53a48ce6041b98e3761c2a341f727bcaaf2686
treede124b62e4cf7dcb6405f6d56cfcb7bc289e32ad
parentb500a7fd94cafc55f680f432ef35d6d927f13518
Standardize Rewriter::rewriteViaMethod call (#7119)

This moves the standard method for rewrites in proofs from TheoryBuiltinProofRuleChecker to Rewriter.  The motivation for this change is to make various kinds of rewrite methods (standard rewrite, extended rewrite, extended equality rewrite, evaluate) accessible throughout the code in a standard way.  After this PR, it is possible to know variants of the REWRITE proof rule application by having access to the rewriter, instead of having to get the builtin proof rule checker.  Note that TheoryBuiltinProofRuleChecker::applyRewrite *cannot* be static since access to the rewriter is not longer permitted to be static.

It also removes some unused infrastructure from Rewriter.

Followup PRs will remove applyRewrite for TheoryBuiltinProofRuleChecker in favor of calling the rewriter directly.
src/theory/builtin/proof_checker.cpp
src/theory/builtin/proof_checker.h
src/theory/rewriter.cpp
src/theory/rewriter.h
src/theory/rewriter_tables_template.h