mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 12:08:18 +00:00
add virtual function requirement to dependent_expr_state
This commit is contained in:
parent
dcc995f0e5
commit
a81a5ec68c
|
@ -46,6 +46,7 @@ public:
|
||||||
virtual unsigned size() const = 0;
|
virtual unsigned size() const = 0;
|
||||||
virtual dependent_expr const& operator[](unsigned i) = 0;
|
virtual dependent_expr const& operator[](unsigned i) = 0;
|
||||||
virtual void update(unsigned i, dependent_expr const& j) = 0;
|
virtual void update(unsigned i, dependent_expr const& j) = 0;
|
||||||
|
virtual void add(dependent_expr const& j) = 0;
|
||||||
virtual bool inconsistent() = 0;
|
virtual bool inconsistent() = 0;
|
||||||
virtual model_reconstruction_trail& model_trail() = 0;
|
virtual model_reconstruction_trail& model_trail() = 0;
|
||||||
|
|
||||||
|
|
|
@ -60,10 +60,16 @@ public:
|
||||||
m_dep = dependent_expr(m, m_goal->form(i), m_goal->dep(i));
|
m_dep = dependent_expr(m, m_goal->form(i), m_goal->dep(i));
|
||||||
return m_dep;
|
return m_dep;
|
||||||
}
|
}
|
||||||
|
|
||||||
void update(unsigned i, dependent_expr const& j) override {
|
void update(unsigned i, dependent_expr const& j) override {
|
||||||
auto [f, d] = j();
|
auto [f, d] = j();
|
||||||
m_goal->update(i, f, nullptr, d);
|
m_goal->update(i, f, nullptr, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void add(dependent_expr const& j) override {
|
||||||
|
auto [f, d] = j();
|
||||||
|
m_goal->assert_expr(f, nullptr, d);
|
||||||
|
}
|
||||||
|
|
||||||
bool inconsistent() override {
|
bool inconsistent() override {
|
||||||
return m_goal->inconsistent();
|
return m_goal->inconsistent();
|
||||||
|
|
Loading…
Reference in a new issue