eyeling 1.5.12 → 1.5.13
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/README.md +1 -2
- package/examples/age.n3 +29 -0
- package/examples/backward.n3 +24 -0
- package/examples/basic-monadic.n3 +10032 -0
- package/examples/cat-koko.n3 +29 -0
- package/examples/collect-all-in.n3 +32 -0
- package/examples/complex.n3 +142 -0
- package/examples/control-system.n3 +77 -0
- package/examples/crypto-builtins-tests.n3 +60 -0
- package/examples/deep-taxonomy-10.n3 +21 -0
- package/examples/deep-taxonomy-100.n3 +111 -0
- package/examples/deep-taxonomy-1000.n3 +1011 -0
- package/examples/deep-taxonomy-10000.n3 +10011 -0
- package/examples/derived-backward-rule-2.n3 +28 -0
- package/examples/derived-backward-rule.n3 +32 -0
- package/examples/derived-rule.n3 +19 -0
- package/examples/dijkstra.n3 +64 -0
- package/examples/dog.n3 +21 -0
- package/examples/equals.n3 +12 -0
- package/examples/existential-rule.n3 +18 -0
- package/examples/fibonacci.n3 +34 -0
- package/examples/for-all-in.n3 +21 -0
- package/examples/french-cities.n3 +32 -0
- package/examples/fuse.n3 +13 -0
- package/examples/good-cobbler.n3 +18 -0
- package/examples/gray-code-counter.n3 +64 -0
- package/examples/hanoi.n3 +21 -0
- package/examples/liar.n3 +6 -0
- package/examples/list-builtins-tests.n3 +84 -0
- package/examples/lldm.n3 +133 -0
- package/examples/math-builtins-tests.n3 +612 -0
- package/examples/monkey.n3 +11 -0
- package/examples/output/age.n3 +20 -0
- package/examples/output/backward.n3 +18 -0
- package/examples/output/basic-monadic.n3 +122 -0
- package/examples/output/cat-koko.n3 +125 -0
- package/examples/output/collect-all-in.n3 +122 -0
- package/examples/output/complex.n3 +57 -0
- package/examples/output/control-system.n3 +79 -0
- package/examples/output/crypto-builtins-tests.n3 +66 -0
- package/examples/output/deep-taxonomy-10.n3 +636 -0
- package/examples/output/deep-taxonomy-100.n3 +6036 -0
- package/examples/output/deep-taxonomy-1000.n3 +60036 -0
- package/examples/output/deep-taxonomy-10000.n3 +600036 -0
- package/examples/output/derived-backward-rule-2.n3 +71 -0
- package/examples/output/derived-backward-rule.n3 +53 -0
- package/examples/output/derived-rule.n3 +52 -0
- package/examples/output/dijkstra.n3 +315 -0
- package/examples/output/dog.n3 +33 -0
- package/examples/output/equals.n3 +18 -0
- package/examples/output/existential-rule.n3 +38 -0
- package/examples/output/fibonacci.n3 +44 -0
- package/examples/output/for-all-in.n3 +30 -0
- package/examples/output/french-cities.n3 +507 -0
- package/examples/output/fuse.n3 +1 -0
- package/examples/output/good-cobbler.n3 +27 -0
- package/examples/output/gray-code-counter.n3 +20 -0
- package/examples/output/hanoi.n3 +20 -0
- package/examples/output/liar.n3 +1 -0
- package/examples/output/list-builtins-tests.n3 +148 -0
- package/examples/output/lldm.n3 +1000 -0
- package/examples/output/math-builtins-tests.n3 +4479 -0
- package/examples/output/monkey.n3 +40 -0
- package/examples/output/peano.n3 +26 -0
- package/examples/output/pi.n3 +20 -0
- package/examples/output/polygon.n3 +20 -0
- package/examples/output/reordering.n3 +29 -0
- package/examples/output/rule-matching.n3 +29 -0
- package/examples/output/self-referential.n3 +88 -0
- package/examples/output/similar.n3 +18 -0
- package/examples/output/skolem.n3 +20 -0
- package/examples/output/snaf.n3 +26 -0
- package/examples/output/socrates.n3 +24 -0
- package/examples/output/string-builtins-tests.n3 +258 -0
- package/examples/output/turing.n3 +44 -0
- package/examples/output/uri.n3 +46 -0
- package/examples/output/witch.n3 +115 -0
- package/examples/output/zebra.n3 +114 -0
- package/examples/peano.n3 +45 -0
- package/examples/pi.n3 +32 -0
- package/examples/polygon.n3 +26 -0
- package/examples/reordering.n3 +23 -0
- package/examples/rule-matching.n3 +15 -0
- package/examples/self-referential.n3 +32 -0
- package/examples/similar.n3 +28 -0
- package/examples/skolem.n3 +15 -0
- package/examples/snaf.n3 +18 -0
- package/examples/socrates.n3 +19 -0
- package/examples/string-builtins-tests.n3 +210 -0
- package/examples/test +154 -0
- package/examples/turing.n3 +93 -0
- package/examples/uri.n3 +17 -0
- package/examples/witch.n3 +33 -0
- package/examples/zebra.n3 +47 -0
- package/package.json +6 -2
- package/test/api.test.js +22 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# --------
|
|
2
|
+
# Cat Koko
|
|
3
|
+
#---------
|
|
4
|
+
#
|
|
5
|
+
# Example from Patrick Hochstenbach
|
|
6
|
+
|
|
7
|
+
@prefix : <https://eyereasoner.github.io/ns#>.
|
|
8
|
+
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
9
|
+
|
|
10
|
+
:Koko a :Animal.
|
|
11
|
+
|
|
12
|
+
{
|
|
13
|
+
:Koko a :Animal
|
|
14
|
+
}
|
|
15
|
+
=>
|
|
16
|
+
{
|
|
17
|
+
{ :Koko a :Animal } => { _:x a :Cat } .
|
|
18
|
+
{ :Koko a :Animal } => { _:x a :BritishShortHair } .
|
|
19
|
+
}.
|
|
20
|
+
|
|
21
|
+
{
|
|
22
|
+
?X a :Cat .
|
|
23
|
+
?Y a :BritishShortHair .
|
|
24
|
+
?X log:notEqualTo ?Y.
|
|
25
|
+
}
|
|
26
|
+
=>
|
|
27
|
+
{
|
|
28
|
+
:test :is true .
|
|
29
|
+
}.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# ------------------------
|
|
2
|
+
# log:collectAllIn example
|
|
3
|
+
# ------------------------
|
|
4
|
+
|
|
5
|
+
@prefix : <http://example.org/>.
|
|
6
|
+
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
|
7
|
+
@prefix string: <http://www.w3.org/2000/10/swap/string#> .
|
|
8
|
+
|
|
9
|
+
:Let :param "Huey" .
|
|
10
|
+
:Let :param "Dewey" .
|
|
11
|
+
:Let :param "Louie" .
|
|
12
|
+
|
|
13
|
+
{
|
|
14
|
+
( ?param { :Let :param ?param } ?allParams ) log:collectAllIn _:x .
|
|
15
|
+
|
|
16
|
+
# Variable to be collected can also be part of a list or graph term
|
|
17
|
+
( (?param) { :Let :param ?param } ?nestedParams ) log:collectAllIn _:x .
|
|
18
|
+
|
|
19
|
+
# Add some extra criteria on variable values to be collected
|
|
20
|
+
( ?param
|
|
21
|
+
{
|
|
22
|
+
:Let :param ?param .
|
|
23
|
+
?param string:lessThan "Louie" .
|
|
24
|
+
}
|
|
25
|
+
?filteredParams ) log:collectAllIn _:x .
|
|
26
|
+
}
|
|
27
|
+
=>
|
|
28
|
+
{
|
|
29
|
+
:result1 :is ?allParams .
|
|
30
|
+
:result2 :is ?nestedParams .
|
|
31
|
+
:result3 :is ?filteredParams .
|
|
32
|
+
} .
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# ---------------
|
|
2
|
+
# Complex numbers
|
|
3
|
+
# ---------------
|
|
4
|
+
#
|
|
5
|
+
# See https://en.wikipedia.org/wiki/Complex_number
|
|
6
|
+
|
|
7
|
+
@prefix math: <http://www.w3.org/2000/10/swap/math#>.
|
|
8
|
+
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
|
|
9
|
+
@prefix complex: <https://eyereasoner.github.io/eye/complex#>.
|
|
10
|
+
@prefix : <http://example.org/#>.
|
|
11
|
+
|
|
12
|
+
{
|
|
13
|
+
((?A ?B) (?C ?D)) complex:exponentiation (?E ?F).
|
|
14
|
+
} <= {
|
|
15
|
+
(?A ?B) complex:polar (?R ?T).
|
|
16
|
+
(?R ?C) math:exponentiation ?Z1.
|
|
17
|
+
?D math:negation ?Z2.
|
|
18
|
+
(?Z2 ?T) math:product ?Z3.
|
|
19
|
+
(2.718281828459045 ?Z3) math:exponentiation ?Z4.
|
|
20
|
+
(2.718281828459045 ?Z5) math:exponentiation ?R.
|
|
21
|
+
(?D ?Z5) math:product ?Z6.
|
|
22
|
+
(?C ?T) math:product ?Z7.
|
|
23
|
+
(?Z6 ?Z7) math:sum ?Z8.
|
|
24
|
+
?Z8 math:cos ?Z9.
|
|
25
|
+
(?Z1 ?Z4 ?Z9) math:product ?E.
|
|
26
|
+
?Z8 math:sin ?Z10.
|
|
27
|
+
(?Z1 ?Z4 ?Z10) math:product ?F.
|
|
28
|
+
}.
|
|
29
|
+
|
|
30
|
+
{
|
|
31
|
+
(?A ?B) complex:asin (?C ?D).
|
|
32
|
+
} <= {
|
|
33
|
+
(1 ?A) math:sum ?Z1.
|
|
34
|
+
(?Z1 2) math:exponentiation ?Z2.
|
|
35
|
+
(?B 2) math:exponentiation ?Z3.
|
|
36
|
+
(?Z2 ?Z3) math:sum ?Z4.
|
|
37
|
+
(?Z4 0.5) math:exponentiation ?Z5.
|
|
38
|
+
(1 ?A) math:difference ?Z6.
|
|
39
|
+
(?Z6 2) math:exponentiation ?Z7.
|
|
40
|
+
(?Z7 ?Z3) math:sum ?Z8.
|
|
41
|
+
(?Z8 0.5) math:exponentiation ?Z9.
|
|
42
|
+
(?Z5 ?Z9) math:difference ?Z10.
|
|
43
|
+
(?Z10 2) math:quotient ?E.
|
|
44
|
+
(?Z5 ?Z9) math:sum ?Z11.
|
|
45
|
+
(?Z11 2) math:quotient ?F.
|
|
46
|
+
?E math:asin ?C.
|
|
47
|
+
(?F 2) math:exponentiation ?Z12.
|
|
48
|
+
(?Z12 1) math:difference ?Z13.
|
|
49
|
+
(?Z13 0.5) math:exponentiation ?Z14.
|
|
50
|
+
(?F ?Z14) math:sum ?Z15.
|
|
51
|
+
(2.718281828459045 ?D) math:exponentiation ?Z15.
|
|
52
|
+
}.
|
|
53
|
+
|
|
54
|
+
{
|
|
55
|
+
(?A ?B) complex:acos (?C ?D).
|
|
56
|
+
} <= {
|
|
57
|
+
(1 ?A) math:sum ?Z1.
|
|
58
|
+
(?Z1 2) math:exponentiation ?Z2.
|
|
59
|
+
(?B 2) math:exponentiation ?Z3.
|
|
60
|
+
(?Z2 ?Z3) math:sum ?Z4.
|
|
61
|
+
(?Z4 0.5) math:exponentiation ?Z5.
|
|
62
|
+
(1 ?A) math:difference ?Z6.
|
|
63
|
+
(?Z6 2) math:exponentiation ?Z7.
|
|
64
|
+
(?Z7 ?Z3) math:sum ?Z8.
|
|
65
|
+
(?Z8 0.5) math:exponentiation ?Z9.
|
|
66
|
+
(?Z5 ?Z9) math:difference ?Z10.
|
|
67
|
+
(?Z10 2) math:quotient ?E.
|
|
68
|
+
(?Z5 ?Z9) math:sum ?Z11.
|
|
69
|
+
(?Z11 2) math:quotient ?F.
|
|
70
|
+
?E math:acos ?C.
|
|
71
|
+
(?F 2) math:exponentiation ?Z12.
|
|
72
|
+
(?Z12 1) math:difference ?Z13.
|
|
73
|
+
(?Z13 0.5) math:exponentiation ?Z14.
|
|
74
|
+
(?F ?Z14) math:sum ?Z15.
|
|
75
|
+
(2.718281828459045 ?U) math:exponentiation ?Z15.
|
|
76
|
+
?U math:negation ?D.
|
|
77
|
+
}.
|
|
78
|
+
|
|
79
|
+
{
|
|
80
|
+
(?X ?Y) complex:polar(?R ?Tp).
|
|
81
|
+
} <= {
|
|
82
|
+
(?X 2) math:exponentiation ?Z1.
|
|
83
|
+
(?Y 2) math:exponentiation ?Z2.
|
|
84
|
+
(?Z1 ?Z2) math:sum ?Z3.
|
|
85
|
+
(?Z3 0.5) math:exponentiation ?R.
|
|
86
|
+
?X math:absoluteValue ?Z4.
|
|
87
|
+
(?Z4 ?R) math:quotient ?Z5.
|
|
88
|
+
?Z5 math:acos ?T.
|
|
89
|
+
(?X ?Y ?T) complex:dial ?Tp.
|
|
90
|
+
}.
|
|
91
|
+
|
|
92
|
+
{
|
|
93
|
+
(?X ?Y ?T) complex:dial ?Tp.
|
|
94
|
+
} <= {
|
|
95
|
+
?X math:notLessThan 0.
|
|
96
|
+
?Y math:notLessThan 0.
|
|
97
|
+
(0 ?T) math:sum ?Tp.
|
|
98
|
+
}.
|
|
99
|
+
|
|
100
|
+
{
|
|
101
|
+
(?X ?Y ?T) complex:dial ?Tp.
|
|
102
|
+
} <= {
|
|
103
|
+
?X math:lessThan 0.
|
|
104
|
+
?Y math:notLessThan 0.
|
|
105
|
+
(3.141592653589793 ?T) math:difference ?Tp.
|
|
106
|
+
}.
|
|
107
|
+
|
|
108
|
+
{
|
|
109
|
+
(?X ?Y ?T) complex:dial ?Tp.
|
|
110
|
+
} <= {
|
|
111
|
+
?X math:lessThan 0.
|
|
112
|
+
?Y math:lessThan 0.
|
|
113
|
+
(3.141592653589793 ?T) math:sum ?Tp.
|
|
114
|
+
}.
|
|
115
|
+
|
|
116
|
+
{
|
|
117
|
+
(?X ?Y ?T) complex:dial ?Tp.
|
|
118
|
+
} <= {
|
|
119
|
+
?X math:notLessThan 0.
|
|
120
|
+
?Y math:lessThan 0.
|
|
121
|
+
(3.141592653589793 2) math:product ?Z1.
|
|
122
|
+
(?Z1 ?T) math:difference ?Tp.
|
|
123
|
+
}.
|
|
124
|
+
|
|
125
|
+
# test
|
|
126
|
+
{
|
|
127
|
+
((-1 0) (0.5 0)) complex:exponentiation ?C1.
|
|
128
|
+
((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation ?C2.
|
|
129
|
+
((0 1) (0 1)) complex:exponentiation ?C3.
|
|
130
|
+
((2.718281828459045 0) (-1.57079632679 0)) complex:exponentiation ?C4.
|
|
131
|
+
(2 0) complex:asin ?C5.
|
|
132
|
+
(2 0) complex:acos ?C6.
|
|
133
|
+
} => {
|
|
134
|
+
:test :is {
|
|
135
|
+
((-1 0) (0.5 0)) complex:exponentiation ?C1.
|
|
136
|
+
((2.718281828459045 0) (0 3.141592653589793)) complex:exponentiation ?C2.
|
|
137
|
+
((0 1) (0 1)) complex:exponentiation ?C3.
|
|
138
|
+
((2.718281828459045 0) (-1.57079632679 0)) complex:exponentiation ?C4.
|
|
139
|
+
(2 0) complex:asin ?C5.
|
|
140
|
+
(2 0) complex:acos ?C6.
|
|
141
|
+
}.
|
|
142
|
+
}.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# --------------
|
|
2
|
+
# Control System
|
|
3
|
+
# --------------
|
|
4
|
+
|
|
5
|
+
@prefix math: <http://www.w3.org/2000/10/swap/math#>.
|
|
6
|
+
@prefix : <https://eyereasoner.github.io/eye/reasoning/cs#>.
|
|
7
|
+
|
|
8
|
+
# input
|
|
9
|
+
:input1 :measurement1 (6 11).
|
|
10
|
+
:input2 :measurement2 true.
|
|
11
|
+
:input3 :measurement3 56967.
|
|
12
|
+
|
|
13
|
+
# disturbance
|
|
14
|
+
:disturbance1 :measurement3 35766.
|
|
15
|
+
:disturbance2 :measurement1 (45 39).
|
|
16
|
+
|
|
17
|
+
# state
|
|
18
|
+
:state1 :observation1 80.
|
|
19
|
+
:state2 :observation2 false.
|
|
20
|
+
:state3 :observation3 22.
|
|
21
|
+
|
|
22
|
+
# output
|
|
23
|
+
:output2 :measurement4 24.
|
|
24
|
+
:output2 :target2 29.
|
|
25
|
+
|
|
26
|
+
# forward rules
|
|
27
|
+
{
|
|
28
|
+
:input1 :measurement10 ?M1.
|
|
29
|
+
:input2 :measurement2 true.
|
|
30
|
+
:disturbance1 :measurement3 ?D1.
|
|
31
|
+
(?M1 19.6) math:product ?C1. # proportial part
|
|
32
|
+
(10 ?C2) math:exponentiation ?D1. # compensation part
|
|
33
|
+
(?C1 ?C2) math:difference ?C. # simple feedforward control
|
|
34
|
+
}
|
|
35
|
+
=>
|
|
36
|
+
{
|
|
37
|
+
:actuator1 :control1 ?C.
|
|
38
|
+
}.
|
|
39
|
+
|
|
40
|
+
{
|
|
41
|
+
:input3 :measurement3 ?M3.
|
|
42
|
+
:state3 :observation3 ?P3.
|
|
43
|
+
:output2 :measurement4 ?M4.
|
|
44
|
+
:output2 :target2 ?T2.
|
|
45
|
+
(?T2 ?M4) math:difference ?E. # error
|
|
46
|
+
(?P3 ?M4) math:difference ?D. # differential error
|
|
47
|
+
(5.8 ?E) math:product ?C1. # proportial part
|
|
48
|
+
(7.3 ?E) math:quotient ?N. # nonlinear factor
|
|
49
|
+
(?N ?D) math:product ?C2. # nonlinear differential part
|
|
50
|
+
(?C1 ?C2) math:sum ?C. # PND feedback control
|
|
51
|
+
}
|
|
52
|
+
=>
|
|
53
|
+
{
|
|
54
|
+
:actuator2 :control1 ?C.
|
|
55
|
+
}.
|
|
56
|
+
|
|
57
|
+
# backward rules
|
|
58
|
+
{
|
|
59
|
+
?I :measurement10 ?M.
|
|
60
|
+
}
|
|
61
|
+
<=
|
|
62
|
+
{
|
|
63
|
+
?I :measurement1 (?M1 ?M2).
|
|
64
|
+
?M1 math:lessThan ?M2.
|
|
65
|
+
(?M2 ?M1) math:difference ?M3.
|
|
66
|
+
(?M3 0.5) math:exponentiation ?M.
|
|
67
|
+
}.
|
|
68
|
+
|
|
69
|
+
{
|
|
70
|
+
?I :measurement10 ?M1.
|
|
71
|
+
}
|
|
72
|
+
<=
|
|
73
|
+
{
|
|
74
|
+
?I :measurement1 (?M1 ?M2).
|
|
75
|
+
?M1 math:notLessThan ?M2.
|
|
76
|
+
}.
|
|
77
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# ---------------------
|
|
2
|
+
# crypto builtins tests
|
|
3
|
+
# ---------------------
|
|
4
|
+
|
|
5
|
+
@prefix : <https://eyereasoner.github.io/ns#> .
|
|
6
|
+
@prefix crypto: <http://www.w3.org/2000/10/swap/crypto#> .
|
|
7
|
+
|
|
8
|
+
# ============================================================
|
|
9
|
+
# 4.1 crypto: builtins
|
|
10
|
+
# plus EYE-style md5 / sha256 / sha512
|
|
11
|
+
# ============================================================
|
|
12
|
+
|
|
13
|
+
# 4.1.1 crypto:sha (SHA-1)
|
|
14
|
+
# "hello world" → 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
|
|
15
|
+
{
|
|
16
|
+
"hello world" crypto:sha
|
|
17
|
+
"2aae6c35c94fcfb415dbe95f408b9ce91ee846ed" .
|
|
18
|
+
}
|
|
19
|
+
=>
|
|
20
|
+
{
|
|
21
|
+
:ok_crypto_sha_1 a :Pass .
|
|
22
|
+
} .
|
|
23
|
+
|
|
24
|
+
# Extra: crypto:md5
|
|
25
|
+
# "hello world" → 5eb63bbbe01eeed093cb22bb8f5acdc3
|
|
26
|
+
{
|
|
27
|
+
"hello world" crypto:md5
|
|
28
|
+
"5eb63bbbe01eeed093cb22bb8f5acdc3" .
|
|
29
|
+
}
|
|
30
|
+
=>
|
|
31
|
+
{
|
|
32
|
+
:ok_crypto_md5_1 a :Pass .
|
|
33
|
+
} .
|
|
34
|
+
|
|
35
|
+
# Extra: crypto:sha256
|
|
36
|
+
# "hello world" → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
|
|
37
|
+
{
|
|
38
|
+
"hello world" crypto:sha256
|
|
39
|
+
"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9" .
|
|
40
|
+
}
|
|
41
|
+
=>
|
|
42
|
+
{
|
|
43
|
+
:ok_crypto_sha256_1 a :Pass .
|
|
44
|
+
} .
|
|
45
|
+
|
|
46
|
+
# Extra: crypto:sha512
|
|
47
|
+
# "hello world" →
|
|
48
|
+
# 309ecc489c12d6eb4cc40f50c902f2b4
|
|
49
|
+
# d0ed77ee511a7c7a9bcd3ca86d4cd86f
|
|
50
|
+
# 989dd35bc5ff499670da34255b45b0cf
|
|
51
|
+
# d830e81f605dcf7dc5542e93ae9cd76f
|
|
52
|
+
{
|
|
53
|
+
"hello world" crypto:sha512
|
|
54
|
+
"309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f" .
|
|
55
|
+
}
|
|
56
|
+
=>
|
|
57
|
+
{
|
|
58
|
+
:ok_crypto_sha512_1 a :Pass .
|
|
59
|
+
} .
|
|
60
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@prefix : <http://eulersharp.sourceforge.net/2009/12dtb/test#>.
|
|
2
|
+
|
|
3
|
+
# fact
|
|
4
|
+
:ind a :N0.
|
|
5
|
+
|
|
6
|
+
# rules
|
|
7
|
+
|
|
8
|
+
{:ind a :A2} => {:test :is true}.
|
|
9
|
+
|
|
10
|
+
{?X a :N0} => {?X a :N1, :I1, :J1}.
|
|
11
|
+
{?X a :N1} => {?X a :N2, :I2, :J2}.
|
|
12
|
+
{?X a :N2} => {?X a :N3, :I3, :J3}.
|
|
13
|
+
{?X a :N3} => {?X a :N4, :I4, :J4}.
|
|
14
|
+
{?X a :N4} => {?X a :N5, :I5, :J5}.
|
|
15
|
+
{?X a :N5} => {?X a :N6, :I6, :J6}.
|
|
16
|
+
{?X a :N6} => {?X a :N7, :I7, :J7}.
|
|
17
|
+
{?X a :N7} => {?X a :N8, :I8, :J8}.
|
|
18
|
+
{?X a :N8} => {?X a :N9, :I9, :J9}.
|
|
19
|
+
{?X a :N9} => {?X a :N10, :I10, :J10}.
|
|
20
|
+
|
|
21
|
+
{?X a :N10} => {?X a :A2}.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
@prefix : <http://eulersharp.sourceforge.net/2009/12dtb/test#>.
|
|
2
|
+
|
|
3
|
+
# fact
|
|
4
|
+
:ind a :N0.
|
|
5
|
+
|
|
6
|
+
# rules
|
|
7
|
+
|
|
8
|
+
{:ind a :A2} => {:test :is true}.
|
|
9
|
+
|
|
10
|
+
{?X a :N0} => {?X a :N1, :I1, :J1}.
|
|
11
|
+
{?X a :N1} => {?X a :N2, :I2, :J2}.
|
|
12
|
+
{?X a :N2} => {?X a :N3, :I3, :J3}.
|
|
13
|
+
{?X a :N3} => {?X a :N4, :I4, :J4}.
|
|
14
|
+
{?X a :N4} => {?X a :N5, :I5, :J5}.
|
|
15
|
+
{?X a :N5} => {?X a :N6, :I6, :J6}.
|
|
16
|
+
{?X a :N6} => {?X a :N7, :I7, :J7}.
|
|
17
|
+
{?X a :N7} => {?X a :N8, :I8, :J8}.
|
|
18
|
+
{?X a :N8} => {?X a :N9, :I9, :J9}.
|
|
19
|
+
{?X a :N9} => {?X a :N10, :I10, :J10}.
|
|
20
|
+
{?X a :N10} => {?X a :N11, :I11, :J11}.
|
|
21
|
+
{?X a :N11} => {?X a :N12, :I12, :J12}.
|
|
22
|
+
{?X a :N12} => {?X a :N13, :I13, :J13}.
|
|
23
|
+
{?X a :N13} => {?X a :N14, :I14, :J14}.
|
|
24
|
+
{?X a :N14} => {?X a :N15, :I15, :J15}.
|
|
25
|
+
{?X a :N15} => {?X a :N16, :I16, :J16}.
|
|
26
|
+
{?X a :N16} => {?X a :N17, :I17, :J17}.
|
|
27
|
+
{?X a :N17} => {?X a :N18, :I18, :J18}.
|
|
28
|
+
{?X a :N18} => {?X a :N19, :I19, :J19}.
|
|
29
|
+
{?X a :N19} => {?X a :N20, :I20, :J20}.
|
|
30
|
+
{?X a :N20} => {?X a :N21, :I21, :J21}.
|
|
31
|
+
{?X a :N21} => {?X a :N22, :I22, :J22}.
|
|
32
|
+
{?X a :N22} => {?X a :N23, :I23, :J23}.
|
|
33
|
+
{?X a :N23} => {?X a :N24, :I24, :J24}.
|
|
34
|
+
{?X a :N24} => {?X a :N25, :I25, :J25}.
|
|
35
|
+
{?X a :N25} => {?X a :N26, :I26, :J26}.
|
|
36
|
+
{?X a :N26} => {?X a :N27, :I27, :J27}.
|
|
37
|
+
{?X a :N27} => {?X a :N28, :I28, :J28}.
|
|
38
|
+
{?X a :N28} => {?X a :N29, :I29, :J29}.
|
|
39
|
+
{?X a :N29} => {?X a :N30, :I30, :J30}.
|
|
40
|
+
{?X a :N30} => {?X a :N31, :I31, :J31}.
|
|
41
|
+
{?X a :N31} => {?X a :N32, :I32, :J32}.
|
|
42
|
+
{?X a :N32} => {?X a :N33, :I33, :J33}.
|
|
43
|
+
{?X a :N33} => {?X a :N34, :I34, :J34}.
|
|
44
|
+
{?X a :N34} => {?X a :N35, :I35, :J35}.
|
|
45
|
+
{?X a :N35} => {?X a :N36, :I36, :J36}.
|
|
46
|
+
{?X a :N36} => {?X a :N37, :I37, :J37}.
|
|
47
|
+
{?X a :N37} => {?X a :N38, :I38, :J38}.
|
|
48
|
+
{?X a :N38} => {?X a :N39, :I39, :J39}.
|
|
49
|
+
{?X a :N39} => {?X a :N40, :I40, :J40}.
|
|
50
|
+
{?X a :N40} => {?X a :N41, :I41, :J41}.
|
|
51
|
+
{?X a :N41} => {?X a :N42, :I42, :J42}.
|
|
52
|
+
{?X a :N42} => {?X a :N43, :I43, :J43}.
|
|
53
|
+
{?X a :N43} => {?X a :N44, :I44, :J44}.
|
|
54
|
+
{?X a :N44} => {?X a :N45, :I45, :J45}.
|
|
55
|
+
{?X a :N45} => {?X a :N46, :I46, :J46}.
|
|
56
|
+
{?X a :N46} => {?X a :N47, :I47, :J47}.
|
|
57
|
+
{?X a :N47} => {?X a :N48, :I48, :J48}.
|
|
58
|
+
{?X a :N48} => {?X a :N49, :I49, :J49}.
|
|
59
|
+
{?X a :N49} => {?X a :N50, :I50, :J50}.
|
|
60
|
+
{?X a :N50} => {?X a :N51, :I51, :J51}.
|
|
61
|
+
{?X a :N51} => {?X a :N52, :I52, :J52}.
|
|
62
|
+
{?X a :N52} => {?X a :N53, :I53, :J53}.
|
|
63
|
+
{?X a :N53} => {?X a :N54, :I54, :J54}.
|
|
64
|
+
{?X a :N54} => {?X a :N55, :I55, :J55}.
|
|
65
|
+
{?X a :N55} => {?X a :N56, :I56, :J56}.
|
|
66
|
+
{?X a :N56} => {?X a :N57, :I57, :J57}.
|
|
67
|
+
{?X a :N57} => {?X a :N58, :I58, :J58}.
|
|
68
|
+
{?X a :N58} => {?X a :N59, :I59, :J59}.
|
|
69
|
+
{?X a :N59} => {?X a :N60, :I60, :J60}.
|
|
70
|
+
{?X a :N60} => {?X a :N61, :I61, :J61}.
|
|
71
|
+
{?X a :N61} => {?X a :N62, :I62, :J62}.
|
|
72
|
+
{?X a :N62} => {?X a :N63, :I63, :J63}.
|
|
73
|
+
{?X a :N63} => {?X a :N64, :I64, :J64}.
|
|
74
|
+
{?X a :N64} => {?X a :N65, :I65, :J65}.
|
|
75
|
+
{?X a :N65} => {?X a :N66, :I66, :J66}.
|
|
76
|
+
{?X a :N66} => {?X a :N67, :I67, :J67}.
|
|
77
|
+
{?X a :N67} => {?X a :N68, :I68, :J68}.
|
|
78
|
+
{?X a :N68} => {?X a :N69, :I69, :J69}.
|
|
79
|
+
{?X a :N69} => {?X a :N70, :I70, :J70}.
|
|
80
|
+
{?X a :N70} => {?X a :N71, :I71, :J71}.
|
|
81
|
+
{?X a :N71} => {?X a :N72, :I72, :J72}.
|
|
82
|
+
{?X a :N72} => {?X a :N73, :I73, :J73}.
|
|
83
|
+
{?X a :N73} => {?X a :N74, :I74, :J74}.
|
|
84
|
+
{?X a :N74} => {?X a :N75, :I75, :J75}.
|
|
85
|
+
{?X a :N75} => {?X a :N76, :I76, :J76}.
|
|
86
|
+
{?X a :N76} => {?X a :N77, :I77, :J77}.
|
|
87
|
+
{?X a :N77} => {?X a :N78, :I78, :J78}.
|
|
88
|
+
{?X a :N78} => {?X a :N79, :I79, :J79}.
|
|
89
|
+
{?X a :N79} => {?X a :N80, :I80, :J80}.
|
|
90
|
+
{?X a :N80} => {?X a :N81, :I81, :J81}.
|
|
91
|
+
{?X a :N81} => {?X a :N82, :I82, :J82}.
|
|
92
|
+
{?X a :N82} => {?X a :N83, :I83, :J83}.
|
|
93
|
+
{?X a :N83} => {?X a :N84, :I84, :J84}.
|
|
94
|
+
{?X a :N84} => {?X a :N85, :I85, :J85}.
|
|
95
|
+
{?X a :N85} => {?X a :N86, :I86, :J86}.
|
|
96
|
+
{?X a :N86} => {?X a :N87, :I87, :J87}.
|
|
97
|
+
{?X a :N87} => {?X a :N88, :I88, :J88}.
|
|
98
|
+
{?X a :N88} => {?X a :N89, :I89, :J89}.
|
|
99
|
+
{?X a :N89} => {?X a :N90, :I90, :J90}.
|
|
100
|
+
{?X a :N90} => {?X a :N91, :I91, :J91}.
|
|
101
|
+
{?X a :N91} => {?X a :N92, :I92, :J92}.
|
|
102
|
+
{?X a :N92} => {?X a :N93, :I93, :J93}.
|
|
103
|
+
{?X a :N93} => {?X a :N94, :I94, :J94}.
|
|
104
|
+
{?X a :N94} => {?X a :N95, :I95, :J95}.
|
|
105
|
+
{?X a :N95} => {?X a :N96, :I96, :J96}.
|
|
106
|
+
{?X a :N96} => {?X a :N97, :I97, :J97}.
|
|
107
|
+
{?X a :N97} => {?X a :N98, :I98, :J98}.
|
|
108
|
+
{?X a :N98} => {?X a :N99, :I99, :J99}.
|
|
109
|
+
{?X a :N99} => {?X a :N100, :I100, :J100}.
|
|
110
|
+
|
|
111
|
+
{?X a :N100} => {?X a :A2}.
|