Simplifications to expand definitions (#6487)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 7 May 2021 19:09:58 +0000 (14:09 -0500)
committerGitHub <noreply@github.com>
Fri, 7 May 2021 19:09:58 +0000 (19:09 +0000)
commit89641ef6aae22610cf544f1e7545178ee6418597
tree672e7991bbc1b7d2e1e5abf0a9b4a38c08b5baa2
parent50ff9213e6e6d36cea5a745e5c85ecbf1ca1ab62
Simplifications to expand definitions (#6487)

This removes the expandOnly flag from expandDefinitions.

The use of expandOnly = true is equivalent to applying top-level substitutions only, which should be done explicitly via Env::getTopLevelSubstitutions. It updates the trust substitutions utility to distinguish apply vs applyTrusted for convenience for this purpose.

This also breaks several dependencies in e.g. expand definitions module.
20 files changed:
src/preprocessing/passes/apply_substs.cpp
src/preprocessing/passes/non_clausal_simp.cpp
src/preprocessing/preprocessing_pass_context.cpp
src/smt/abduction_solver.cpp
src/smt/check_models.cpp
src/smt/check_models.h
src/smt/expand_definitions.cpp
src/smt/expand_definitions.h
src/smt/interpolation_solver.cpp
src/smt/preprocessor.cpp
src/smt/preprocessor.h
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/theory/datatypes/sygus_datatype_utils.cpp
src/theory/datatypes/sygus_datatype_utils.h
src/theory/quantifiers/ematching/candidate_generator.cpp
src/theory/rewriter.cpp
src/theory/rewriter.h
src/theory/trust_substitutions.cpp
src/theory/trust_substitutions.h