eyeling 1.26.4 → 1.26.6

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.
@@ -0,0 +1,180 @@
1
+ @prefix : <http://example.org/#> .
2
+ @prefix log: <http://www.w3.org/2000/10/swap/log#> .
3
+ @prefix pe: <https://eyereasoner.github.io/pe#> .
4
+
5
+ :result :sameInverse (:x :i :j) .
6
+ :result :sameInverse (:x :j :i) .
7
+
8
+ { :result :sameInverse (:x :i :j) . } pe:why {
9
+ { :result :sameInverse (:x :i :j) . }
10
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 167 ];
11
+ pe:binding
12
+ [ pe:var "x"; pe:value :x ],
13
+ [ pe:var "y"; pe:value :i ],
14
+ [ pe:var "z"; pe:value :j ];
15
+ pe:uses
16
+ { (:x :i :j) :sameInverse true . },
17
+ { :i log:notEqualTo :j . }.
18
+
19
+ { (:x :i :j) :sameInverse true . }
20
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 138 ];
21
+ pe:binding
22
+ [ pe:var "x"; pe:value :x ],
23
+ [ pe:var "y"; pe:value :i ],
24
+ [ pe:var "z"; pe:value :j ];
25
+ pe:uses
26
+ { :i :inverseOf :x . },
27
+ { :j :inverseOf :x . },
28
+ { (:i :j) :sameTerm true . }.
29
+
30
+ { :i :inverseOf :x . }
31
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 158 ].
32
+
33
+ { :j :inverseOf :x . }
34
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 159 ].
35
+
36
+ { (:i :j) :sameTerm true . }
37
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 54 ];
38
+ pe:binding
39
+ [ pe:var "a"; pe:value :j ],
40
+ [ pe:var "ab"; pe:value :e ],
41
+ [ pe:var "b"; pe:value :x ],
42
+ [ pe:var "bc"; pe:value :e ],
43
+ [ pe:var "c"; pe:value :i ],
44
+ [ pe:var "left"; pe:value :i ],
45
+ [ pe:var "right"; pe:value :j ];
46
+ pe:uses
47
+ { (:j :x) :mul :e . },
48
+ { (:e :i) :mul :i . },
49
+ { (:x :i) :mul :e . },
50
+ { (:j :e) :mul :j . }.
51
+
52
+ { (:j :x) :mul :e . }
53
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 102 ];
54
+ pe:binding
55
+ [ pe:var "x"; pe:value :x ],
56
+ [ pe:var "y"; pe:value :j ];
57
+ pe:uses
58
+ { :x :inG true . },
59
+ { :j :inG true . },
60
+ { :j :inverseOf :x . }.
61
+
62
+ { :x :inG true . }
63
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 153 ].
64
+
65
+ { :j :inG true . }
66
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 155 ].
67
+
68
+ { (:e :i) :mul :i . }
69
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 78 ];
70
+ pe:binding [ pe:var "a"; pe:value :i ];
71
+ pe:uses { :i :inG true . }.
72
+
73
+ { :i :inG true . }
74
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 154 ].
75
+
76
+ { (:x :i) :mul :e . }
77
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 102 ];
78
+ pe:binding
79
+ [ pe:var "x"; pe:value :x ],
80
+ [ pe:var "y"; pe:value :i ];
81
+ pe:uses
82
+ { :x :inG true . },
83
+ { :i :inG true . },
84
+ { :i :inverseOf :x . }.
85
+
86
+ { (:j :e) :mul :j . }
87
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 89 ];
88
+ pe:binding [ pe:var "a"; pe:value :j ];
89
+ pe:uses { :j :inG true . }.
90
+
91
+ { :i log:notEqualTo :j . }
92
+ pe:by [ pe:builtin log:notEqualTo ].
93
+ }.
94
+
95
+ { :result :sameInverse (:x :j :i) . } pe:why {
96
+ { :result :sameInverse (:x :j :i) . }
97
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 167 ];
98
+ pe:binding
99
+ [ pe:var "x"; pe:value :x ],
100
+ [ pe:var "y"; pe:value :j ],
101
+ [ pe:var "z"; pe:value :i ];
102
+ pe:uses
103
+ { (:x :j :i) :sameInverse true . },
104
+ { :j log:notEqualTo :i . }.
105
+
106
+ { (:x :j :i) :sameInverse true . }
107
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 138 ];
108
+ pe:binding
109
+ [ pe:var "x"; pe:value :x ],
110
+ [ pe:var "y"; pe:value :j ],
111
+ [ pe:var "z"; pe:value :i ];
112
+ pe:uses
113
+ { :j :inverseOf :x . },
114
+ { :i :inverseOf :x . },
115
+ { (:j :i) :sameTerm true . }.
116
+
117
+ { :j :inverseOf :x . }
118
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 159 ].
119
+
120
+ { :i :inverseOf :x . }
121
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 158 ].
122
+
123
+ { (:j :i) :sameTerm true . }
124
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 54 ];
125
+ pe:binding
126
+ [ pe:var "a"; pe:value :i ],
127
+ [ pe:var "ab"; pe:value :e ],
128
+ [ pe:var "b"; pe:value :x ],
129
+ [ pe:var "bc"; pe:value :e ],
130
+ [ pe:var "c"; pe:value :j ],
131
+ [ pe:var "left"; pe:value :j ],
132
+ [ pe:var "right"; pe:value :i ];
133
+ pe:uses
134
+ { (:i :x) :mul :e . },
135
+ { (:e :j) :mul :j . },
136
+ { (:x :j) :mul :e . },
137
+ { (:i :e) :mul :i . }.
138
+
139
+ { (:i :x) :mul :e . }
140
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 102 ];
141
+ pe:binding
142
+ [ pe:var "x"; pe:value :x ],
143
+ [ pe:var "y"; pe:value :i ];
144
+ pe:uses
145
+ { :x :inG true . },
146
+ { :i :inG true . },
147
+ { :i :inverseOf :x . }.
148
+
149
+ { :x :inG true . }
150
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 153 ].
151
+
152
+ { :i :inG true . }
153
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 154 ].
154
+
155
+ { (:e :j) :mul :j . }
156
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 78 ];
157
+ pe:binding [ pe:var "a"; pe:value :j ];
158
+ pe:uses { :j :inG true . }.
159
+
160
+ { :j :inG true . }
161
+ pe:by [ pe:fact "group-inverse-uniqueness.n3"; pe:line 155 ].
162
+
163
+ { (:x :j) :mul :e . }
164
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 102 ];
165
+ pe:binding
166
+ [ pe:var "x"; pe:value :x ],
167
+ [ pe:var "y"; pe:value :j ];
168
+ pe:uses
169
+ { :x :inG true . },
170
+ { :j :inG true . },
171
+ { :j :inverseOf :x . }.
172
+
173
+ { (:i :e) :mul :i . }
174
+ pe:by [ pe:rule "group-inverse-uniqueness.n3"; pe:line 89 ];
175
+ pe:binding [ pe:var "a"; pe:value :i ];
176
+ pe:uses { :i :inG true . }.
177
+
178
+ { :j log:notEqualTo :i . }
179
+ pe:by [ pe:builtin log:notEqualTo ].
180
+ }.
@@ -0,0 +1,142 @@
1
+ @prefix : <urn:example:> .
2
+ @prefix list: <http://www.w3.org/2000/10/swap/list#> .
3
+ @prefix pe: <https://eyereasoner.github.io/pe#> .
4
+
5
+ ("Huey" "Dewey" "Louie") :iterate (0 "Huey") .
6
+ "Dewey" :hasIndex 1 .
7
+ ("Huey" "Dewey" "Louie") :iterate (1 "Dewey") .
8
+ ("Huey" "Dewey" "Louie") :iterate (2 "Louie") .
9
+ :test :is true .
10
+
11
+ { ("Huey" "Dewey" "Louie") :iterate (0 "Huey") . } pe:why {
12
+ { ("Huey" "Dewey" "Louie") :iterate (0 "Huey") . }
13
+ pe:by [ pe:rule "list-iterate.n3"; pe:line 11 ];
14
+ pe:binding
15
+ [ pe:var "X"; pe:value ("Huey" "Dewey" "Louie") ],
16
+ [ pe:var "Y"; pe:value (0 "Huey") ],
17
+ [ pe:var "Z"; pe:value 1 ];
18
+ pe:uses
19
+ { :Let :param ("Huey" "Dewey" "Louie") . },
20
+ { ("Huey" "Dewey" "Louie") list:iterate (0 "Huey") . },
21
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . },
22
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }.
23
+
24
+ { :Let :param ("Huey" "Dewey" "Louie") . }
25
+ pe:by [ pe:fact "list-iterate.n3"; pe:line 9 ].
26
+
27
+ { ("Huey" "Dewey" "Louie") list:iterate (0 "Huey") . }
28
+ pe:by [ pe:builtin list:iterate ].
29
+
30
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }
31
+ pe:by [ pe:builtin list:iterate ].
32
+ }.
33
+
34
+ { "Dewey" :hasIndex 1 . } pe:why {
35
+ { "Dewey" :hasIndex 1 . }
36
+ pe:by [ pe:rule "list-iterate.n3"; pe:line 11 ];
37
+ pe:binding
38
+ [ pe:var "X"; pe:value ("Huey" "Dewey" "Louie") ],
39
+ [ pe:var "Y"; pe:value (0 "Huey") ],
40
+ [ pe:var "Z"; pe:value 1 ];
41
+ pe:uses
42
+ { :Let :param ("Huey" "Dewey" "Louie") . },
43
+ { ("Huey" "Dewey" "Louie") list:iterate (0 "Huey") . },
44
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . },
45
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }.
46
+
47
+ { :Let :param ("Huey" "Dewey" "Louie") . }
48
+ pe:by [ pe:fact "list-iterate.n3"; pe:line 9 ].
49
+
50
+ { ("Huey" "Dewey" "Louie") list:iterate (0 "Huey") . }
51
+ pe:by [ pe:builtin list:iterate ].
52
+
53
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }
54
+ pe:by [ pe:builtin list:iterate ].
55
+ }.
56
+
57
+ { ("Huey" "Dewey" "Louie") :iterate (1 "Dewey") . } pe:why {
58
+ { ("Huey" "Dewey" "Louie") :iterate (1 "Dewey") . }
59
+ pe:by [ pe:rule "list-iterate.n3"; pe:line 11 ];
60
+ pe:binding
61
+ [ pe:var "X"; pe:value ("Huey" "Dewey" "Louie") ],
62
+ [ pe:var "Y"; pe:value (1 "Dewey") ],
63
+ [ pe:var "Z"; pe:value 1 ];
64
+ pe:uses
65
+ { :Let :param ("Huey" "Dewey" "Louie") . },
66
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . },
67
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . },
68
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }.
69
+
70
+ { :Let :param ("Huey" "Dewey" "Louie") . }
71
+ pe:by [ pe:fact "list-iterate.n3"; pe:line 9 ].
72
+
73
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }
74
+ pe:by [ pe:builtin list:iterate ].
75
+ }.
76
+
77
+ { ("Huey" "Dewey" "Louie") :iterate (2 "Louie") . } pe:why {
78
+ { ("Huey" "Dewey" "Louie") :iterate (2 "Louie") . }
79
+ pe:by [ pe:rule "list-iterate.n3"; pe:line 11 ];
80
+ pe:binding
81
+ [ pe:var "X"; pe:value ("Huey" "Dewey" "Louie") ],
82
+ [ pe:var "Y"; pe:value (2 "Louie") ],
83
+ [ pe:var "Z"; pe:value 1 ];
84
+ pe:uses
85
+ { :Let :param ("Huey" "Dewey" "Louie") . },
86
+ { ("Huey" "Dewey" "Louie") list:iterate (2 "Louie") . },
87
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . },
88
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }.
89
+
90
+ { :Let :param ("Huey" "Dewey" "Louie") . }
91
+ pe:by [ pe:fact "list-iterate.n3"; pe:line 9 ].
92
+
93
+ { ("Huey" "Dewey" "Louie") list:iterate (2 "Louie") . }
94
+ pe:by [ pe:builtin list:iterate ].
95
+
96
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }
97
+ pe:by [ pe:builtin list:iterate ].
98
+ }.
99
+
100
+ { :test :is true . } pe:why {
101
+ { :test :is true . }
102
+ pe:by [ pe:rule "list-iterate.n3"; pe:line 31 ];
103
+ pe:binding
104
+ [ pe:var "X"; pe:value ("Huey" "Dewey" "Louie") ],
105
+ [ pe:var "Y"; pe:value (0 "Huey") ];
106
+ pe:uses
107
+ { ("Huey" "Dewey" "Louie") :iterate (0 "Huey") . },
108
+ { "Dewey" :hasIndex 1 . }.
109
+
110
+ { ("Huey" "Dewey" "Louie") :iterate (0 "Huey") . }
111
+ pe:by [ pe:rule "list-iterate.n3"; pe:line 11 ];
112
+ pe:binding
113
+ [ pe:var "X"; pe:value ("Huey" "Dewey" "Louie") ],
114
+ [ pe:var "Y"; pe:value (0 "Huey") ],
115
+ [ pe:var "Z"; pe:value 1 ];
116
+ pe:uses
117
+ { :Let :param ("Huey" "Dewey" "Louie") . },
118
+ { ("Huey" "Dewey" "Louie") list:iterate (0 "Huey") . },
119
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . },
120
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }.
121
+
122
+ { :Let :param ("Huey" "Dewey" "Louie") . }
123
+ pe:by [ pe:fact "list-iterate.n3"; pe:line 9 ].
124
+
125
+ { ("Huey" "Dewey" "Louie") list:iterate (0 "Huey") . }
126
+ pe:by [ pe:builtin list:iterate ].
127
+
128
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }
129
+ pe:by [ pe:builtin list:iterate ].
130
+
131
+ { "Dewey" :hasIndex 1 . }
132
+ pe:by [ pe:rule "list-iterate.n3"; pe:line 11 ];
133
+ pe:binding
134
+ [ pe:var "X"; pe:value ("Huey" "Dewey" "Louie") ],
135
+ [ pe:var "Y"; pe:value (0 "Huey") ],
136
+ [ pe:var "Z"; pe:value 1 ];
137
+ pe:uses
138
+ { :Let :param ("Huey" "Dewey" "Louie") . },
139
+ { ("Huey" "Dewey" "Louie") list:iterate (0 "Huey") . },
140
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . },
141
+ { ("Huey" "Dewey" "Louie") list:iterate (1 "Dewey") . }.
142
+ }.
@@ -0,0 +1,44 @@
1
+ @prefix : <http://example.org/#> .
2
+ @prefix list: <http://www.w3.org/2000/10/swap/list#> .
3
+ @prefix pe: <https://eyereasoner.github.io/pe#> .
4
+
5
+ :test1 :is true .
6
+ :test2 :is true .
7
+ :test3 :is true .
8
+ :test4 :is true .
9
+
10
+ { :test1 :is true . } pe:why {
11
+ { :test1 :is true . }
12
+ pe:by [ pe:rule "list-map.n3"; pe:line 14 ];
13
+ pe:uses { ((:s1 :s2) :p1) list:map (:o1 :o2) . }.
14
+
15
+ { ((:s1 :s2) :p1) list:map (:o1 :o2) . }
16
+ pe:by [ pe:builtin list:map ].
17
+ }.
18
+
19
+ { :test2 :is true . } pe:why {
20
+ { :test2 :is true . }
21
+ pe:by [ pe:rule "list-map.n3"; pe:line 15 ];
22
+ pe:uses { ((:s1 :s2 :s3) :p1) list:map (:o1 :o2 :o3 :o4) . }.
23
+
24
+ { ((:s1 :s2 :s3) :p1) list:map (:o1 :o2 :o3 :o4) . }
25
+ pe:by [ pe:builtin list:map ].
26
+ }.
27
+
28
+ { :test3 :is true . } pe:why {
29
+ { :test3 :is true . }
30
+ pe:by [ pe:rule "list-map.n3"; pe:line 16 ];
31
+ pe:uses { ((:s4) :p1) list:map () . }.
32
+
33
+ { ((:s4) :p1) list:map () . }
34
+ pe:by [ pe:builtin list:map ].
35
+ }.
36
+
37
+ { :test4 :is true . } pe:why {
38
+ { :test4 :is true . }
39
+ pe:by [ pe:rule "list-map.n3"; pe:line 17 ];
40
+ pe:uses { ((:s1) :p2) list:map () . }.
41
+
42
+ { ((:s1) :p2) list:map () . }
43
+ pe:by [ pe:builtin list:map ].
44
+ }.
@@ -0,0 +1,152 @@
1
+ @prefix : <http://example.org/#> .
2
+ @prefix log: <http://www.w3.org/2000/10/swap/log#> .
3
+ @prefix pe: <https://eyereasoner.github.io/pe#> .
4
+ @prefix string: <http://www.w3.org/2000/10/swap/string#> .
5
+
6
+ :result1 :is ("Huey" "Dewey" "Louie") .
7
+ :result2 :is (("Huey") ("Dewey") ("Louie")) .
8
+ :result3 :is ("Huey" "Dewey") .
9
+
10
+ { :result1 :is ("Huey" "Dewey" "Louie") . } pe:why {
11
+ { :result1 :is ("Huey" "Dewey" "Louie") . }
12
+ pe:by [ pe:rule "log-collect-all-in.n3"; pe:line 13 ];
13
+ pe:binding
14
+ [ pe:var "allParams"; pe:value ("Huey" "Dewey" "Louie") ],
15
+ [ pe:var "filteredParams"; pe:value ("Huey" "Dewey") ],
16
+ [ pe:var "nestedParams"; pe:value (("Huey") ("Dewey") ("Louie")) ];
17
+ pe:uses
18
+ {
19
+ (?param {
20
+ :Let :param ?param .
21
+ } ("Huey" "Dewey" "Louie")) log:collectAllIn ?_b1 .
22
+ },
23
+ {
24
+ ((?param) {
25
+ :Let :param ?param .
26
+ } (("Huey") ("Dewey") ("Louie"))) log:collectAllIn ?_b1 .
27
+ },
28
+ {
29
+ (?param {
30
+ :Let :param ?param .
31
+ ?param string:lessThan "Louie" .
32
+ } ("Huey" "Dewey")) log:collectAllIn ?_b1 .
33
+ }.
34
+
35
+ {
36
+ (?param {
37
+ :Let :param ?param .
38
+ } ("Huey" "Dewey" "Louie")) log:collectAllIn ?_b1 .
39
+ }
40
+ pe:by [ pe:builtin log:collectAllIn ].
41
+
42
+ {
43
+ ((?param) {
44
+ :Let :param ?param .
45
+ } (("Huey") ("Dewey") ("Louie"))) log:collectAllIn ?_b1 .
46
+ }
47
+ pe:by [ pe:builtin log:collectAllIn ].
48
+
49
+ {
50
+ (?param {
51
+ :Let :param ?param .
52
+ ?param string:lessThan "Louie" .
53
+ } ("Huey" "Dewey")) log:collectAllIn ?_b1 .
54
+ }
55
+ pe:by [ pe:builtin log:collectAllIn ].
56
+ }.
57
+
58
+ { :result2 :is (("Huey") ("Dewey") ("Louie")) . } pe:why {
59
+ { :result2 :is (("Huey") ("Dewey") ("Louie")) . }
60
+ pe:by [ pe:rule "log-collect-all-in.n3"; pe:line 13 ];
61
+ pe:binding
62
+ [ pe:var "allParams"; pe:value ("Huey" "Dewey" "Louie") ],
63
+ [ pe:var "filteredParams"; pe:value ("Huey" "Dewey") ],
64
+ [ pe:var "nestedParams"; pe:value (("Huey") ("Dewey") ("Louie")) ];
65
+ pe:uses
66
+ {
67
+ (?param {
68
+ :Let :param ?param .
69
+ } ("Huey" "Dewey" "Louie")) log:collectAllIn ?_b1 .
70
+ },
71
+ {
72
+ ((?param) {
73
+ :Let :param ?param .
74
+ } (("Huey") ("Dewey") ("Louie"))) log:collectAllIn ?_b1 .
75
+ },
76
+ {
77
+ (?param {
78
+ :Let :param ?param .
79
+ ?param string:lessThan "Louie" .
80
+ } ("Huey" "Dewey")) log:collectAllIn ?_b1 .
81
+ }.
82
+
83
+ {
84
+ (?param {
85
+ :Let :param ?param .
86
+ } ("Huey" "Dewey" "Louie")) log:collectAllIn ?_b1 .
87
+ }
88
+ pe:by [ pe:builtin log:collectAllIn ].
89
+
90
+ {
91
+ ((?param) {
92
+ :Let :param ?param .
93
+ } (("Huey") ("Dewey") ("Louie"))) log:collectAllIn ?_b1 .
94
+ }
95
+ pe:by [ pe:builtin log:collectAllIn ].
96
+
97
+ {
98
+ (?param {
99
+ :Let :param ?param .
100
+ ?param string:lessThan "Louie" .
101
+ } ("Huey" "Dewey")) log:collectAllIn ?_b1 .
102
+ }
103
+ pe:by [ pe:builtin log:collectAllIn ].
104
+ }.
105
+
106
+ { :result3 :is ("Huey" "Dewey") . } pe:why {
107
+ { :result3 :is ("Huey" "Dewey") . }
108
+ pe:by [ pe:rule "log-collect-all-in.n3"; pe:line 13 ];
109
+ pe:binding
110
+ [ pe:var "allParams"; pe:value ("Huey" "Dewey" "Louie") ],
111
+ [ pe:var "filteredParams"; pe:value ("Huey" "Dewey") ],
112
+ [ pe:var "nestedParams"; pe:value (("Huey") ("Dewey") ("Louie")) ];
113
+ pe:uses
114
+ {
115
+ (?param {
116
+ :Let :param ?param .
117
+ } ("Huey" "Dewey" "Louie")) log:collectAllIn ?_b1 .
118
+ },
119
+ {
120
+ ((?param) {
121
+ :Let :param ?param .
122
+ } (("Huey") ("Dewey") ("Louie"))) log:collectAllIn ?_b1 .
123
+ },
124
+ {
125
+ (?param {
126
+ :Let :param ?param .
127
+ ?param string:lessThan "Louie" .
128
+ } ("Huey" "Dewey")) log:collectAllIn ?_b1 .
129
+ }.
130
+
131
+ {
132
+ (?param {
133
+ :Let :param ?param .
134
+ } ("Huey" "Dewey" "Louie")) log:collectAllIn ?_b1 .
135
+ }
136
+ pe:by [ pe:builtin log:collectAllIn ].
137
+
138
+ {
139
+ ((?param) {
140
+ :Let :param ?param .
141
+ } (("Huey") ("Dewey") ("Louie"))) log:collectAllIn ?_b1 .
142
+ }
143
+ pe:by [ pe:builtin log:collectAllIn ].
144
+
145
+ {
146
+ (?param {
147
+ :Let :param ?param .
148
+ ?param string:lessThan "Louie" .
149
+ } ("Huey" "Dewey")) log:collectAllIn ?_b1 .
150
+ }
151
+ pe:by [ pe:builtin log:collectAllIn ].
152
+ }.
@@ -0,0 +1,118 @@
1
+ @prefix : <http://example.org/> .
2
+ @prefix log: <http://www.w3.org/2000/10/swap/log#> .
3
+ @prefix pe: <https://eyereasoner.github.io/pe#> .
4
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
5
+
6
+ :result :is {
7
+ :Felix a :Cat .
8
+ {
9
+ ?X a :Cat .
10
+ } => {
11
+ ?X :says "Meow" .
12
+ } .
13
+ :Felix :says "Meow" .
14
+ } .
15
+
16
+ {
17
+ :result :is {
18
+ :Felix a :Cat .
19
+ {
20
+ ?X a :Cat .
21
+ } => {
22
+ ?X :says "Meow" .
23
+ } .
24
+ :Felix :says "Meow" .
25
+ } .
26
+ } pe:why {
27
+ {
28
+ :result :is {
29
+ :Felix a :Cat .
30
+ {
31
+ ?X a :Cat .
32
+ } => {
33
+ ?X :says "Meow" .
34
+ } .
35
+ :Felix :says "Meow" .
36
+ } .
37
+ }
38
+ pe:by [ pe:rule "log-conclusion.n3"; pe:line 13 ];
39
+ pe:binding
40
+ [ pe:var "conclusion"; pe:value {
41
+ :Felix a :Cat .
42
+ {
43
+ ?X a :Cat .
44
+ } => {
45
+ ?X :says "Meow" .
46
+ } .
47
+ :Felix :says "Meow" .
48
+ } ],
49
+ [ pe:var "param"; pe:value {
50
+ :Felix a :Cat .
51
+ {
52
+ ?X a :Cat .
53
+ } => {
54
+ ?X :says "Meow" .
55
+ } .
56
+ } ];
57
+ pe:uses
58
+ {
59
+ :let :param {
60
+ :Felix a :Cat .
61
+ {
62
+ ?X a :Cat .
63
+ } => {
64
+ ?X :says "Meow" .
65
+ } .
66
+ } .
67
+ },
68
+ {
69
+ {
70
+ :Felix a :Cat .
71
+ {
72
+ ?X a :Cat .
73
+ } => {
74
+ ?X :says "Meow" .
75
+ } .
76
+ } log:conclusion {
77
+ :Felix a :Cat .
78
+ {
79
+ ?X a :Cat .
80
+ } => {
81
+ ?X :says "Meow" .
82
+ } .
83
+ :Felix :says "Meow" .
84
+ } .
85
+ }.
86
+
87
+ {
88
+ :let :param {
89
+ :Felix a :Cat .
90
+ {
91
+ ?X a :Cat .
92
+ } => {
93
+ ?X :says "Meow" .
94
+ } .
95
+ } .
96
+ }
97
+ pe:by [ pe:fact "log-conclusion.n3"; pe:line 8 ].
98
+
99
+ {
100
+ {
101
+ :Felix a :Cat .
102
+ {
103
+ ?X a :Cat .
104
+ } => {
105
+ ?X :says "Meow" .
106
+ } .
107
+ } log:conclusion {
108
+ :Felix a :Cat .
109
+ {
110
+ ?X a :Cat .
111
+ } => {
112
+ ?X :says "Meow" .
113
+ } .
114
+ :Felix :says "Meow" .
115
+ } .
116
+ }
117
+ pe:by [ pe:builtin log:conclusion ].
118
+ }.
@@ -0,0 +1,33 @@
1
+ @prefix : <http://example.org/#> .
2
+ @prefix log: <http://www.w3.org/2000/10/swap/log#> .
3
+ @prefix pe: <https://eyereasoner.github.io/pe#> .
4
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
5
+
6
+ :result :is true .
7
+
8
+ { :result :is true . } pe:why {
9
+ { :result :is true . }
10
+ pe:by [ pe:rule "log-for-all-in.n3"; pe:line 14 ];
11
+ pe:binding [ pe:var "c"; pe:value :c ];
12
+ pe:uses
13
+ { :c a :CompositeTask . },
14
+ {
15
+ ({
16
+ :c :subTask ?s .
17
+ } {
18
+ ?s :state :Completed .
19
+ }) log:forAllIn ?_b1 .
20
+ }.
21
+
22
+ { :c a :CompositeTask . }
23
+ pe:by [ pe:fact "log-for-all-in.n3"; pe:line 8 ].
24
+
25
+ {
26
+ ({
27
+ :c :subTask ?s .
28
+ } {
29
+ ?s :state :Completed .
30
+ }) log:forAllIn ?_b1 .
31
+ }
32
+ pe:by [ pe:builtin log:forAllIn ].
33
+ }.