3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-29 22:40:08 +00:00

debugging karr invariants

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2013-03-29 08:53:46 -07:00
parent ce7d6a16d0
commit 6ed266e4de
13 changed files with 196 additions and 68 deletions

View file

@ -41,7 +41,6 @@ namespace datalog {
context & m_context;
rule_manager & m_rule_manager;
bool m_dirty;
volatile bool m_cancel;
svector<plugin*> m_plugins;
void ensure_ordered();
@ -81,7 +80,6 @@ namespace datalog {
void attach(rule_transformer & transformer) { m_transformer = &transformer; }
protected:
volatile bool m_cancel;
/**
\brief Create a plugin object for rule_transformer.
@ -90,7 +88,7 @@ namespace datalog {
(higher priority plugins will be applied first).
*/
plugin(unsigned priority, bool can_destratify_negation = false) : m_priority(priority),
m_can_destratify_negation(can_destratify_negation), m_transformer(0), m_cancel(false) {}
m_can_destratify_negation(can_destratify_negation), m_transformer(0) {}
public:
virtual ~plugin() {}
@ -98,6 +96,8 @@ namespace datalog {
unsigned get_priority() { return m_priority; }
bool can_destratify_negation() const { return m_can_destratify_negation; }
virtual void cancel() {}
/**
\brief Return \c rule_set object with containing transformed rules or 0 if no
transformation was done.
@ -107,8 +107,6 @@ namespace datalog {
virtual rule_set * operator()(rule_set const & source,
model_converter_ref& mc) = 0;
virtual void cancel() { m_cancel = true; }
/**
Removes duplicate tails.
*/