Files
troupe-standup/wizard-work/null/datalogkit/EVIDENCE.txt
T

83 lines
1.9 KiB
Plaintext

[differential] programs evaluated: 600 (unstratified: 61, predicate-relations compared: 3234)
== 1. full unittest suite (the CHECK command runs this same suite)
........................................
----------------------------------------------------------------------
Ran 40 tests in 1.022s
OK
testsRun=40 failures=0 errors=0
== 2. semi-naive vs naive work on a chain transitive closure
n |path| semi-naive naive speedup rounds
6 15 105 300 2.9x 5
12 66 858 5687 6.6x 11
16 120 2040 18825 9.2x 15
20 190 3990 47291 11.9x 19
== 3. fresh-seed differential run: 400 programs, engine vs oracle
programs=400 unstratified=43 predicate-relations compared=2142 mismatches=0
== 4. strata assignment + refusal of a non-stratified program
strata: [['edge'], ['node'], ['source'], ['reach'], ['unreach']]
reach: [('a',), ('b',)] unreach: [('c',)]
refused: negation is not stratified: p negates q but they are mutually recursive (SCC: p, q)
ALL SECTIONS CLEAN
== 5. CLI on examples/reach.dl (appended by hand, not by evidence_run.py)
$ python3 datalog.py examples/reach.dl --text --stats
edge: 2 tuple(s)
edge(a, b).
edge(b, c).
node: 4 tuple(s)
node(a).
node(b).
node(c).
node(d).
reach: 3 tuple(s)
reach(a).
reach(b).
reach(c).
sink: 2 tuple(s)
sink(c).
sink(d).
source: 1 tuple(s)
source(a).
unreachable: 1 tuple(s)
unreachable(d).
{"bindings": 20, "derived": 6, "rounds": 5, "rule_runs": 6}
exit=0
$ python3 datalog.py examples/reach.dl -q unreachable
{
"predicates": {
"unreachable": [
[
"d"
]
]
},
"strata": [
[
"edge"
],
[
"node"
],
[
"sink"
],
[
"source"
],
[
"reach"
],
[
"unreachable"
]
]
}
exit=0