3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-20 23:44:41 +00:00

include FS logic

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2025-11-21 13:14:53 -08:00
parent df816cab07
commit 04cb59fd74
3 changed files with 12 additions and 4 deletions

View file

@ -24,8 +24,8 @@ Revision History:
bool smt_logics::supported_logic(symbol const & s) {
return logic_has_uf(s) || logic_is_all(s) || logic_has_fd(s) ||
logic_has_arith(s) || logic_has_bv(s) ||
logic_has_array(s) || logic_has_seq(s) || logic_has_str(s) ||
logic_has_horn(s) || logic_has_fpa(s) || logic_has_datatype(s);
logic_has_array(s) || logic_has_seq(s) || logic_has_str(s) || logic_has_horn(s) || logic_has_fpa(s) ||
logic_has_datatype(s) || logic_has_finite_sets(s);
}
bool smt_logics::logic_has_reals_only(symbol const& s) {
@ -71,6 +71,13 @@ bool smt_logics::logic_has_bv(symbol const & s) {
str == "HORN";
}
bool smt_logics::logic_has_finite_sets(symbol const &s) {
auto str = s.str();
return
str.find("FS") != std::string::npos ||
logic_is_all(s);
}
bool smt_logics::logic_has_array(symbol const & s) {
auto str = s.str();
return

View file

@ -27,6 +27,7 @@ public:
static bool logic_has_arith(symbol const & s);
static bool logic_has_bv(symbol const & s);
static bool logic_has_array(symbol const & s);
static bool logic_has_finite_sets(symbol const &s);
static bool logic_has_seq(symbol const & s);
static bool logic_has_str(symbol const & s);
static bool logic_has_fpa(symbol const & s);