Make ExtTheory a utility and not a member of Theory (#4753)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 16 Jul 2020 17:10:58 +0000 (12:10 -0500)
committerGitHub <noreply@github.com>
Thu, 16 Jul 2020 17:10:58 +0000 (12:10 -0500)
commitf7559c879d1ebc7d4d9b9f72b0858bdf42c9ed8c
treef4ceec82dfec21737b4cc1c555706bd8426fc9e9
parent051106d0033c8108008acba65ad02a77b5ddd19c
Make ExtTheory a utility and not a member of Theory (#4753)

Previously, we assumed that ExtTheory, the module for doing context-dependent simplification, was one-to-one with Theory. This design is not necessary. This makes this class a utility, which can be used as needed. This makes e.g. the initialization of TheoryStrings much easier, since the ExtTheory object can be created first.
14 files changed:
src/theory/arith/nl/nonlinear_extension.cpp
src/theory/arith/nl/nonlinear_extension.h
src/theory/arith/theory_arith.cpp
src/theory/arith/theory_arith_private.cpp
src/theory/bv/bv_subtheory_core.cpp
src/theory/bv/bv_subtheory_core.h
src/theory/bv/theory_bv.cpp
src/theory/bv/theory_bv.h
src/theory/strings/extf_solver.cpp
src/theory/strings/extf_solver.h
src/theory/strings/theory_strings.cpp
src/theory/strings/theory_strings.h
src/theory/theory.cpp
src/theory/theory.h