mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 20:18:18 +00:00
remove family id externals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
d3564f5b50
commit
909257f856
|
@ -26,7 +26,6 @@ Revision History:
|
||||||
|
|
||||||
seq_decl_plugin::seq_decl_plugin(): m_init(false),
|
seq_decl_plugin::seq_decl_plugin(): m_init(false),
|
||||||
m_stringc_sym("String"),
|
m_stringc_sym("String"),
|
||||||
m_charc_sym("Char"),
|
|
||||||
m_string(nullptr),
|
m_string(nullptr),
|
||||||
m_char(nullptr),
|
m_char(nullptr),
|
||||||
m_reglan(nullptr),
|
m_reglan(nullptr),
|
||||||
|
|
|
@ -128,7 +128,6 @@ class seq_decl_plugin : public decl_plugin {
|
||||||
ptr_vector<sort> m_binding;
|
ptr_vector<sort> m_binding;
|
||||||
bool m_init;
|
bool m_init;
|
||||||
symbol m_stringc_sym;
|
symbol m_stringc_sym;
|
||||||
symbol m_charc_sym;
|
|
||||||
sort* m_string;
|
sort* m_string;
|
||||||
sort* m_char;
|
sort* m_char;
|
||||||
sort* m_reglan;
|
sort* m_reglan;
|
||||||
|
|
|
@ -934,14 +934,7 @@ namespace smt {
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup::setup_char() {
|
void setup::setup_char() {
|
||||||
// temporary: enable only char theory if it is used in seq
|
m_context.register_plugin(alloc(smt::theory_char, m_context));
|
||||||
seq_util seq(m_manager);
|
|
||||||
sort* ch = seq.mk_char_sort();
|
|
||||||
sort* s = seq.mk_string_sort();
|
|
||||||
family_id ch_fid = ch->get_family_id();
|
|
||||||
if (s->get_family_id() != ch_fid)
|
|
||||||
m_context.register_plugin(alloc(smt::theory_char, m_context, ch_fid));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup::setup_special_relations() {
|
void setup::setup_special_relations() {
|
||||||
|
|
|
@ -22,8 +22,8 @@ Author:
|
||||||
|
|
||||||
namespace smt {
|
namespace smt {
|
||||||
|
|
||||||
theory_char::theory_char(context& ctx, family_id fid):
|
theory_char::theory_char(context& ctx):
|
||||||
theory(ctx, fid),
|
theory(ctx, ctx.get_manager().mk_family_id("char")),
|
||||||
seq(m),
|
seq(m),
|
||||||
m_bb(m, ctx.get_fparams())
|
m_bb(m, ctx.get_fparams())
|
||||||
{
|
{
|
||||||
|
|
|
@ -64,11 +64,11 @@ namespace smt {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
theory_char(context& ctx, family_id fid);
|
theory_char(context& ctx);
|
||||||
|
|
||||||
void new_eq_eh(theory_var v1, theory_var v2) override;
|
void new_eq_eh(theory_var v1, theory_var v2) override;
|
||||||
void new_diseq_eh(theory_var v1, theory_var v2) override;
|
void new_diseq_eh(theory_var v1, theory_var v2) override;
|
||||||
theory * mk_fresh(context * new_ctx) override { return alloc(theory_char, *new_ctx, get_family_id()); }
|
theory * mk_fresh(context * new_ctx) override { return alloc(theory_char, *new_ctx); }
|
||||||
bool internalize_atom(app * atom, bool gate_ctx) override;
|
bool internalize_atom(app * atom, bool gate_ctx) override;
|
||||||
bool internalize_term(app * term) override;
|
bool internalize_term(app * term) override;
|
||||||
void display(std::ostream& out) const override {}
|
void display(std::ostream& out) const override {}
|
||||||
|
|
Loading…
Reference in a new issue