3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-28 08:58:44 +00:00

cave in to supporting proofs (partially) in simplifiers, updated doc

This commit is contained in:
Nikolaj Bjorner 2022-12-06 17:02:04 -08:00
parent aaabbfb594
commit 80033e8744
36 changed files with 157 additions and 108 deletions

View file

@ -49,7 +49,7 @@ public:
m(m),
m_params(p),
m_factory(f),
m_dep(m, m.mk_true(), nullptr)
m_dep(m, m.mk_true(), nullptr, nullptr)
{}
/**
@ -58,22 +58,22 @@ public:
unsigned qtail() const override { return m_goal->size(); }
dependent_expr const& operator[](unsigned i) override {
m_dep = dependent_expr(m, m_goal->form(i), m_goal->dep(i));
m_dep = dependent_expr(m, m_goal->form(i), m_goal->pr(i), m_goal->dep(i));
return m_dep;
}
void update(unsigned i, dependent_expr const& j) override {
if (inconsistent())
return;
auto [f, d] = j();
m_goal->update(i, f, nullptr, d);
auto [f, p, d] = j();
m_goal->update(i, f, p, d);
}
void add(dependent_expr const& j) override {
if (inconsistent())
return;
auto [f, d] = j();
m_goal->assert_expr(f, nullptr, d);
auto [f, p, d] = j();
m_goal->assert_expr(f, p, d);
}
bool inconsistent() override {
@ -108,7 +108,7 @@ public:
tactic_report report(name(), *in);
m_goal = in.get();
try {
if (!in->proofs_enabled())
if (!in->proofs_enabled() || m_simp->supports_proofs())
m_simp->reduce();
if (m.inc())
advance_qhead();