eyeprolog 1.6.29 → 1.6.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/check/deep-taxonomy-10.pl +9 -9
- package/examples/check/deep-taxonomy-100.pl +9 -9
- package/examples/check/deep-taxonomy-1000.pl +11 -17
- package/examples/check/deep-taxonomy-10000.pl +11 -17
- package/examples/check/deep-taxonomy-100000.pl +11 -17
- package/examples/deep-taxonomy-10.pl +1 -60
- package/examples/deep-taxonomy-100.pl +1 -60
- package/examples/deep-taxonomy-1000.pl +1 -60
- package/examples/deep-taxonomy-10000.pl +1 -60
- package/examples/deep-taxonomy-100000.pl +1 -61
- package/examples/output/deep-taxonomy-10.pl +1 -16
- package/examples/output/deep-taxonomy-100.pl +1 -16
- package/examples/output/deep-taxonomy-1000.pl +1 -16
- package/examples/output/deep-taxonomy-10000.pl +1 -16
- package/examples/output/deep-taxonomy-100000.pl +1 -16
- package/examples/proof/deep-taxonomy-10.pl +1 -159
- package/examples/proof/deep-taxonomy-100.pl +1 -159
- package/examples/proof/deep-taxonomy-1000.pl +2002 -158
- package/examples/proof/deep-taxonomy-10000.pl +20002 -158
- package/examples/proof/deep-taxonomy-100000.pl +200003 -159
- package/package.json +1 -1
- package/src/explain.js +58 -1
- package/test/parallel-tasks.mjs +113 -0
- package/test/regression/cases-api.mjs +39 -0
- package/test/run-all.mjs +1 -1
- package/test/run-examples.mjs +25 -93
- package/test/run-proof-checking.mjs +33 -16
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
condition('C1', resolution, ok,
|
|
2
|
-
condition('C2', well_founded, ok,
|
|
3
|
-
condition('C3', justification, ok,
|
|
4
|
-
condition('C4', coverage, ok,
|
|
5
|
-
condition('C5', re_decision, ok,
|
|
6
|
-
steps(
|
|
7
|
-
verified(
|
|
1
|
+
condition('C1', resolution, ok, 12).
|
|
2
|
+
condition('C2', well_founded, ok, 12).
|
|
3
|
+
condition('C3', justification, ok, 12).
|
|
4
|
+
condition('C4', coverage, ok, 12).
|
|
5
|
+
condition('C5', re_decision, ok, 0).
|
|
6
|
+
steps(12).
|
|
7
|
+
verified(12).
|
|
8
8
|
recomputed(0).
|
|
9
|
-
composed(
|
|
9
|
+
composed(0).
|
|
10
10
|
trusted(0).
|
|
11
|
-
claims(
|
|
11
|
+
claims(1).
|
|
12
12
|
verdict(checked).
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
condition('C1', resolution, ok,
|
|
2
|
-
condition('C2', well_founded, ok,
|
|
3
|
-
condition('C3', justification, ok,
|
|
4
|
-
condition('C4', coverage, ok,
|
|
5
|
-
condition('C5', re_decision, ok,
|
|
6
|
-
steps(
|
|
7
|
-
verified(
|
|
1
|
+
condition('C1', resolution, ok, 102).
|
|
2
|
+
condition('C2', well_founded, ok, 102).
|
|
3
|
+
condition('C3', justification, ok, 102).
|
|
4
|
+
condition('C4', coverage, ok, 102).
|
|
5
|
+
condition('C5', re_decision, ok, 0).
|
|
6
|
+
steps(102).
|
|
7
|
+
verified(102).
|
|
8
8
|
recomputed(0).
|
|
9
|
-
composed(
|
|
9
|
+
composed(0).
|
|
10
10
|
trusted(0).
|
|
11
|
-
claims(
|
|
11
|
+
claims(1).
|
|
12
12
|
verdict(checked).
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
condition('C1', resolution, ok,
|
|
2
|
-
condition('C2', well_founded, ok,
|
|
3
|
-
condition('C3', justification, ok,
|
|
4
|
-
condition('C4', coverage, ok,
|
|
5
|
-
condition('C5', re_decision, ok,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
obligation(builtin, theory_scoped, once(a(ind, i500))).
|
|
9
|
-
obligation(builtin, theory_scoped, once(a(ind, j500))).
|
|
10
|
-
obligation(builtin, theory_scoped, once(a(ind, n999))).
|
|
11
|
-
obligation(builtin, theory_scoped, once(a(ind, n1000))).
|
|
12
|
-
steps(37).
|
|
13
|
-
verified(20).
|
|
1
|
+
condition('C1', resolution, ok, 1002).
|
|
2
|
+
condition('C2', well_founded, ok, 1002).
|
|
3
|
+
condition('C3', justification, ok, 1002).
|
|
4
|
+
condition('C4', coverage, ok, 1002).
|
|
5
|
+
condition('C5', re_decision, ok, 0).
|
|
6
|
+
steps(1002).
|
|
7
|
+
verified(1002).
|
|
14
8
|
recomputed(0).
|
|
15
|
-
composed(
|
|
16
|
-
trusted(
|
|
17
|
-
claims(
|
|
18
|
-
verdict(
|
|
9
|
+
composed(0).
|
|
10
|
+
trusted(0).
|
|
11
|
+
claims(1).
|
|
12
|
+
verdict(checked).
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
condition('C1', resolution, ok,
|
|
2
|
-
condition('C2', well_founded, ok,
|
|
3
|
-
condition('C3', justification, ok,
|
|
4
|
-
condition('C4', coverage, ok,
|
|
5
|
-
condition('C5', re_decision, ok,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
obligation(builtin, theory_scoped, once(a(ind, i5000))).
|
|
9
|
-
obligation(builtin, theory_scoped, once(a(ind, j5000))).
|
|
10
|
-
obligation(builtin, theory_scoped, once(a(ind, n9999))).
|
|
11
|
-
obligation(builtin, theory_scoped, once(a(ind, n10000))).
|
|
12
|
-
steps(37).
|
|
13
|
-
verified(20).
|
|
1
|
+
condition('C1', resolution, ok, 10002).
|
|
2
|
+
condition('C2', well_founded, ok, 10002).
|
|
3
|
+
condition('C3', justification, ok, 10002).
|
|
4
|
+
condition('C4', coverage, ok, 10002).
|
|
5
|
+
condition('C5', re_decision, ok, 0).
|
|
6
|
+
steps(10002).
|
|
7
|
+
verified(10002).
|
|
14
8
|
recomputed(0).
|
|
15
|
-
composed(
|
|
16
|
-
trusted(
|
|
17
|
-
claims(
|
|
18
|
-
verdict(
|
|
9
|
+
composed(0).
|
|
10
|
+
trusted(0).
|
|
11
|
+
claims(1).
|
|
12
|
+
verdict(checked).
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
condition('C1', resolution, ok,
|
|
2
|
-
condition('C2', well_founded, ok,
|
|
3
|
-
condition('C3', justification, ok,
|
|
4
|
-
condition('C4', coverage, ok,
|
|
5
|
-
condition('C5', re_decision, ok,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
obligation(builtin, theory_scoped, once(a(ind, i50000))).
|
|
9
|
-
obligation(builtin, theory_scoped, once(a(ind, j50000))).
|
|
10
|
-
obligation(builtin, theory_scoped, once(a(ind, n99999))).
|
|
11
|
-
obligation(builtin, theory_scoped, once(a(ind, n100000))).
|
|
12
|
-
steps(37).
|
|
13
|
-
verified(20).
|
|
1
|
+
condition('C1', resolution, ok, 100002).
|
|
2
|
+
condition('C2', well_founded, ok, 100002).
|
|
3
|
+
condition('C3', justification, ok, 100002).
|
|
4
|
+
condition('C4', coverage, ok, 100002).
|
|
5
|
+
condition('C5', re_decision, ok, 0).
|
|
6
|
+
steps(100002).
|
|
7
|
+
verified(100002).
|
|
14
8
|
recomputed(0).
|
|
15
|
-
composed(
|
|
16
|
-
trusted(
|
|
17
|
-
claims(
|
|
18
|
-
verdict(
|
|
9
|
+
composed(0).
|
|
10
|
+
trusted(0).
|
|
11
|
+
claims(1).
|
|
12
|
+
verdict(checked).
|
|
@@ -5,18 +5,7 @@
|
|
|
5
5
|
% the next taxonomy class together with two side labels.
|
|
6
6
|
% =============================================================================================================================
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
%% ?- holds_result(X0, X1).
|
|
10
|
-
|
|
11
|
-
%% ?- answer(X0, X1).
|
|
12
|
-
|
|
13
|
-
%% ?- reason(X0, X1).
|
|
14
|
-
|
|
15
|
-
%% ?- result(X0, X1).
|
|
16
|
-
|
|
17
|
-
%% ?- checkPassed(X0, X1).
|
|
18
|
-
|
|
19
|
-
%% ?- arc(X0, X1).
|
|
8
|
+
%% ?- a(ind, a2).
|
|
20
9
|
|
|
21
10
|
|
|
22
11
|
:- discontiguous(a/2).
|
|
@@ -64,51 +53,3 @@ a(X, j9) :- a(X, n8).
|
|
|
64
53
|
a(X, n10) :- a(X, n9).
|
|
65
54
|
a(X, i10) :- a(X, n9).
|
|
66
55
|
a(X, j10) :- a(X, n9).
|
|
67
|
-
|
|
68
|
-
% ARC checks
|
|
69
|
-
|
|
70
|
-
arc(check1, "C1 OK - the starting classification n0 is present.") :-
|
|
71
|
-
once(a(ind, n0)).
|
|
72
|
-
|
|
73
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.") :-
|
|
74
|
-
once(a(ind, n1)),
|
|
75
|
-
once(a(ind, i1)),
|
|
76
|
-
once(a(ind, j1)).
|
|
77
|
-
|
|
78
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n5 and still carries both side-label branches.") :-
|
|
79
|
-
once(a(ind, n5)),
|
|
80
|
-
once(a(ind, i5)),
|
|
81
|
-
once(a(ind, j5)).
|
|
82
|
-
|
|
83
|
-
arc(check4, "C4 OK - the final taxonomy step from n9 to n10 was completed.") :-
|
|
84
|
-
once(a(ind, n9)),
|
|
85
|
-
once(a(ind, n10)).
|
|
86
|
-
|
|
87
|
-
arc(check5, "C5 OK - once n10 is reached, the terminal class a2 is derived.") :-
|
|
88
|
-
once(a(ind, n10)),
|
|
89
|
-
once(a(ind, a2)).
|
|
90
|
-
|
|
91
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.") :-
|
|
92
|
-
once(a(ind, a2)),
|
|
93
|
-
once(holds_result(test, true)).
|
|
94
|
-
|
|
95
|
-
% ARC report
|
|
96
|
-
|
|
97
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n10 and then as a2.") :-
|
|
98
|
-
once(holds_result(test, true)).
|
|
99
|
-
|
|
100
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-10 chain: each rule advances one taxonomy level and adds the matching side labels.") :-
|
|
101
|
-
once(a(ind, a2)),
|
|
102
|
-
once(holds_result(test, true)).
|
|
103
|
-
|
|
104
|
-
checkPassed(report, Check) :-
|
|
105
|
-
arc(Check, _message).
|
|
106
|
-
|
|
107
|
-
result(report, success) :-
|
|
108
|
-
once(holds_result(test, true)),
|
|
109
|
-
once(arc(check1, _c1)),
|
|
110
|
-
once(arc(check2, _c2)),
|
|
111
|
-
once(arc(check3, _c3)),
|
|
112
|
-
once(arc(check4, _c4)),
|
|
113
|
-
once(arc(check5, _c5)),
|
|
114
|
-
once(arc(check6, _c6)).
|
|
@@ -5,18 +5,7 @@
|
|
|
5
5
|
% the next taxonomy class together with two side labels.
|
|
6
6
|
% =============================================================================================================================
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
%% ?- holds_result(X0, X1).
|
|
10
|
-
|
|
11
|
-
%% ?- answer(X0, X1).
|
|
12
|
-
|
|
13
|
-
%% ?- reason(X0, X1).
|
|
14
|
-
|
|
15
|
-
%% ?- result(X0, X1).
|
|
16
|
-
|
|
17
|
-
%% ?- checkPassed(X0, X1).
|
|
18
|
-
|
|
19
|
-
%% ?- arc(X0, X1).
|
|
8
|
+
%% ?- a(ind, a2).
|
|
20
9
|
|
|
21
10
|
|
|
22
11
|
:- discontiguous(a/2).
|
|
@@ -334,51 +323,3 @@ a(X, j99) :- a(X, n98).
|
|
|
334
323
|
a(X, n100) :- a(X, n99).
|
|
335
324
|
a(X, i100) :- a(X, n99).
|
|
336
325
|
a(X, j100) :- a(X, n99).
|
|
337
|
-
|
|
338
|
-
% ARC checks
|
|
339
|
-
|
|
340
|
-
arc(check1, "C1 OK - the starting classification n0 is present.") :-
|
|
341
|
-
once(a(ind, n0)).
|
|
342
|
-
|
|
343
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.") :-
|
|
344
|
-
once(a(ind, n1)),
|
|
345
|
-
once(a(ind, i1)),
|
|
346
|
-
once(a(ind, j1)).
|
|
347
|
-
|
|
348
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n50 and still carries both side-label branches.") :-
|
|
349
|
-
once(a(ind, n50)),
|
|
350
|
-
once(a(ind, i50)),
|
|
351
|
-
once(a(ind, j50)).
|
|
352
|
-
|
|
353
|
-
arc(check4, "C4 OK - the final taxonomy step from n99 to n100 was completed.") :-
|
|
354
|
-
once(a(ind, n99)),
|
|
355
|
-
once(a(ind, n100)).
|
|
356
|
-
|
|
357
|
-
arc(check5, "C5 OK - once n100 is reached, the terminal class a2 is derived.") :-
|
|
358
|
-
once(a(ind, n100)),
|
|
359
|
-
once(a(ind, a2)).
|
|
360
|
-
|
|
361
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.") :-
|
|
362
|
-
once(a(ind, a2)),
|
|
363
|
-
once(holds_result(test, true)).
|
|
364
|
-
|
|
365
|
-
% ARC report
|
|
366
|
-
|
|
367
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n100 and then as a2.") :-
|
|
368
|
-
once(holds_result(test, true)).
|
|
369
|
-
|
|
370
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-100 chain: each rule advances one taxonomy level and adds the matching side labels.") :-
|
|
371
|
-
once(a(ind, a2)),
|
|
372
|
-
once(holds_result(test, true)).
|
|
373
|
-
|
|
374
|
-
checkPassed(report, Check) :-
|
|
375
|
-
arc(Check, _message).
|
|
376
|
-
|
|
377
|
-
result(report, success) :-
|
|
378
|
-
once(holds_result(test, true)),
|
|
379
|
-
once(arc(check1, _c1)),
|
|
380
|
-
once(arc(check2, _c2)),
|
|
381
|
-
once(arc(check3, _c3)),
|
|
382
|
-
once(arc(check4, _c4)),
|
|
383
|
-
once(arc(check5, _c5)),
|
|
384
|
-
once(arc(check6, _c6)).
|
|
@@ -5,18 +5,7 @@
|
|
|
5
5
|
% the next taxonomy class together with two side labels.
|
|
6
6
|
% =============================================================================================================================
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
%% ?- holds_result(X0, X1).
|
|
10
|
-
|
|
11
|
-
%% ?- answer(X0, X1).
|
|
12
|
-
|
|
13
|
-
%% ?- reason(X0, X1).
|
|
14
|
-
|
|
15
|
-
%% ?- result(X0, X1).
|
|
16
|
-
|
|
17
|
-
%% ?- checkPassed(X0, X1).
|
|
18
|
-
|
|
19
|
-
%% ?- arc(X0, X1).
|
|
8
|
+
%% ?- a(ind, a2).
|
|
20
9
|
|
|
21
10
|
|
|
22
11
|
:- discontiguous(a/2).
|
|
@@ -3034,51 +3023,3 @@ a(X, j999) :- a(X, n998).
|
|
|
3034
3023
|
a(X, n1000) :- a(X, n999).
|
|
3035
3024
|
a(X, i1000) :- a(X, n999).
|
|
3036
3025
|
a(X, j1000) :- a(X, n999).
|
|
3037
|
-
|
|
3038
|
-
% ARC checks
|
|
3039
|
-
|
|
3040
|
-
arc(check1, "C1 OK - the starting classification n0 is present.") :-
|
|
3041
|
-
once(a(ind, n0)).
|
|
3042
|
-
|
|
3043
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.") :-
|
|
3044
|
-
once(a(ind, n1)),
|
|
3045
|
-
once(a(ind, i1)),
|
|
3046
|
-
once(a(ind, j1)).
|
|
3047
|
-
|
|
3048
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n500 and still carries both side-label branches.") :-
|
|
3049
|
-
once(a(ind, n500)),
|
|
3050
|
-
once(a(ind, i500)),
|
|
3051
|
-
once(a(ind, j500)).
|
|
3052
|
-
|
|
3053
|
-
arc(check4, "C4 OK - the final taxonomy step from n999 to n1000 was completed.") :-
|
|
3054
|
-
once(a(ind, n999)),
|
|
3055
|
-
once(a(ind, n1000)).
|
|
3056
|
-
|
|
3057
|
-
arc(check5, "C5 OK - once n1000 is reached, the terminal class a2 is derived.") :-
|
|
3058
|
-
once(a(ind, n1000)),
|
|
3059
|
-
once(a(ind, a2)).
|
|
3060
|
-
|
|
3061
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.") :-
|
|
3062
|
-
once(a(ind, a2)),
|
|
3063
|
-
once(holds_result(test, true)).
|
|
3064
|
-
|
|
3065
|
-
% ARC report
|
|
3066
|
-
|
|
3067
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n1000 and then as a2.") :-
|
|
3068
|
-
once(holds_result(test, true)).
|
|
3069
|
-
|
|
3070
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-1000 chain: each rule advances one taxonomy level and adds the matching side labels.") :-
|
|
3071
|
-
once(a(ind, a2)),
|
|
3072
|
-
once(holds_result(test, true)).
|
|
3073
|
-
|
|
3074
|
-
checkPassed(report, Check) :-
|
|
3075
|
-
arc(Check, _message).
|
|
3076
|
-
|
|
3077
|
-
result(report, success) :-
|
|
3078
|
-
once(holds_result(test, true)),
|
|
3079
|
-
once(arc(check1, _c1)),
|
|
3080
|
-
once(arc(check2, _c2)),
|
|
3081
|
-
once(arc(check3, _c3)),
|
|
3082
|
-
once(arc(check4, _c4)),
|
|
3083
|
-
once(arc(check5, _c5)),
|
|
3084
|
-
once(arc(check6, _c6)).
|
|
@@ -5,18 +5,7 @@
|
|
|
5
5
|
% the next taxonomy class together with two side labels.
|
|
6
6
|
% =============================================================================================================================
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
%% ?- holds_result(X0, X1).
|
|
10
|
-
|
|
11
|
-
%% ?- answer(X0, X1).
|
|
12
|
-
|
|
13
|
-
%% ?- reason(X0, X1).
|
|
14
|
-
|
|
15
|
-
%% ?- result(X0, X1).
|
|
16
|
-
|
|
17
|
-
%% ?- checkPassed(X0, X1).
|
|
18
|
-
|
|
19
|
-
%% ?- arc(X0, X1).
|
|
8
|
+
%% ?- a(ind, a2).
|
|
20
9
|
|
|
21
10
|
|
|
22
11
|
:- discontiguous(a/2).
|
|
@@ -30034,51 +30023,3 @@ a(X, j9999) :- a(X, n9998).
|
|
|
30034
30023
|
a(X, n10000) :- a(X, n9999).
|
|
30035
30024
|
a(X, i10000) :- a(X, n9999).
|
|
30036
30025
|
a(X, j10000) :- a(X, n9999).
|
|
30037
|
-
|
|
30038
|
-
% ARC checks
|
|
30039
|
-
|
|
30040
|
-
arc(check1, "C1 OK - the starting classification n0 is present.") :-
|
|
30041
|
-
once(a(ind, n0)).
|
|
30042
|
-
|
|
30043
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.") :-
|
|
30044
|
-
once(a(ind, n1)),
|
|
30045
|
-
once(a(ind, i1)),
|
|
30046
|
-
once(a(ind, j1)).
|
|
30047
|
-
|
|
30048
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n5000 and still carries both side-label branches.") :-
|
|
30049
|
-
once(a(ind, n5000)),
|
|
30050
|
-
once(a(ind, i5000)),
|
|
30051
|
-
once(a(ind, j5000)).
|
|
30052
|
-
|
|
30053
|
-
arc(check4, "C4 OK - the final taxonomy step from n9999 to n10000 was completed.") :-
|
|
30054
|
-
once(a(ind, n9999)),
|
|
30055
|
-
once(a(ind, n10000)).
|
|
30056
|
-
|
|
30057
|
-
arc(check5, "C5 OK - once n10000 is reached, the terminal class a2 is derived.") :-
|
|
30058
|
-
once(a(ind, n10000)),
|
|
30059
|
-
once(a(ind, a2)).
|
|
30060
|
-
|
|
30061
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.") :-
|
|
30062
|
-
once(a(ind, a2)),
|
|
30063
|
-
once(holds_result(test, true)).
|
|
30064
|
-
|
|
30065
|
-
% ARC report
|
|
30066
|
-
|
|
30067
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n10000 and then as a2.") :-
|
|
30068
|
-
once(holds_result(test, true)).
|
|
30069
|
-
|
|
30070
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-10000 chain: each rule advances one taxonomy level and adds the matching side labels.") :-
|
|
30071
|
-
once(a(ind, a2)),
|
|
30072
|
-
once(holds_result(test, true)).
|
|
30073
|
-
|
|
30074
|
-
checkPassed(report, Check) :-
|
|
30075
|
-
arc(Check, _message).
|
|
30076
|
-
|
|
30077
|
-
result(report, success) :-
|
|
30078
|
-
once(holds_result(test, true)),
|
|
30079
|
-
once(arc(check1, _c1)),
|
|
30080
|
-
once(arc(check2, _c2)),
|
|
30081
|
-
once(arc(check3, _c3)),
|
|
30082
|
-
once(arc(check4, _c4)),
|
|
30083
|
-
once(arc(check5, _c5)),
|
|
30084
|
-
once(arc(check6, _c6)).
|
|
@@ -5,18 +5,7 @@
|
|
|
5
5
|
% the next taxonomy class together with two side labels.
|
|
6
6
|
% =============================================================================================================================
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
%% ?- holds_result(X0, X1).
|
|
10
|
-
|
|
11
|
-
%% ?- answer(X0, X1).
|
|
12
|
-
|
|
13
|
-
%% ?- reason(X0, X1).
|
|
14
|
-
|
|
15
|
-
%% ?- result(X0, X1).
|
|
16
|
-
|
|
17
|
-
%% ?- checkPassed(X0, X1).
|
|
18
|
-
|
|
19
|
-
%% ?- arc(X0, X1).
|
|
8
|
+
%% ?- a(ind, a2).
|
|
20
9
|
|
|
21
10
|
|
|
22
11
|
% Program structure: facts set up the scenario, and rules derive the queried conclusions.
|
|
@@ -27,7 +16,6 @@ a(ind, n0).
|
|
|
27
16
|
% terminal rule
|
|
28
17
|
|
|
29
18
|
% Derivation rules: each rule below contributes one logical step toward the displayed results.
|
|
30
|
-
holds_result(test, true) :- once(a(ind, a2)).
|
|
31
19
|
a(X, a2) :- a(X, n100000).
|
|
32
20
|
|
|
33
21
|
% Adjacent N3-style taxonomy rules.
|
|
@@ -300032,51 +300020,3 @@ a(X, j99999) :- a(X, n99998).
|
|
|
300032
300020
|
a(X, n100000) :- a(X, n99999).
|
|
300033
300021
|
a(X, i100000) :- a(X, n99999).
|
|
300034
300022
|
a(X, j100000) :- a(X, n99999).
|
|
300035
|
-
|
|
300036
|
-
% ARC checks
|
|
300037
|
-
|
|
300038
|
-
arc(check1, "C1 OK - the starting classification n0 is present.") :-
|
|
300039
|
-
once(a(ind, n0)).
|
|
300040
|
-
|
|
300041
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.") :-
|
|
300042
|
-
once(a(ind, n1)),
|
|
300043
|
-
once(a(ind, i1)),
|
|
300044
|
-
once(a(ind, j1)).
|
|
300045
|
-
|
|
300046
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n50000 and still carries both side-label branches.") :-
|
|
300047
|
-
once(a(ind, n50000)),
|
|
300048
|
-
once(a(ind, i50000)),
|
|
300049
|
-
once(a(ind, j50000)).
|
|
300050
|
-
|
|
300051
|
-
arc(check4, "C4 OK - the final taxonomy step from n99999 to n100000 was completed.") :-
|
|
300052
|
-
once(a(ind, n99999)),
|
|
300053
|
-
once(a(ind, n100000)).
|
|
300054
|
-
|
|
300055
|
-
arc(check5, "C5 OK - once n100000 is reached, the terminal class a2 is derived.") :-
|
|
300056
|
-
once(a(ind, n100000)),
|
|
300057
|
-
once(a(ind, a2)).
|
|
300058
|
-
|
|
300059
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.") :-
|
|
300060
|
-
once(a(ind, a2)),
|
|
300061
|
-
once(holds_result(test, true)).
|
|
300062
|
-
|
|
300063
|
-
% ARC report
|
|
300064
|
-
|
|
300065
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n100000 and then as a2.") :-
|
|
300066
|
-
once(holds_result(test, true)).
|
|
300067
|
-
|
|
300068
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-100000 chain: each rule advances one taxonomy level and adds the matching side labels.") :-
|
|
300069
|
-
once(a(ind, a2)),
|
|
300070
|
-
once(holds_result(test, true)).
|
|
300071
|
-
|
|
300072
|
-
checkPassed(report, Check) :-
|
|
300073
|
-
arc(Check, _message).
|
|
300074
|
-
|
|
300075
|
-
result(report, success) :-
|
|
300076
|
-
once(holds_result(test, true)),
|
|
300077
|
-
once(arc(check1, _c1)),
|
|
300078
|
-
once(arc(check2, _c2)),
|
|
300079
|
-
once(arc(check3, _c3)),
|
|
300080
|
-
once(arc(check4, _c4)),
|
|
300081
|
-
once(arc(check5, _c5)),
|
|
300082
|
-
once(arc(check6, _c6)).
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
arc(check1, "C1 OK - the starting classification n0 is present.").
|
|
3
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.").
|
|
4
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n5 and still carries both side-label branches.").
|
|
5
|
-
arc(check4, "C4 OK - the final taxonomy step from n9 to n10 was completed.").
|
|
6
|
-
arc(check5, "C5 OK - once n10 is reached, the terminal class a2 is derived.").
|
|
7
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.").
|
|
8
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n10 and then as a2.").
|
|
9
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-10 chain: each rule advances one taxonomy level and adds the matching side labels.").
|
|
10
|
-
checkPassed(report, check1).
|
|
11
|
-
checkPassed(report, check2).
|
|
12
|
-
checkPassed(report, check3).
|
|
13
|
-
checkPassed(report, check4).
|
|
14
|
-
checkPassed(report, check5).
|
|
15
|
-
checkPassed(report, check6).
|
|
16
|
-
result(report, success).
|
|
1
|
+
a(ind, a2).
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
arc(check1, "C1 OK - the starting classification n0 is present.").
|
|
3
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.").
|
|
4
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n50 and still carries both side-label branches.").
|
|
5
|
-
arc(check4, "C4 OK - the final taxonomy step from n99 to n100 was completed.").
|
|
6
|
-
arc(check5, "C5 OK - once n100 is reached, the terminal class a2 is derived.").
|
|
7
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.").
|
|
8
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n100 and then as a2.").
|
|
9
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-100 chain: each rule advances one taxonomy level and adds the matching side labels.").
|
|
10
|
-
checkPassed(report, check1).
|
|
11
|
-
checkPassed(report, check2).
|
|
12
|
-
checkPassed(report, check3).
|
|
13
|
-
checkPassed(report, check4).
|
|
14
|
-
checkPassed(report, check5).
|
|
15
|
-
checkPassed(report, check6).
|
|
16
|
-
result(report, success).
|
|
1
|
+
a(ind, a2).
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
arc(check1, "C1 OK - the starting classification n0 is present.").
|
|
3
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.").
|
|
4
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n500 and still carries both side-label branches.").
|
|
5
|
-
arc(check4, "C4 OK - the final taxonomy step from n999 to n1000 was completed.").
|
|
6
|
-
arc(check5, "C5 OK - once n1000 is reached, the terminal class a2 is derived.").
|
|
7
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.").
|
|
8
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n1000 and then as a2.").
|
|
9
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-1000 chain: each rule advances one taxonomy level and adds the matching side labels.").
|
|
10
|
-
checkPassed(report, check1).
|
|
11
|
-
checkPassed(report, check2).
|
|
12
|
-
checkPassed(report, check3).
|
|
13
|
-
checkPassed(report, check4).
|
|
14
|
-
checkPassed(report, check5).
|
|
15
|
-
checkPassed(report, check6).
|
|
16
|
-
result(report, success).
|
|
1
|
+
a(ind, a2).
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
arc(check1, "C1 OK - the starting classification n0 is present.").
|
|
3
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.").
|
|
4
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n5000 and still carries both side-label branches.").
|
|
5
|
-
arc(check4, "C4 OK - the final taxonomy step from n9999 to n10000 was completed.").
|
|
6
|
-
arc(check5, "C5 OK - once n10000 is reached, the terminal class a2 is derived.").
|
|
7
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.").
|
|
8
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n10000 and then as a2.").
|
|
9
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-10000 chain: each rule advances one taxonomy level and adds the matching side labels.").
|
|
10
|
-
checkPassed(report, check1).
|
|
11
|
-
checkPassed(report, check2).
|
|
12
|
-
checkPassed(report, check3).
|
|
13
|
-
checkPassed(report, check4).
|
|
14
|
-
checkPassed(report, check5).
|
|
15
|
-
checkPassed(report, check6).
|
|
16
|
-
result(report, success).
|
|
1
|
+
a(ind, a2).
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
arc(check1, "C1 OK - the starting classification n0 is present.").
|
|
3
|
-
arc(check2, "C2 OK - the first expansion produced n1 together with side labels i1 and j1.").
|
|
4
|
-
arc(check3, "C3 OK - the chain reaches the midpoint n50000 and still carries both side-label branches.").
|
|
5
|
-
arc(check4, "C4 OK - the final taxonomy step from n99999 to n100000 was completed.").
|
|
6
|
-
arc(check5, "C5 OK - once n100000 is reached, the terminal class a2 is derived.").
|
|
7
|
-
arc(check6, "C6 OK - the success flag is raised only after the terminal class a2 is present.").
|
|
8
|
-
answer(report, "The test succeeds: starting from one individual classified as n0, the rules eventually classify it as n100000 and then as a2.").
|
|
9
|
-
reason(report, "The adjacent rules mirror the Eyeling N3 deep-taxonomy-100000 chain: each rule advances one taxonomy level and adds the matching side labels.").
|
|
10
|
-
checkPassed(report, check1).
|
|
11
|
-
checkPassed(report, check2).
|
|
12
|
-
checkPassed(report, check3).
|
|
13
|
-
checkPassed(report, check4).
|
|
14
|
-
checkPassed(report, check5).
|
|
15
|
-
checkPassed(report, check6).
|
|
16
|
-
result(report, success).
|
|
1
|
+
a(ind, a2).
|