From ab0735fde225fff30a0595fefa2acee39122e2e2 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner <nbjorner@microsoft.com> Date: Wed, 17 Mar 2021 15:51:38 -0700 Subject: [PATCH] separate component for asserted_formulas to break dependency cycles Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> --- scripts/mk_project.py | 5 +++-- src/CMakeLists.txt | 1 + src/smt/smt_context.h | 2 +- src/solver/CMakeLists.txt | 2 -- src/solver/{ => assertions}/asserted_formulas.cpp | 3 ++- src/solver/{ => assertions}/asserted_formulas.h | 0 6 files changed, 7 insertions(+), 6 deletions(-) rename src/solver/{ => assertions}/asserted_formulas.cpp (99%) rename src/solver/{ => assertions}/asserted_formulas.h (100%) diff --git a/scripts/mk_project.py b/scripts/mk_project.py index 0bf9b30fa..7088862cc 100644 --- a/scripts/mk_project.py +++ b/scripts/mk_project.py @@ -38,14 +38,15 @@ def init_project_def(): add_lib('substitution', ['ast', 'rewriter'], 'ast/substitution') add_lib('parser_util', ['ast'], 'parsers/util') add_lib('proofs', ['rewriter', 'util'], 'ast/proofs') - add_lib('solver', ['model', 'tactic', 'proofs', 'smt_params', 'normal_forms']) + add_lib('solver', ['model', 'tactic', 'proofs']) add_lib('cmd_context', ['solver', 'rewriter', 'params']) add_lib('smt2parser', ['cmd_context', 'parser_util'], 'parsers/smt2') + add_lib('pattern', ['normal_forms', 'smt2parser', 'rewriter'], 'ast/pattern') + add_lib('solver_assertions', ['pattern'], 'solver/assertions') add_lib('aig_tactic', ['tactic'], 'tactic/aig') add_lib('ackermannization', ['model', 'rewriter', 'ast', 'solver', 'tactic'], 'ackermannization') add_lib('fpa', ['ast', 'util', 'rewriter', 'model'], 'ast/fpa') add_lib('bit_blaster', ['rewriter', 'params'], 'ast/rewriter/bit_blaster') - add_lib('pattern', ['normal_forms', 'smt2parser', 'rewriter'], 'ast/pattern') add_lib('core_tactics', ['tactic', 'macros', 'normal_forms', 'rewriter', 'pattern'], 'tactic/core') add_lib('arith_tactics', ['core_tactics', 'sat'], 'tactic/arith') add_lib('mbp', ['model', 'simplex'], 'qe/mbp') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 33a0cf99d..75a12cdd9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -65,6 +65,7 @@ add_subdirectory(solver) add_subdirectory(cmd_context) add_subdirectory(cmd_context/extra_cmds) add_subdirectory(parsers/smt2) +add_subdirectory(solver/assertions) add_subdirectory(ast/pattern) add_subdirectory(ast/rewriter/bit_blaster) add_subdirectory(math/lp) diff --git a/src/smt/smt_context.h b/src/smt/smt_context.h index 1058e232e..e7e924036 100644 --- a/src/smt/smt_context.h +++ b/src/smt/smt_context.h @@ -50,7 +50,7 @@ Revision History: #include "smt/user_propagator.h" #include "model/model.h" #include "solver/progress_callback.h" -#include "solver/asserted_formulas.h" +#include "solver/assertions/asserted_formulas.h" #include <tuple> // there is a significant space overhead with allocating 1000+ contexts in diff --git a/src/solver/CMakeLists.txt b/src/solver/CMakeLists.txt index 74da214b4..67549c46b 100644 --- a/src/solver/CMakeLists.txt +++ b/src/solver/CMakeLists.txt @@ -1,6 +1,5 @@ z3_add_component(solver SOURCES - asserted_formulas.cpp check_sat_result.cpp check_logic.cpp combined_solver.cpp @@ -15,7 +14,6 @@ z3_add_component(solver COMPONENT_DEPENDENCIES model tactic - smt_params PYG_FILES combined_solver_params.pyg parallel_params.pyg diff --git a/src/solver/asserted_formulas.cpp b/src/solver/assertions/asserted_formulas.cpp similarity index 99% rename from src/solver/asserted_formulas.cpp rename to src/solver/assertions/asserted_formulas.cpp index 0cb4af10a..e0c7456b9 100644 --- a/src/solver/asserted_formulas.cpp +++ b/src/solver/assertions/asserted_formulas.cpp @@ -26,7 +26,8 @@ Revision History: #include "ast/pattern/pattern_inference.h" #include "ast/macros/quasi_macros.h" #include "ast/occurs.h" -#include "solver/asserted_formulas.h" +#include "solver/assertions/asserted_formulas.h" + asserted_formulas::asserted_formulas(ast_manager & m, smt_params & sp, params_ref const& p): m(m), diff --git a/src/solver/asserted_formulas.h b/src/solver/assertions/asserted_formulas.h similarity index 100% rename from src/solver/asserted_formulas.h rename to src/solver/assertions/asserted_formulas.h