3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-07 16:31:55 +00:00

working on udoc

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-09-21 20:25:11 -07:00
parent a50cbef877
commit 22808a039d
17 changed files with 171 additions and 39 deletions

View file

@ -222,6 +222,7 @@ namespace datalog {
}
lbool rel_context::query(unsigned num_rels, func_decl * const* rels) {
setup_default_relation();
get_rmanager().reset_saturated_marks();
scoped_query _scoped_query(m_context);
for (unsigned i = 0; i < num_rels; ++i) {
@ -307,6 +308,7 @@ namespace datalog {
}
lbool rel_context::query(expr* query) {
setup_default_relation();
get_rmanager().reset_saturated_marks();
scoped_query _scoped_query(m_context);
rule_manager& rm = m_context.get_rule_manager();
@ -495,6 +497,12 @@ namespace datalog {
get_rmanager().set_cancel(f);
}
void rel_context::setup_default_relation() {
if (m_context.default_relation() == symbol("doc")) {
m_context.set_unbound_compressor(false);
}
}
relation_plugin & rel_context::get_ordinary_relation_plugin(symbol relation_name) {
relation_plugin * plugin = get_rmanager().get_relation_plugin(relation_name);
if (!plugin) {
@ -553,6 +561,10 @@ namespace datalog {
get_rmanager().store_relation(pred, rel);
}
void rel_context::collect_statistics(statistics& st) const {
m_ectx.collect_statistics(st);
}
void rel_context::inherit_predicate_kind(func_decl* new_pred, func_decl* orig_pred) {
if (orig_pred) {
family_id target_kind = get_rmanager().get_requested_predicate_kind(orig_pred);