Skip to content

Commit 4559b23

Browse files
add local search functionality to sls_seq_plugin
Signed-off-by: Nikolaj Bjorner <[email protected]>
1 parent b4e768c commit 4559b23

File tree

4 files changed

+705
-73
lines changed

4 files changed

+705
-73
lines changed

src/ast/sls/sls_arith_base.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2111,7 +2111,7 @@ namespace sls {
21112111
auto const& vi = m_vars[v];
21122112
if (vi.m_def_idx == UINT_MAX)
21132113
return true;
2114-
verbose_stream() << " repair def " << mk_bounded_pp(vi.m_expr, m) << "\n";
2114+
IF_VERBOSE(2, verbose_stream() << " repair def " << mk_bounded_pp(vi.m_expr, m) << "\n");
21152115
TRACE("sls", tout << "repair def " << mk_bounded_pp(vi.m_expr, m) << "\n");
21162116
switch (vi.m_op) {
21172117
case arith_op_kind::LAST_ARITH_OP:

src/ast/sls/sls_context.cpp

+7-4
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ Module Name:
1616
--*/
1717

1818
#include "ast/sls/sls_context.h"
19-
#include "ast/sls/sls_euf_plugin.h"
2019
#include "ast/sls/sls_arith_plugin.h"
2120
#include "ast/sls/sls_array_plugin.h"
22-
#include "ast/sls/sls_bv_plugin.h"
2321
#include "ast/sls/sls_basic_plugin.h"
22+
#include "ast/sls/sls_bv_plugin.h"
23+
#include "ast/sls/sls_euf_plugin.h"
2424
#include "ast/sls/sls_datatype_plugin.h"
25+
#include "ast/sls/sls_seq_plugin.h"
2526
#include "ast/ast_ll_pp.h"
2627
#include "ast/ast_pp.h"
2728
#include "smt/params/smt_params_helper.hpp"
@@ -57,6 +58,8 @@ namespace sls {
5758
void context::ensure_plugin(family_id fid) {
5859
if (m_plugins.get(fid, nullptr))
5960
return;
61+
else if (fid == null_family_id)
62+
;
6063
else if (fid == arith_family_id)
6164
register_plugin(alloc(arith_plugin, *this));
6265
else if (fid == user_sort_family_id)
@@ -69,8 +72,8 @@ namespace sls {
6972
register_plugin(alloc(array_plugin, *this));
7073
else if (fid == datatype_util(m).get_family_id())
7174
register_plugin(alloc(datatype_plugin, *this));
72-
else if (fid == null_family_id)
73-
;
75+
else if (fid == seq_util(m).get_family_id())
76+
register_plugin(alloc(seq_plugin, *this));
7477
else
7578
verbose_stream() << "did not find plugin for " << fid << "\n";
7679
}

0 commit comments

Comments
 (0)