3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

Add initial value setting for variables in Z3 API, solver, and optimize modules

This commit is contained in:
Nikolaj Bjorner 2024-09-18 16:13:15 +03:00
parent 0ba306e7b3
commit 48712b4f60
31 changed files with 297 additions and 9 deletions

View file

@ -213,6 +213,10 @@ public:
m_t2->user_propagate_register_decide(decide_eh);
}
void user_propagate_initialize_value(expr* var, expr* value) override {
m_t2->user_propagate_initialize_value(var, value);
}
};
tactic * and_then(tactic * t1, tactic * t2) {
@ -884,6 +888,7 @@ public:
void set_progress_callback(progress_callback * callback) override { m_t->set_progress_callback(callback); }
void user_propagate_register_expr(expr* e) override { m_t->user_propagate_register_expr(e); }
void user_propagate_clear() override { m_t->user_propagate_clear(); }
void user_propagate_initialize_value(expr* var, expr* value) override { m_t->user_propagate_initialize_value(var, value); }
protected:

View file

@ -99,6 +99,10 @@ namespace user_propagator {
throw default_exception("clause logging is only supported on the SMT solver");
}
virtual void user_propagate_initialize_value(expr* var, expr* value) {
throw default_exception("value initialization is only supported on the SMT solver");
}
};