summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-09-18 12:52:16 -0500
committerGitHub <noreply@github.com>2020-09-18 12:52:16 -0500
commit30678fb782e88412469db4decd2cb42919f4ea02 (patch)
tree505b7d4ec705e74d036d3b498f8ab2b4092c9fae /src/CMakeLists.txt
parentf92c4476e335322c1eeaa9e15ff5e1fda06181fe (diff)
Add the shared solver (#4982)
This PR adds the definition for the "shared solver", it does not connect it to TheoryEngine/CombinationEngine yet. This is an object that behaves like a "glue" theory solver and has a special role in TheoryEngine. In the current architecture, the "SharedTermsDatabase" is the "shared solver", although in the central architecture, the shared solver will be required to behave differently. This PR adds the abstract definition of shared solver, where notice SharedSolverDistributed is a thin layer on top of SharedTermsDatabase. In a followup PR, CombinationEngine will maintain a shared solver and ~5 blocks of code in TheoryEngine will be callbacks to the SharedSolver. Also, eventually the code for SharedTermsDatabase should be split: the parts involving equality reason/propagation/explanation should be migrated into SharedSolverDistributed, and the parts related to registration will remain in SharedTermsDatabase (to also be used in the planned SharedSolverCentral). FYI @barrettcw
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e6cb97894..5695e271e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -732,6 +732,10 @@ libcvc4_add_sources(
theory/sets/theory_sets_type_enumerator.cpp
theory/sets/theory_sets_type_enumerator.h
theory/sets/theory_sets_type_rules.h
+ theory/shared_solver.cpp
+ theory/shared_solver.h
+ theory/shared_solver_distributed.cpp
+ theory/shared_solver_distributed.h
theory/shared_terms_database.cpp
theory/shared_terms_database.h
theory/smt_engine_subsolver.cpp
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback