3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 00:05:46 +00:00

move to unicode as stand-alone theory

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-01-27 05:46:45 -08:00
parent ecba26beae
commit d0f1d8f59e
12 changed files with 115 additions and 58 deletions

View file

@ -23,7 +23,6 @@ Revision History:
#pragma once
#include "ast/ast.h"
#include "ast/bv_decl_plugin.h"
#include <string>
enum char_sort_kind {
@ -67,7 +66,21 @@ public:
bool are_distinct(app* a, app* b) const override;
expr* get_some_value(sort* s) override;
sort* char_sort() const { return m_char; }
app* mk_char(unsigned u);
expr* get_some_value(sort* s) override;
app* mk_le(expr* a, expr* b);
bool is_le(expr const* e) const { return is_app_of(e, m_family_id, OP_CHAR_LE); }
bool is_const_char(expr const* e, unsigned& c) const {
return is_app_of(e, m_family_id, OP_CHAR_CONST) && (c = to_app(e)->get_parameter(0).get_int(), true);
}
};