3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-08 08:51:55 +00:00

Rename finite_sets to finite_set everywhere including file names

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2025-10-05 17:19:36 +00:00
parent aa9cb71f6b
commit 495cdba9af
7 changed files with 46 additions and 46 deletions

View file

@ -28,7 +28,7 @@ z3_add_component(ast
expr_map.cpp expr_map.cpp
expr_stat.cpp expr_stat.cpp
expr_substitution.cpp expr_substitution.cpp
finite_sets_decl_plugin.cpp finite_set_decl_plugin.cpp
for_each_ast.cpp for_each_ast.cpp
for_each_expr.cpp for_each_expr.cpp
format.cpp format.cpp

View file

@ -3,7 +3,7 @@ Copyright (c) 2025 Microsoft Corporation
Module Name: Module Name:
finite_sets_decl_plugin.cpp finite_set_decl_plugin.cpp
Abstract: Abstract:
@ -17,27 +17,27 @@ Revision History:
--*/ --*/
#include<sstream> #include<sstream>
#include "ast/finite_sets_decl_plugin.h" #include "ast/finite_set_decl_plugin.h"
#include "ast/arith_decl_plugin.h" #include "ast/arith_decl_plugin.h"
#include "ast/array_decl_plugin.h" #include "ast/array_decl_plugin.h"
#include "util/warning.h" #include "util/warning.h"
finite_sets_decl_plugin::finite_sets_decl_plugin(): finite_set_decl_plugin::finite_set_decl_plugin():
m_init(false) { m_init(false) {
} }
finite_sets_decl_plugin::~finite_sets_decl_plugin() { finite_set_decl_plugin::~finite_set_decl_plugin() {
for (psig* s : m_sigs) for (psig* s : m_sigs)
dealloc(s); dealloc(s);
} }
bool finite_sets_decl_plugin::is_sort_param(sort* s, unsigned& idx) { bool finite_set_decl_plugin::is_sort_param(sort* s, unsigned& idx) {
return return
s->get_name().is_numerical() && s->get_name().is_numerical() &&
(idx = s->get_name().get_num(), true); (idx = s->get_name().get_num(), true);
} }
bool finite_sets_decl_plugin::match(ptr_vector<sort>& binding, sort* s, sort* sP) { bool finite_set_decl_plugin::match(ptr_vector<sort>& binding, sort* s, sort* sP) {
if (s == sP) return true; if (s == sP) return true;
unsigned idx; unsigned idx;
if (is_sort_param(sP, idx)) { if (is_sort_param(sP, idx)) {
@ -64,7 +64,7 @@ bool finite_sets_decl_plugin::match(ptr_vector<sort>& binding, sort* s, sort* sP
} }
} }
void finite_sets_decl_plugin::match(psig& sig, unsigned dsz, sort *const* dom, sort* range, sort_ref& range_out) { void finite_set_decl_plugin::match(psig& sig, unsigned dsz, sort *const* dom, sort* range, sort_ref& range_out) {
m_binding.reset(); m_binding.reset();
ast_manager& m = *m_manager; ast_manager& m = *m_manager;
@ -108,7 +108,7 @@ void finite_sets_decl_plugin::match(psig& sig, unsigned dsz, sort *const* dom, s
} }
} }
void finite_sets_decl_plugin::init() { void finite_set_decl_plugin::init() {
if (m_init) return; if (m_init) return;
ast_manager& m = *m_manager; ast_manager& m = *m_manager;
array_util autil(m); array_util autil(m);
@ -147,7 +147,7 @@ void finite_sets_decl_plugin::init() {
m_sigs[OP_FINITE_SET_RANGE] = alloc(psig, m, "set.range", 0, 2, intintT, setInt); m_sigs[OP_FINITE_SET_RANGE] = alloc(psig, m, "set.range", 0, 2, intintT, setInt);
} }
sort * finite_sets_decl_plugin::mk_sort(decl_kind k, unsigned num_parameters, parameter const * parameters) { sort * finite_set_decl_plugin::mk_sort(decl_kind k, unsigned num_parameters, parameter const * parameters) {
if (k == FINITE_SET_SORT) { if (k == FINITE_SET_SORT) {
if (num_parameters != 1) { if (num_parameters != 1) {
m_manager->raise_exception("FiniteSet sort expects exactly one parameter (element sort)"); m_manager->raise_exception("FiniteSet sort expects exactly one parameter (element sort)");
@ -166,7 +166,7 @@ sort * finite_sets_decl_plugin::mk_sort(decl_kind k, unsigned num_parameters, pa
return nullptr; return nullptr;
} }
sort * finite_sets_decl_plugin::get_element_sort(sort* finite_set_sort) const { sort * finite_set_decl_plugin::get_element_sort(sort* finite_set_sort) const {
if (finite_set_sort->get_family_id() != m_family_id || if (finite_set_sort->get_family_id() != m_family_id ||
finite_set_sort->get_decl_kind() != FINITE_SET_SORT) { finite_set_sort->get_decl_kind() != FINITE_SET_SORT) {
return nullptr; return nullptr;
@ -178,7 +178,7 @@ sort * finite_sets_decl_plugin::get_element_sort(sort* finite_set_sort) const {
return to_sort(params[0].get_ast()); return to_sort(params[0].get_ast());
} }
func_decl * finite_sets_decl_plugin::mk_empty(sort* element_sort) { func_decl * finite_set_decl_plugin::mk_empty(sort* element_sort) {
parameter param(element_sort); parameter param(element_sort);
sort * finite_set_sort = m_manager->mk_sort(m_family_id, FINITE_SET_SORT, 1, &param); sort * finite_set_sort = m_manager->mk_sort(m_family_id, FINITE_SET_SORT, 1, &param);
sort * const * no_domain = nullptr; sort * const * no_domain = nullptr;
@ -186,14 +186,14 @@ func_decl * finite_sets_decl_plugin::mk_empty(sort* element_sort) {
func_decl_info(m_family_id, OP_FINITE_SET_EMPTY, 1, &param)); func_decl_info(m_family_id, OP_FINITE_SET_EMPTY, 1, &param));
} }
func_decl * finite_sets_decl_plugin::mk_finite_set_op(decl_kind k, unsigned arity, sort * const * domain, sort* range) { func_decl * finite_set_decl_plugin::mk_finite_set_op(decl_kind k, unsigned arity, sort * const * domain, sort* range) {
ast_manager& m = *m_manager; ast_manager& m = *m_manager;
sort_ref rng(m); sort_ref rng(m);
match(*m_sigs[k], arity, domain, range, rng); match(*m_sigs[k], arity, domain, range, rng);
return m.mk_func_decl(m_sigs[k]->m_name, arity, domain, rng, func_decl_info(m_family_id, k)); return m.mk_func_decl(m_sigs[k]->m_name, arity, domain, rng, func_decl_info(m_family_id, k));
} }
func_decl * finite_sets_decl_plugin::mk_func_decl(decl_kind k, unsigned num_parameters, func_decl * finite_set_decl_plugin::mk_func_decl(decl_kind k, unsigned num_parameters,
parameter const * parameters, parameter const * parameters,
unsigned arity, sort * const * domain, unsigned arity, sort * const * domain,
sort * range) { sort * range) {
@ -222,7 +222,7 @@ func_decl * finite_sets_decl_plugin::mk_func_decl(decl_kind k, unsigned num_para
} }
} }
void finite_sets_decl_plugin::get_op_names(svector<builtin_name>& op_names, symbol const & logic) { void finite_set_decl_plugin::get_op_names(svector<builtin_name>& op_names, symbol const & logic) {
init(); init();
for (unsigned i = 0; i < m_sigs.size(); ++i) { for (unsigned i = 0; i < m_sigs.size(); ++i) {
if (m_sigs[i]) if (m_sigs[i])
@ -230,11 +230,11 @@ void finite_sets_decl_plugin::get_op_names(svector<builtin_name>& op_names, symb
} }
} }
void finite_sets_decl_plugin::get_sort_names(svector<builtin_name>& sort_names, symbol const & logic) { void finite_set_decl_plugin::get_sort_names(svector<builtin_name>& sort_names, symbol const & logic) {
sort_names.push_back(builtin_name("FiniteSet", FINITE_SET_SORT)); sort_names.push_back(builtin_name("FiniteSet", FINITE_SET_SORT));
} }
expr * finite_sets_decl_plugin::get_some_value(sort * s) { expr * finite_set_decl_plugin::get_some_value(sort * s) {
if (s->get_family_id() == m_family_id && s->get_decl_kind() == FINITE_SET_SORT) { if (s->get_family_id() == m_family_id && s->get_decl_kind() == FINITE_SET_SORT) {
// Return empty set for the given sort // Return empty set for the given sort
sort* element_sort = get_element_sort(s); sort* element_sort = get_element_sort(s);
@ -246,16 +246,16 @@ expr * finite_sets_decl_plugin::get_some_value(sort * s) {
return nullptr; return nullptr;
} }
bool finite_sets_decl_plugin::is_fully_interp(sort * s) const { bool finite_set_decl_plugin::is_fully_interp(sort * s) const {
return s->get_family_id() == m_family_id && s->get_decl_kind() == FINITE_SET_SORT; return s->get_family_id() == m_family_id && s->get_decl_kind() == FINITE_SET_SORT;
} }
bool finite_sets_decl_plugin::is_value(app * e) const { bool finite_set_decl_plugin::is_value(app * e) const {
// Empty set is a value // Empty set is a value
return is_app_of(e, m_family_id, OP_FINITE_SET_EMPTY); return is_app_of(e, m_family_id, OP_FINITE_SET_EMPTY);
} }
bool finite_sets_decl_plugin::is_unique_value(app* e) const { bool finite_set_decl_plugin::is_unique_value(app* e) const {
// Empty set is a unique value for its sort // Empty set is a unique value for its sort
return is_value(e); return is_value(e);
} }

View file

@ -3,7 +3,7 @@ Copyright (c) 2025 Microsoft Corporation
Module Name: Module Name:
finite_sets_decl_plugin.h finite_set_decl_plugin.h
Abstract: Abstract:
Declaration plugin for finite sets signatures Declaration plugin for finite sets signatures
@ -29,11 +29,11 @@ Operators:
#include "ast/ast.h" #include "ast/ast.h"
enum finite_sets_sort_kind { enum finite_set_sort_kind {
FINITE_SET_SORT FINITE_SET_SORT
}; };
enum finite_sets_op_kind { enum finite_set_op_kind {
OP_FINITE_SET_EMPTY, OP_FINITE_SET_EMPTY,
OP_FINITE_SET_SINGLETON, OP_FINITE_SET_SINGLETON,
OP_FINITE_SET_UNION, OP_FINITE_SET_UNION,
@ -48,7 +48,7 @@ enum finite_sets_op_kind {
LAST_FINITE_SET_OP LAST_FINITE_SET_OP
}; };
class finite_sets_decl_plugin : public decl_plugin { class finite_set_decl_plugin : public decl_plugin {
struct psig { struct psig {
symbol m_name; symbol m_name;
unsigned m_num_params; unsigned m_num_params;
@ -77,11 +77,11 @@ class finite_sets_decl_plugin : public decl_plugin {
sort * get_element_sort(sort* finite_set_sort) const; sort * get_element_sort(sort* finite_set_sort) const;
public: public:
finite_sets_decl_plugin(); finite_set_decl_plugin();
~finite_sets_decl_plugin() override; ~finite_set_decl_plugin() override;
decl_plugin * mk_fresh() override { decl_plugin * mk_fresh() override {
return alloc(finite_sets_decl_plugin); return alloc(finite_set_decl_plugin);
} }
void finalize() override { void finalize() override {
@ -118,11 +118,11 @@ public:
bool is_unique_value(app* e) const override; bool is_unique_value(app* e) const override;
}; };
class finite_sets_recognizers { class finite_set_recognizers {
protected: protected:
family_id m_fid; family_id m_fid;
public: public:
finite_sets_recognizers(family_id fid):m_fid(fid) {} finite_set_recognizers(family_id fid):m_fid(fid) {}
family_id get_family_id() const { return m_fid; } family_id get_family_id() const { return m_fid; }
bool is_finite_set(sort* s) const { return is_sort_of(s, m_fid, FINITE_SET_SORT); } bool is_finite_set(sort* s) const { return is_sort_of(s, m_fid, FINITE_SET_SORT); }
bool is_finite_set(expr* n) const { return is_finite_set(n->get_sort()); } bool is_finite_set(expr* n) const { return is_finite_set(n->get_sort()); }
@ -139,11 +139,11 @@ public:
bool is_range(expr* n) const { return is_app_of(n, m_fid, OP_FINITE_SET_RANGE); } bool is_range(expr* n) const { return is_app_of(n, m_fid, OP_FINITE_SET_RANGE); }
}; };
class finite_sets_util : public finite_sets_recognizers { class finite_set_util : public finite_set_recognizers {
ast_manager& m_manager; ast_manager& m_manager;
public: public:
finite_sets_util(ast_manager& m): finite_set_util(ast_manager& m):
finite_sets_recognizers(m.mk_family_id("finite_sets")), m_manager(m) {} finite_set_recognizers(m.mk_family_id("finite_set")), m_manager(m) {}
ast_manager& get_manager() const { return m_manager; } ast_manager& get_manager() const { return m_manager; }

View file

@ -29,7 +29,7 @@ Revision History:
#include "ast/pb_decl_plugin.h" #include "ast/pb_decl_plugin.h"
#include "ast/fpa_decl_plugin.h" #include "ast/fpa_decl_plugin.h"
#include "ast/special_relations_decl_plugin.h" #include "ast/special_relations_decl_plugin.h"
#include "ast/finite_sets_decl_plugin.h" #include "ast/finite_set_decl_plugin.h"
void reg_decl_plugins(ast_manager & m) { void reg_decl_plugins(ast_manager & m) {
if (!m.get_plugin(m.mk_family_id(symbol("arith")))) { if (!m.get_plugin(m.mk_family_id(symbol("arith")))) {
@ -65,7 +65,7 @@ void reg_decl_plugins(ast_manager & m) {
if (!m.get_plugin(m.mk_family_id(symbol("specrels")))) { if (!m.get_plugin(m.mk_family_id(symbol("specrels")))) {
m.register_plugin(symbol("specrels"), alloc(special_relations_decl_plugin)); m.register_plugin(symbol("specrels"), alloc(special_relations_decl_plugin));
} }
if (!m.get_plugin(m.mk_family_id(symbol("finite_sets")))) { if (!m.get_plugin(m.mk_family_id(symbol("finite_set")))) {
m.register_plugin(symbol("finite_sets"), alloc(finite_sets_decl_plugin)); m.register_plugin(symbol("finite_set"), alloc(finite_set_decl_plugin));
} }
} }

View file

@ -54,7 +54,7 @@ add_executable(test-z3
expr_substitution.cpp expr_substitution.cpp
ext_numeral.cpp ext_numeral.cpp
f2n.cpp f2n.cpp
finite_sets.cpp finite_set.cpp
factor_rewriter.cpp factor_rewriter.cpp
finder.cpp finder.cpp
fixed_bit_vector.cpp fixed_bit_vector.cpp

View file

@ -3,7 +3,7 @@ Copyright (c) 2025 Microsoft Corporation
Module Name: Module Name:
tst_finite_sets.cpp tst_finite_set.cpp
Abstract: Abstract:
@ -17,16 +17,16 @@ Revision History:
--*/ --*/
#include "ast/ast.h" #include "ast/ast.h"
#include "ast/finite_sets_decl_plugin.h" #include "ast/finite_set_decl_plugin.h"
#include "ast/reg_decl_plugins.h" #include "ast/reg_decl_plugins.h"
#include "ast/arith_decl_plugin.h" #include "ast/arith_decl_plugin.h"
#include "ast/array_decl_plugin.h" #include "ast/array_decl_plugin.h"
static void tst_finite_sets_basic() { static void tst_finite_set_basic() {
ast_manager m; ast_manager m;
reg_decl_plugins(m); reg_decl_plugins(m);
finite_sets_util fsets(m); finite_set_util fsets(m);
arith_util arith(m); arith_util arith(m);
// Test creating a finite set sort // Test creating a finite set sort
@ -85,11 +85,11 @@ static void tst_finite_sets_basic() {
ENSURE(m.is_bool(subset_expr->get_sort())); ENSURE(m.is_bool(subset_expr->get_sort()));
} }
static void tst_finite_sets_map_filter() { static void tst_finite_set_map_filter() {
ast_manager m; ast_manager m;
reg_decl_plugins(m); reg_decl_plugins(m);
finite_sets_util fsets(m); finite_set_util fsets(m);
arith_util arith(m); arith_util arith(m);
array_util autil(m); array_util autil(m);
@ -127,7 +127,7 @@ static void tst_finite_sets_map_filter() {
ENSURE(filtered_set->get_sort() == finite_set_int.get()); ENSURE(filtered_set->get_sort() == finite_set_int.get());
} }
void tst_finite_sets() { void tst_finite_set() {
tst_finite_sets_basic(); tst_finite_set_basic();
tst_finite_sets_map_filter(); tst_finite_set_map_filter();
} }

View file

@ -282,5 +282,5 @@ int main(int argc, char ** argv) {
TST(scoped_vector); TST(scoped_vector);
TST(sls_seq_plugin); TST(sls_seq_plugin);
TST(ho_matcher); TST(ho_matcher);
TST(finite_sets); TST(finite_set);
} }