Unify top-level substitutions and model substitutions (#6499)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 10 May 2021 14:29:09 +0000 (09:29 -0500)
committerGitHub <noreply@github.com>
Mon, 10 May 2021 14:29:09 +0000 (16:29 +0200)
commitac8cf53b07eb29687850f2ae64007f9f2688c9ad
treef62bad43ed45557a88f3d81df3d76536ee69cc38
parentce1acb3e31769e1ccb66075fe3b2151acae58ce6
Unify top-level substitutions and model substitutions (#6499)

This unifies top-level substitutions and theory model substitutions. Env is now passed to the TheoryModel, which has access to top-level substitutions.

The former was used for simplfying assertions in the preprocessor, the latter was used for evaluating terms in the model.

There is no reason to have these two things be separate.
17 files changed:
src/preprocessing/passes/miplib_trick.cpp
src/preprocessing/passes/non_clausal_simp.cpp
src/preprocessing/preprocessing_pass_context.cpp
src/preprocessing/preprocessing_pass_context.h
src/theory/arith/arith_ite_utils.cpp
src/theory/combination_care_graph.cpp
src/theory/combination_care_graph.h
src/theory/combination_engine.cpp
src/theory/combination_engine.h
src/theory/model_manager.cpp
src/theory/model_manager.h
src/theory/model_manager_distributed.cpp
src/theory/model_manager_distributed.h
src/theory/theory_engine.cpp
src/theory/theory_model.cpp
src/theory/theory_model.h
test/regress/regress1/strings/issue5611-deq-norm-emp.smt2