mirror of
https://github.com/Z3Prover/z3
synced 2025-08-22 11:07:51 +00:00
added API to monitor clause inferences
See RELEASE_NOTES for more information examples pending.
This commit is contained in:
parent
77cbd89420
commit
07dd1065db
34 changed files with 505 additions and 122 deletions
|
@ -76,6 +76,10 @@ public:
|
|||
|
||||
static void checkpoint(ast_manager& m);
|
||||
|
||||
void register_on_clause(void* ctx, user_propagator::on_clause_eh_t& on_clause) override {
|
||||
throw default_exception("tactic does not support clause logging");
|
||||
}
|
||||
|
||||
void user_propagate_init(
|
||||
void* ctx,
|
||||
user_propagator::push_eh_t& push_eh,
|
||||
|
|
|
@ -166,6 +166,10 @@ public:
|
|||
return translate_core<and_then_tactical>(m);
|
||||
}
|
||||
|
||||
void register_on_clause(void* ctx, user_propagator::on_clause_eh_t& on_clause) override {
|
||||
m_t2->register_on_clause(ctx, on_clause);
|
||||
}
|
||||
|
||||
void user_propagate_init(
|
||||
void* ctx,
|
||||
user_propagator::push_eh_t& push_eh,
|
||||
|
|
|
@ -27,6 +27,7 @@ namespace user_propagator {
|
|||
typedef std::function<void(void*, callback*, unsigned)> pop_eh_t;
|
||||
typedef std::function<void(void*, callback*, expr*)> created_eh_t;
|
||||
typedef std::function<void(void*, callback*, expr**, unsigned*, lbool*)> decide_eh_t;
|
||||
typedef std::function<void(void*, expr*, unsigned, expr* const*)> on_clause_eh_t;
|
||||
|
||||
class plugin : public decl_plugin {
|
||||
public:
|
||||
|
@ -94,6 +95,10 @@ namespace user_propagator {
|
|||
virtual void user_propagate_clear() {
|
||||
}
|
||||
|
||||
virtual void register_on_clause(void*, on_clause_eh_t& r) {
|
||||
throw default_exception("clause logging is only supported on the SMT solver");
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue