mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 22:23:22 +00:00
Fix for implicit consts in FPA models. Fixes #2865.
This commit is contained in:
parent
22f1c6448a
commit
321bad2c84
1 changed files with 7 additions and 0 deletions
|
@ -724,8 +724,15 @@ namespace smt {
|
||||||
void theory_fpa::init_model(model_generator & mg) {
|
void theory_fpa::init_model(model_generator & mg) {
|
||||||
TRACE("t_fpa", tout << "initializing model" << std::endl; display(tout););
|
TRACE("t_fpa", tout << "initializing model" << std::endl; display(tout););
|
||||||
ast_manager & m = get_manager();
|
ast_manager & m = get_manager();
|
||||||
|
context & ctx = get_context();
|
||||||
m_factory = alloc(fpa_value_factory, m, get_family_id());
|
m_factory = alloc(fpa_value_factory, m, get_family_id());
|
||||||
mg.register_factory(m_factory);
|
mg.register_factory(m_factory);
|
||||||
|
|
||||||
|
for (enode* n : ctx.enodes()) {
|
||||||
|
theory_var v = n->get_th_var(get_family_id());
|
||||||
|
if (v != -1 && is_uninterp_const(n->get_owner()))
|
||||||
|
ctx.mark_as_relevant(n->get_owner());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enode* theory_fpa::ensure_enode(expr* e) {
|
enode* theory_fpa::ensure_enode(expr* e) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue