Fixpoint3.Ast.Datalog.Datalog
enum DatalogSourcecase Datalog(Vector[Constraint], Vector[Constraint])case Model(Map[RelSym, BPlusTree[Vector[Boxed], Boxed, Static]])case Join(Datalog, Datalog)case Provenance(Vector[Constraint], Map[RelSym, BPlusTree[Vector[Boxed], (Int64, Int32), Static]])Datalog(facts, rules) is a Datalog program where facts and rules are the
facts and rules of the program, respectively.
Model(factsMap) is a model mapping RelSym the their IDB/facts.
Join(p1, p2) is the combination of Datalog programs p1 and p2.
Provenance(rules, model) is a Datalog model where model is a map from
computed facts to annotations of the form (depth, ruleUsed) and rules
are the rules used during the computation of model.