flix

0.67.2

Fixpoint3.Solver

Definitions

@LoweringTarget
def facts0(p: PredSym, d: Datalog): Vector[t] with Order[t] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts1(p: PredSym, d: Datalog): Vector[t] with Order[t] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts10(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts11(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts12(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts13(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12], Order[t13] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts14(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12], Order[t13], Order[t14] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts15(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12], Order[t13], Order[t14], Order[t15] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts2(p: PredSym, d: Datalog): Vector[(t1, t2)] with Order[t1], Order[t2] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts3(p: PredSym, d: Datalog): Vector[(t1, t2, t3)] with Order[t1], Order[t2], Order[t3] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts4(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4)] with Order[t1], Order[t2], Order[t3], Order[t4] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts5(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts6(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts7(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts8(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def facts9(p: PredSym, d: Datalog): Vector[(t1, t2, t3, t4, t5, t6, t7, t8, t9)] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9] Source

Returns all facts in d associated with the predicate symbol p.

@LoweringTarget
def injectInto1(p: PredSym, ts: f[t1]): Datalog \ Aef[f] with Order[t1], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1). p(t1').} given the sequence (t1), (t1').

@LoweringTarget
def injectInto10(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10). p(t1', t2', t3', t4', t5', t6', t7', t8', t9', t10').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10), (t1', t2', t3', t4', t5', t6', t7', t8', t9', t10').

@LoweringTarget
def injectInto11(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11). p(t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11), (t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11').

@LoweringTarget
def injectInto12(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12). p(t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12), (t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12').

@LoweringTarget
def injectInto13(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12], Order[t13], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13). p(t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12', t13').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13), (t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12', t13').

@LoweringTarget
def injectInto14(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12], Order[t13], Order[t14], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14). p(t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12', t13', t14').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14), (t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12', t13', t14').

@LoweringTarget
def injectInto15(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Order[t10], Order[t11], Order[t12], Order[t13], Order[t14], Order[t15], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15). p(t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12', t13', t14', t15').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15), (t1', t2', t3', t4', t5', t6', t7', t8', t9', t10', t11', t12', t13', t14', t15').

@LoweringTarget
def injectInto2(p: PredSym, ts: f[(t1, t2)]): Datalog \ Aef[f] with Order[t1], Order[t2], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2). p(t1', t2').} given the sequence (t1, t2), (t1', t2').

@LoweringTarget
def injectInto3(p: PredSym, ts: f[(t1, t2, t3)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3). p(t1', t2', t3').} given the sequence (t1, t2, t3), (t1', t2', t3').

@LoweringTarget
def injectInto4(p: PredSym, ts: f[(t1, t2, t3, t4)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4). p(t1', t2', t3', t4').} given the sequence (t1, t2, t3, t4), (t1', t2', t3', t4').

@LoweringTarget
def injectInto5(p: PredSym, ts: f[(t1, t2, t3, t4, t5)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5). p(t1', t2', t3', t4', t5').} given the sequence (t1, t2, t3, t4, t5), (t1', t2', t3', t4', t5').

@LoweringTarget
def injectInto6(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6). p(t1', t2', t3', t4', t5', t6').} given the sequence (t1, t2, t3, t4, t5, t6), (t1', t2', t3', t4', t5', t6').

@LoweringTarget
def injectInto7(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7). p(t1', t2', t3', t4', t5', t6', t7').} given the sequence (t1, t2, t3, t4, t5, t6, t7), (t1', t2', t3', t4', t5', t6', t7').

@LoweringTarget
def injectInto8(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8). p(t1', t2', t3', t4', t5', t6', t7', t8').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8), (t1', t2', t3', t4', t5', t6', t7', t8').

@LoweringTarget
def injectInto9(p: PredSym, ts: f[(t1, t2, t3, t4, t5, t6, t7, t8, t9)]): Datalog \ Aef[f] with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t6], Order[t7], Order[t8], Order[t9], Foldable[f] Source

Insert all facts in the given sequence f into the given relation p.

I.e. returns a Datalog program corresponding to #{p(t1, t2, t3, t4, t5, t6, t7, t8, t9). p(t1', t2', t3', t4', t5', t6', t7', t8', t9').} given the sequence (t1, t2, t3, t4, t5, t6, t7, t8, t9), (t1', t2', t3', t4', t5', t6', t7', t8', t9').

@LoweringTarget
def projectSym(p: PredSym, d: Datalog): Datalog Source

Project all facts in the given Datalog program d that has p in its head.

@LoweringTarget
def provenanceOf(p: PredSym, f: Vector[Boxed], withh: Vector[PredSym], mkExtVar: PredSym -> (Vector[Boxed] -> t), d: Datalog): Vector[t] Source

Returns the provenance of fact f of relation p given Datalog program d.

@LoweringTarget
def rename(preds: List[PredSym], d: Datalog): Datalog Source

Renames every predicate symbol in d with a fresh name, except for those in preds.

@LoweringTarget
def runSolver(d: Datalog): Datalog Source

Returns the minimal model of the given Datalog program d. The minimal model is given by the model semantics for Datalog programs with stratified negation. The stratification is computed automatically by the solver.

@LoweringTarget
def runSolverWithProvenance(d: Datalog): Datalog Source

Returns a provenance model of the given Datalog program d. The provenance model can later be used for provenance queries.

@LoweringTarget
def union(d1: Datalog, d2: Datalog): Datalog Source

Returns the pairwise union of d1 and d2. I.e. the facts of the union is the union of the facts and likewise for rules. A fact or rule may occur twice in the Datalog program. This has no effect on its semantics.