Add interface to TheoryState for sort inference and facts (#5967)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 24 Feb 2021 01:12:32 +0000 (19:12 -0600)
committerGitHub <noreply@github.com>
Wed, 24 Feb 2021 01:12:32 +0000 (19:12 -0600)
commit854ab7e1adce90ebd822cc29ffabf5546d13f5cc
tree96bcb318ada0448c73d293c0b99db7b98eb1e4c4
parent4c0dbb8ec7871ff114a9e66233cd8c8dd853f0b4
Add interface to TheoryState for sort inference and facts (#5967)

This eliminates the need for direct references to TheoryEngine from quantifiers and UF+cardinality.

This PR also eliminates an unnecessary reference to TheoryEngine in TheoryModelBuilder and breaks a few more dependencies in quantifiers modules.
31 files changed:
src/preprocessing/passes/sort_infer.cpp
src/theory/model_manager.cpp
src/theory/quantifiers/cegqi/ceg_instantiator.cpp
src/theory/quantifiers/cegqi/ceg_instantiator.h
src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp
src/theory/quantifiers/fmf/bounded_integers.cpp
src/theory/quantifiers/fmf/bounded_integers.h
src/theory/quantifiers/fmf/model_builder.cpp
src/theory/quantifiers/quantifiers_modules.cpp
src/theory/quantifiers/quantifiers_modules.h
src/theory/quantifiers/quantifiers_state.cpp
src/theory/quantifiers/quantifiers_state.h
src/theory/quantifiers/skolemize.cpp
src/theory/quantifiers/skolemize.h
src/theory/quantifiers/term_database.cpp
src/theory/quantifiers/term_database.h
src/theory/quantifiers/theory_quantifiers.cpp
src/theory/quantifiers_engine.cpp
src/theory/quantifiers_engine.h
src/theory/sort_inference.cpp
src/theory/sort_inference.h
src/theory/theory_engine.cpp
src/theory/theory_engine.h
src/theory/theory_model_builder.cpp
src/theory/theory_model_builder.h
src/theory/theory_state.cpp
src/theory/theory_state.h
src/theory/uf/cardinality_extension.cpp
src/theory/uf/cardinality_extension.h
src/theory/valuation.cpp
src/theory/valuation.h