3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-08 18:19:40 +00:00

rename finite_set_value_factor to finite_set_factory. Fix type bugs when creating unions of values

This commit is contained in:
Nikolaj Bjorner 2025-10-17 15:09:12 +02:00
parent af2082a1aa
commit 5169e552fa
6 changed files with 42 additions and 41 deletions

View file

@ -2,7 +2,7 @@ z3_add_component(model
SOURCES
array_factory.cpp
datatype_factory.cpp
finite_set_value_factory.cpp
finite_set_factory.cpp
func_interp.cpp
model2expr.cpp
model_core.cpp

View file

@ -3,22 +3,22 @@ Copyright (c) 2025 Microsoft Corporation
Module Name:
finite_set_value_factory.cpp
finite_set_factory.cpp
Abstract:
Factory for creating finite set values
--*/
#include "model/finite_set_value_factory.h"
#include "model/finite_set_factory.h"
#include "model/model_core.h"
finite_set_value_factory::finite_set_value_factory(ast_manager & m, family_id fid, model_core & md):
finite_set_factory::finite_set_factory(ast_manager & m, family_id fid, model_core & md):
struct_factory(m, fid, md),
u(m) {
}
expr * finite_set_value_factory::get_some_value(sort * s) {
expr * finite_set_factory::get_some_value(sort * s) {
// Check if we already have a value for this sort
value_set * vset = nullptr;
SASSERT(u.is_finite_set(s));
@ -30,7 +30,7 @@ expr * finite_set_value_factory::get_some_value(sort * s) {
/**
* create sets {}, {a}, {b}, {a,b}, {c}, {a,c}, {b,c}, {a,b,c}, {d}, ...
*/
expr * finite_set_value_factory::get_fresh_value(sort * s) {
expr * finite_set_factory::get_fresh_value(sort * s) {
sort* elem_sort = nullptr;
VERIFY(u.is_finite_set(s, elem_sort));

View file

@ -18,10 +18,10 @@ Abstract:
/**
\brief Factory for finite set values.
*/
class finite_set_value_factory : public struct_factory {
class finite_set_factory : public struct_factory {
finite_set_util u;
public:
finite_set_value_factory(ast_manager & m, family_id fid, model_core & md);
finite_set_factory(ast_manager & m, family_id fid, model_core & md);
expr * get_some_value(sort * s) override;

View file

@ -40,7 +40,7 @@ Revision History:
#include "model/numeral_factory.h"
#include "model/fpa_factory.h"
#include "model/char_factory.h"
#include "model/finite_set_value_factory.h"
#include "model/finite_set_factory.h"
model::model(ast_manager & m):
@ -112,7 +112,7 @@ value_factory* model::get_factory(sort* s) {
m_factories.register_plugin(alloc(arith_factory, m));
m_factories.register_plugin(alloc(seq_factory, m, su.get_family_id(), *this));
m_factories.register_plugin(alloc(fpa_value_factory, m, fu.get_family_id()));
m_factories.register_plugin(alloc(finite_set_value_factory, m, m.get_family_id("finite_set"), *this));
m_factories.register_plugin(alloc(finite_set_factory, m, m.get_family_id("finite_set"), *this));
//m_factories.register_plugin(alloc(char_factory, m, char_decl_plugin(m).get_family_id());
}
family_id fid = s->get_family_id();