(new theory) Update TheoryStrings to new standard (#4963)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 31 Aug 2020 20:34:36 +0000 (15:34 -0500)
committerGitHub <noreply@github.com>
Mon, 31 Aug 2020 20:34:36 +0000 (15:34 -0500)
commit09b3b246ad0328a163b0e3825531ccf82ea4013d
treec4a2b560e63e0fbe06861d7051c97194c66cbcca
parent52bab1414d41a4beb301f3c8a4165fa972f71a93
(new theory) Update TheoryStrings to new standard (#4963)

This updates theory of strings to the new standard.

This makes strings use the standard template for check and collectModelInfo. It also updates its inference manager to the standard and makes use of assertFactInternal for processing internal facts. This now enables preNotifyFact and notifyFact to be defined in TheoryStrings instead of inside inference manager, which is clearer and eliminates some dependencies within inference manager.

Note that the inference manager of strings for now inherits from TheoryInferenceManager. Further standardization will make it inherit from the new InferenceManagerBuffered class.

This design will be merged into proof-new, which also has significant changes to strings inference manager.
src/theory/strings/inference_manager.cpp
src/theory/strings/inference_manager.h
src/theory/strings/theory_strings.cpp
src/theory/strings/theory_strings.h