Commit 57421ab251f6bbc8d1b820a99123cc27b46d00e4
1 parent
f1a115f5
Exists in
master
first stab at type analysis.
one more example.
Showing
4 changed files
with
1372 additions
and
10 deletions
Show diff stats
... | ... | @@ -0,0 +1,1282 @@ |
1 | +_ > []. | |
2 | +_T > [[]|_T]. | |
3 | +[X|_T] > [preds(X)|_T]. | |
4 | +_T > [[]|_T]. | |
5 | +_T > [int|_T]. | |
6 | +_T > ['X_INTRODUCED_42'|_T]. | |
7 | +_T > [[]|_T]. | |
8 | +_T > [lit(1,int)|_T]. | |
9 | +_T > [lit(-1,int)|_T]. | |
10 | +[E|_T] > [[E]|_T]. | |
11 | +[T,H|_T] > [[H|T]|_T]. | |
12 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
13 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,2), VAL, AN)|_T]. | |
14 | +[H,T|_T] > [[H|T]|_T]. | |
15 | +_T > [int|_T]. | |
16 | +_T > ['X_INTRODUCED_45'|_T]. | |
17 | +_T > [[]|_T]. | |
18 | +_T > [lit(1,int)|_T]. | |
19 | +_T > [lit(-1,int)|_T]. | |
20 | +_T > [lit(1,int)|_T]. | |
21 | +[E|_T] > [[E]|_T]. | |
22 | +[T,H|_T] > [[H|T]|_T]. | |
23 | +[T,H|_T] > [[H|T]|_T]. | |
24 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
25 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,3), VAL, AN)|_T]. | |
26 | +[H,T|_T] > [[H|T]|_T]. | |
27 | +_T > [int|_T]. | |
28 | +_T > ['X_INTRODUCED_70'|_T]. | |
29 | +_T > [[]|_T]. | |
30 | +_T > [lit(1,int)|_T]. | |
31 | +_T > [lit(1,int)|_T]. | |
32 | +_T > [lit(-1,int)|_T]. | |
33 | +_T > [lit(-1,int)|_T]. | |
34 | +[E|_T] > [[E]|_T]. | |
35 | +[T,H|_T] > [[H|T]|_T]. | |
36 | +[T,H|_T] > [[H|T]|_T]. | |
37 | +[T,H|_T] > [[H|T]|_T]. | |
38 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
39 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,4), VAL, AN)|_T]. | |
40 | +[H,T|_T] > [[H|T]|_T]. | |
41 | +_T > [int(1,6)|_T]. | |
42 | +_T > ['X_INTRODUCED_0'|_T]. | |
43 | +_T > [[]|_T]. | |
44 | +_T > [[]|_T]. | |
45 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
46 | +[H,T|_T] > [[H|T]|_T]. | |
47 | +_T > [int(1,6)|_T]. | |
48 | +_T > ['X_INTRODUCED_1'|_T]. | |
49 | +_T > [[]|_T]. | |
50 | +_T > [[]|_T]. | |
51 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
52 | +[H,T|_T] > [[H|T]|_T]. | |
53 | +_T > [int(1,6)|_T]. | |
54 | +_T > ['X_INTRODUCED_2'|_T]. | |
55 | +_T > [[]|_T]. | |
56 | +_T > [[]|_T]. | |
57 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
58 | +[H,T|_T] > [[H|T]|_T]. | |
59 | +_T > [int(1,6)|_T]. | |
60 | +_T > ['X_INTRODUCED_3'|_T]. | |
61 | +_T > [[]|_T]. | |
62 | +_T > [[]|_T]. | |
63 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
64 | +[H,T|_T] > [[H|T]|_T]. | |
65 | +_T > [int(1,6)|_T]. | |
66 | +_T > ['X_INTRODUCED_4'|_T]. | |
67 | +_T > [[]|_T]. | |
68 | +_T > [[]|_T]. | |
69 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
70 | +[H,T|_T] > [[H|T]|_T]. | |
71 | +_T > [int(1,6)|_T]. | |
72 | +_T > ['X_INTRODUCED_5'|_T]. | |
73 | +_T > [[]|_T]. | |
74 | +_T > [[]|_T]. | |
75 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
76 | +[H,T|_T] > [[H|T]|_T]. | |
77 | +_T > [[5]|_T]. | |
78 | +[Ls|_T] > [[4|Ls]|_T]. | |
79 | +[Ls|_T] > [[3|Ls]|_T]. | |
80 | +[Ls|_T] > [[2|Ls]|_T]. | |
81 | +[Ls|_T] > [[1|Ls]|_T]. | |
82 | +[Ls|_T] > [[-1|Ls]|_T]. | |
83 | +[Ls|_T] > [[-2|Ls]|_T]. | |
84 | +[Ls|_T] > [[-3|Ls]|_T]. | |
85 | +[Ls|_T] > [[-4|Ls]|_T]. | |
86 | +[Ls|_T] > [[-5|Ls]|_T]. | |
87 | +[Ls|_T] > [int(Ls)|_T]. | |
88 | +_T > ['X_INTRODUCED_7'|_T]. | |
89 | +_T > [id('is_defined_var')|_T]. | |
90 | +_T > [[]|_T]. | |
91 | +[As, E|_T] > [[E|As]|_T]. | |
92 | +_T > [[]|_T]. | |
93 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
94 | +[H,T|_T] > [[H|T]|_T]. | |
95 | +_T > [[5]|_T]. | |
96 | +[Ls|_T] > [[4|Ls]|_T]. | |
97 | +[Ls|_T] > [[3|Ls]|_T]. | |
98 | +[Ls|_T] > [[2|Ls]|_T]. | |
99 | +[Ls|_T] > [[1|Ls]|_T]. | |
100 | +[Ls|_T] > [[-1|Ls]|_T]. | |
101 | +[Ls|_T] > [[-2|Ls]|_T]. | |
102 | +[Ls|_T] > [[-3|Ls]|_T]. | |
103 | +[Ls|_T] > [[-4|Ls]|_T]. | |
104 | +[Ls|_T] > [[-5|Ls]|_T]. | |
105 | +[Ls|_T] > [int(Ls)|_T]. | |
106 | +_T > ['X_INTRODUCED_8'|_T]. | |
107 | +_T > [id('is_defined_var')|_T]. | |
108 | +_T > [[]|_T]. | |
109 | +[As, E|_T] > [[E|As]|_T]. | |
110 | +_T > [[]|_T]. | |
111 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
112 | +[H,T|_T] > [[H|T]|_T]. | |
113 | +_T > [[5]|_T]. | |
114 | +[Ls|_T] > [[4|Ls]|_T]. | |
115 | +[Ls|_T] > [[3|Ls]|_T]. | |
116 | +[Ls|_T] > [[2|Ls]|_T]. | |
117 | +[Ls|_T] > [[1|Ls]|_T]. | |
118 | +[Ls|_T] > [[-1|Ls]|_T]. | |
119 | +[Ls|_T] > [[-2|Ls]|_T]. | |
120 | +[Ls|_T] > [[-3|Ls]|_T]. | |
121 | +[Ls|_T] > [[-4|Ls]|_T]. | |
122 | +[Ls|_T] > [[-5|Ls]|_T]. | |
123 | +[Ls|_T] > [int(Ls)|_T]. | |
124 | +_T > ['X_INTRODUCED_9'|_T]. | |
125 | +_T > [id('is_defined_var')|_T]. | |
126 | +_T > [[]|_T]. | |
127 | +[As, E|_T] > [[E|As]|_T]. | |
128 | +_T > [[]|_T]. | |
129 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
130 | +[H,T|_T] > [[H|T]|_T]. | |
131 | +_T > [[5]|_T]. | |
132 | +[Ls|_T] > [[4|Ls]|_T]. | |
133 | +[Ls|_T] > [[3|Ls]|_T]. | |
134 | +[Ls|_T] > [[2|Ls]|_T]. | |
135 | +[Ls|_T] > [[1|Ls]|_T]. | |
136 | +[Ls|_T] > [[-1|Ls]|_T]. | |
137 | +[Ls|_T] > [[-2|Ls]|_T]. | |
138 | +[Ls|_T] > [[-3|Ls]|_T]. | |
139 | +[Ls|_T] > [[-4|Ls]|_T]. | |
140 | +[Ls|_T] > [[-5|Ls]|_T]. | |
141 | +[Ls|_T] > [int(Ls)|_T]. | |
142 | +_T > ['X_INTRODUCED_10'|_T]. | |
143 | +_T > [id('is_defined_var')|_T]. | |
144 | +_T > [[]|_T]. | |
145 | +[As, E|_T] > [[E|As]|_T]. | |
146 | +_T > [[]|_T]. | |
147 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
148 | +[H,T|_T] > [[H|T]|_T]. | |
149 | +_T > [[5]|_T]. | |
150 | +[Ls|_T] > [[4|Ls]|_T]. | |
151 | +[Ls|_T] > [[3|Ls]|_T]. | |
152 | +[Ls|_T] > [[2|Ls]|_T]. | |
153 | +[Ls|_T] > [[1|Ls]|_T]. | |
154 | +[Ls|_T] > [[-1|Ls]|_T]. | |
155 | +[Ls|_T] > [[-2|Ls]|_T]. | |
156 | +[Ls|_T] > [[-3|Ls]|_T]. | |
157 | +[Ls|_T] > [[-4|Ls]|_T]. | |
158 | +[Ls|_T] > [[-5|Ls]|_T]. | |
159 | +[Ls|_T] > [int(Ls)|_T]. | |
160 | +_T > ['X_INTRODUCED_11'|_T]. | |
161 | +_T > [id('is_defined_var')|_T]. | |
162 | +_T > [[]|_T]. | |
163 | +[As, E|_T] > [[E|As]|_T]. | |
164 | +_T > [[]|_T]. | |
165 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
166 | +[H,T|_T] > [[H|T]|_T]. | |
167 | +_T > [[5]|_T]. | |
168 | +[Ls|_T] > [[4|Ls]|_T]. | |
169 | +[Ls|_T] > [[3|Ls]|_T]. | |
170 | +[Ls|_T] > [[2|Ls]|_T]. | |
171 | +[Ls|_T] > [[1|Ls]|_T]. | |
172 | +[Ls|_T] > [[-1|Ls]|_T]. | |
173 | +[Ls|_T] > [[-2|Ls]|_T]. | |
174 | +[Ls|_T] > [[-3|Ls]|_T]. | |
175 | +[Ls|_T] > [[-4|Ls]|_T]. | |
176 | +[Ls|_T] > [[-5|Ls]|_T]. | |
177 | +[Ls|_T] > [int(Ls)|_T]. | |
178 | +_T > ['X_INTRODUCED_14'|_T]. | |
179 | +_T > [id('is_defined_var')|_T]. | |
180 | +_T > [[]|_T]. | |
181 | +[As, E|_T] > [[E|As]|_T]. | |
182 | +_T > [[]|_T]. | |
183 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
184 | +[H,T|_T] > [[H|T]|_T]. | |
185 | +_T > [[5]|_T]. | |
186 | +[Ls|_T] > [[4|Ls]|_T]. | |
187 | +[Ls|_T] > [[3|Ls]|_T]. | |
188 | +[Ls|_T] > [[2|Ls]|_T]. | |
189 | +[Ls|_T] > [[1|Ls]|_T]. | |
190 | +[Ls|_T] > [[-1|Ls]|_T]. | |
191 | +[Ls|_T] > [[-2|Ls]|_T]. | |
192 | +[Ls|_T] > [[-3|Ls]|_T]. | |
193 | +[Ls|_T] > [[-4|Ls]|_T]. | |
194 | +[Ls|_T] > [[-5|Ls]|_T]. | |
195 | +[Ls|_T] > [int(Ls)|_T]. | |
196 | +_T > ['X_INTRODUCED_15'|_T]. | |
197 | +_T > [id('is_defined_var')|_T]. | |
198 | +_T > [[]|_T]. | |
199 | +[As, E|_T] > [[E|As]|_T]. | |
200 | +_T > [[]|_T]. | |
201 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
202 | +[H,T|_T] > [[H|T]|_T]. | |
203 | +_T > [[5]|_T]. | |
204 | +[Ls|_T] > [[4|Ls]|_T]. | |
205 | +[Ls|_T] > [[3|Ls]|_T]. | |
206 | +[Ls|_T] > [[2|Ls]|_T]. | |
207 | +[Ls|_T] > [[1|Ls]|_T]. | |
208 | +[Ls|_T] > [[-1|Ls]|_T]. | |
209 | +[Ls|_T] > [[-2|Ls]|_T]. | |
210 | +[Ls|_T] > [[-3|Ls]|_T]. | |
211 | +[Ls|_T] > [[-4|Ls]|_T]. | |
212 | +[Ls|_T] > [[-5|Ls]|_T]. | |
213 | +[Ls|_T] > [int(Ls)|_T]. | |
214 | +_T > ['X_INTRODUCED_16'|_T]. | |
215 | +_T > [id('is_defined_var')|_T]. | |
216 | +_T > [[]|_T]. | |
217 | +[As, E|_T] > [[E|As]|_T]. | |
218 | +_T > [[]|_T]. | |
219 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
220 | +[H,T|_T] > [[H|T]|_T]. | |
221 | +_T > [[5]|_T]. | |
222 | +[Ls|_T] > [[4|Ls]|_T]. | |
223 | +[Ls|_T] > [[3|Ls]|_T]. | |
224 | +[Ls|_T] > [[2|Ls]|_T]. | |
225 | +[Ls|_T] > [[1|Ls]|_T]. | |
226 | +[Ls|_T] > [[-1|Ls]|_T]. | |
227 | +[Ls|_T] > [[-2|Ls]|_T]. | |
228 | +[Ls|_T] > [[-3|Ls]|_T]. | |
229 | +[Ls|_T] > [[-4|Ls]|_T]. | |
230 | +[Ls|_T] > [[-5|Ls]|_T]. | |
231 | +[Ls|_T] > [int(Ls)|_T]. | |
232 | +_T > ['X_INTRODUCED_17'|_T]. | |
233 | +_T > [id('is_defined_var')|_T]. | |
234 | +_T > [[]|_T]. | |
235 | +[As, E|_T] > [[E|As]|_T]. | |
236 | +_T > [[]|_T]. | |
237 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
238 | +[H,T|_T] > [[H|T]|_T]. | |
239 | +_T > [[5]|_T]. | |
240 | +[Ls|_T] > [[4|Ls]|_T]. | |
241 | +[Ls|_T] > [[3|Ls]|_T]. | |
242 | +[Ls|_T] > [[2|Ls]|_T]. | |
243 | +[Ls|_T] > [[1|Ls]|_T]. | |
244 | +[Ls|_T] > [[-1|Ls]|_T]. | |
245 | +[Ls|_T] > [[-2|Ls]|_T]. | |
246 | +[Ls|_T] > [[-3|Ls]|_T]. | |
247 | +[Ls|_T] > [[-4|Ls]|_T]. | |
248 | +[Ls|_T] > [[-5|Ls]|_T]. | |
249 | +[Ls|_T] > [int(Ls)|_T]. | |
250 | +_T > ['X_INTRODUCED_21'|_T]. | |
251 | +_T > [id('is_defined_var')|_T]. | |
252 | +_T > [[]|_T]. | |
253 | +[As, E|_T] > [[E|As]|_T]. | |
254 | +_T > [[]|_T]. | |
255 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
256 | +[H,T|_T] > [[H|T]|_T]. | |
257 | +_T > [[5]|_T]. | |
258 | +[Ls|_T] > [[4|Ls]|_T]. | |
259 | +[Ls|_T] > [[3|Ls]|_T]. | |
260 | +[Ls|_T] > [[2|Ls]|_T]. | |
261 | +[Ls|_T] > [[1|Ls]|_T]. | |
262 | +[Ls|_T] > [[-1|Ls]|_T]. | |
263 | +[Ls|_T] > [[-2|Ls]|_T]. | |
264 | +[Ls|_T] > [[-3|Ls]|_T]. | |
265 | +[Ls|_T] > [[-4|Ls]|_T]. | |
266 | +[Ls|_T] > [[-5|Ls]|_T]. | |
267 | +[Ls|_T] > [int(Ls)|_T]. | |
268 | +_T > ['X_INTRODUCED_22'|_T]. | |
269 | +_T > [id('is_defined_var')|_T]. | |
270 | +_T > [[]|_T]. | |
271 | +[As, E|_T] > [[E|As]|_T]. | |
272 | +_T > [[]|_T]. | |
273 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
274 | +[H,T|_T] > [[H|T]|_T]. | |
275 | +_T > [[5]|_T]. | |
276 | +[Ls|_T] > [[4|Ls]|_T]. | |
277 | +[Ls|_T] > [[3|Ls]|_T]. | |
278 | +[Ls|_T] > [[2|Ls]|_T]. | |
279 | +[Ls|_T] > [[1|Ls]|_T]. | |
280 | +[Ls|_T] > [[-1|Ls]|_T]. | |
281 | +[Ls|_T] > [[-2|Ls]|_T]. | |
282 | +[Ls|_T] > [[-3|Ls]|_T]. | |
283 | +[Ls|_T] > [[-4|Ls]|_T]. | |
284 | +[Ls|_T] > [[-5|Ls]|_T]. | |
285 | +[Ls|_T] > [int(Ls)|_T]. | |
286 | +_T > ['X_INTRODUCED_23'|_T]. | |
287 | +_T > [id('is_defined_var')|_T]. | |
288 | +_T > [[]|_T]. | |
289 | +[As, E|_T] > [[E|As]|_T]. | |
290 | +_T > [[]|_T]. | |
291 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
292 | +[H,T|_T] > [[H|T]|_T]. | |
293 | +_T > [[5]|_T]. | |
294 | +[Ls|_T] > [[4|Ls]|_T]. | |
295 | +[Ls|_T] > [[3|Ls]|_T]. | |
296 | +[Ls|_T] > [[2|Ls]|_T]. | |
297 | +[Ls|_T] > [[1|Ls]|_T]. | |
298 | +[Ls|_T] > [[-1|Ls]|_T]. | |
299 | +[Ls|_T] > [[-2|Ls]|_T]. | |
300 | +[Ls|_T] > [[-3|Ls]|_T]. | |
301 | +[Ls|_T] > [[-4|Ls]|_T]. | |
302 | +[Ls|_T] > [[-5|Ls]|_T]. | |
303 | +[Ls|_T] > [int(Ls)|_T]. | |
304 | +_T > ['X_INTRODUCED_28'|_T]. | |
305 | +_T > [id('is_defined_var')|_T]. | |
306 | +_T > [[]|_T]. | |
307 | +[As, E|_T] > [[E|As]|_T]. | |
308 | +_T > [[]|_T]. | |
309 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
310 | +[H,T|_T] > [[H|T]|_T]. | |
311 | +_T > [[5]|_T]. | |
312 | +[Ls|_T] > [[4|Ls]|_T]. | |
313 | +[Ls|_T] > [[3|Ls]|_T]. | |
314 | +[Ls|_T] > [[2|Ls]|_T]. | |
315 | +[Ls|_T] > [[1|Ls]|_T]. | |
316 | +[Ls|_T] > [[-1|Ls]|_T]. | |
317 | +[Ls|_T] > [[-2|Ls]|_T]. | |
318 | +[Ls|_T] > [[-3|Ls]|_T]. | |
319 | +[Ls|_T] > [[-4|Ls]|_T]. | |
320 | +[Ls|_T] > [[-5|Ls]|_T]. | |
321 | +[Ls|_T] > [int(Ls)|_T]. | |
322 | +_T > ['X_INTRODUCED_29'|_T]. | |
323 | +_T > [id('is_defined_var')|_T]. | |
324 | +_T > [[]|_T]. | |
325 | +[As, E|_T] > [[E|As]|_T]. | |
326 | +_T > [[]|_T]. | |
327 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
328 | +[H,T|_T] > [[H|T]|_T]. | |
329 | +_T > [[5]|_T]. | |
330 | +[Ls|_T] > [[4|Ls]|_T]. | |
331 | +[Ls|_T] > [[3|Ls]|_T]. | |
332 | +[Ls|_T] > [[2|Ls]|_T]. | |
333 | +[Ls|_T] > [[1|Ls]|_T]. | |
334 | +[Ls|_T] > [[-1|Ls]|_T]. | |
335 | +[Ls|_T] > [[-2|Ls]|_T]. | |
336 | +[Ls|_T] > [[-3|Ls]|_T]. | |
337 | +[Ls|_T] > [[-4|Ls]|_T]. | |
338 | +[Ls|_T] > [[-5|Ls]|_T]. | |
339 | +[Ls|_T] > [int(Ls)|_T]. | |
340 | +_T > ['X_INTRODUCED_35'|_T]. | |
341 | +_T > [id('is_defined_var')|_T]. | |
342 | +_T > [[]|_T]. | |
343 | +[As, E|_T] > [[E|As]|_T]. | |
344 | +_T > [[]|_T]. | |
345 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | |
346 | +[H,T|_T] > [[H|T]|_T]. | |
347 | +_T > [int(1,6)|_T]. | |
348 | +_T > ['costas'|_T]. | |
349 | +_T > [lit([1, 2, 3, 4, 5, 6], set(int))|_T]. | |
350 | +[E|_T] > [[E]|_T]. | |
351 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
352 | +[E|_T] > [[E]|_T]. | |
353 | +_T > [[]|_T]. | |
354 | +[As, E|_T] > [[E|As]|_T]. | |
355 | +_T > [id('X_INTRODUCED_0')|_T]. | |
356 | +_T > [id('X_INTRODUCED_1')|_T]. | |
357 | +_T > [id('X_INTRODUCED_2')|_T]. | |
358 | +_T > [id('X_INTRODUCED_3')|_T]. | |
359 | +_T > [id('X_INTRODUCED_4')|_T]. | |
360 | +_T > [id('X_INTRODUCED_5')|_T]. | |
361 | +[E|_T] > [[E]|_T]. | |
362 | +[T,H|_T] > [[H|T]|_T]. | |
363 | +[T,H|_T] > [[H|T]|_T]. | |
364 | +[T,H|_T] > [[H|T]|_T]. | |
365 | +[T,H|_T] > [[H|T]|_T]. | |
366 | +[T,H|_T] > [[H|T]|_T]. | |
367 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
368 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,6), VAL, AN)|_T]. | |
369 | +[H,T|_T] > [[H|T]|_T]. | |
370 | +[X|_T] > [vars(X)|_T]. | |
371 | +_T > [[]|_T]. | |
372 | +_T > [id('X_INTRODUCED_42')|_T]. | |
373 | +_T > [id('X_INTRODUCED_0')|_T]. | |
374 | +_T > [id('X_INTRODUCED_1')|_T]. | |
375 | +[E|_T] > [[E]|_T]. | |
376 | +[T,H|_T] > [[H|T]|_T]. | |
377 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
378 | +_T > [lit(0,int)|_T]. | |
379 | +[E|_T] > [[E]|_T]. | |
380 | +[T,H|_T] > [[H|T]|_T]. | |
381 | +[T,H|_T] > [[H|T]|_T]. | |
382 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
383 | +_T > [[]|_T]. | |
384 | +[A,C|_T] > [constraint(C,A)|_T]. | |
385 | +[H,T|_T] > [[H|T]|_T]. | |
386 | +_T > [id('X_INTRODUCED_42')|_T]. | |
387 | +_T > [id('X_INTRODUCED_0')|_T]. | |
388 | +_T > [id('X_INTRODUCED_2')|_T]. | |
389 | +[E|_T] > [[E]|_T]. | |
390 | +[T,H|_T] > [[H|T]|_T]. | |
391 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
392 | +_T > [lit(0,int)|_T]. | |
393 | +[E|_T] > [[E]|_T]. | |
394 | +[T,H|_T] > [[H|T]|_T]. | |
395 | +[T,H|_T] > [[H|T]|_T]. | |
396 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
397 | +_T > [[]|_T]. | |
398 | +[A,C|_T] > [constraint(C,A)|_T]. | |
399 | +[H,T|_T] > [[H|T]|_T]. | |
400 | +_T > [id('X_INTRODUCED_42')|_T]. | |
401 | +_T > [id('X_INTRODUCED_0')|_T]. | |
402 | +_T > [id('X_INTRODUCED_3')|_T]. | |
403 | +[E|_T] > [[E]|_T]. | |
404 | +[T,H|_T] > [[H|T]|_T]. | |
405 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
406 | +_T > [lit(0,int)|_T]. | |
407 | +[E|_T] > [[E]|_T]. | |
408 | +[T,H|_T] > [[H|T]|_T]. | |
409 | +[T,H|_T] > [[H|T]|_T]. | |
410 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
411 | +_T > [[]|_T]. | |
412 | +[A,C|_T] > [constraint(C,A)|_T]. | |
413 | +[H,T|_T] > [[H|T]|_T]. | |
414 | +_T > [id('X_INTRODUCED_42')|_T]. | |
415 | +_T > [id('X_INTRODUCED_0')|_T]. | |
416 | +_T > [id('X_INTRODUCED_4')|_T]. | |
417 | +[E|_T] > [[E]|_T]. | |
418 | +[T,H|_T] > [[H|T]|_T]. | |
419 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
420 | +_T > [lit(0,int)|_T]. | |
421 | +[E|_T] > [[E]|_T]. | |
422 | +[T,H|_T] > [[H|T]|_T]. | |
423 | +[T,H|_T] > [[H|T]|_T]. | |
424 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
425 | +_T > [[]|_T]. | |
426 | +[A,C|_T] > [constraint(C,A)|_T]. | |
427 | +[H,T|_T] > [[H|T]|_T]. | |
428 | +_T > [id('X_INTRODUCED_42')|_T]. | |
429 | +_T > [id('X_INTRODUCED_0')|_T]. | |
430 | +_T > [id('X_INTRODUCED_5')|_T]. | |
431 | +[E|_T] > [[E]|_T]. | |
432 | +[T,H|_T] > [[H|T]|_T]. | |
433 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
434 | +_T > [lit(0,int)|_T]. | |
435 | +[E|_T] > [[E]|_T]. | |
436 | +[T,H|_T] > [[H|T]|_T]. | |
437 | +[T,H|_T] > [[H|T]|_T]. | |
438 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
439 | +_T > [[]|_T]. | |
440 | +[A,C|_T] > [constraint(C,A)|_T]. | |
441 | +[H,T|_T] > [[H|T]|_T]. | |
442 | +_T > [id('X_INTRODUCED_42')|_T]. | |
443 | +_T > [id('X_INTRODUCED_1')|_T]. | |
444 | +_T > [id('X_INTRODUCED_2')|_T]. | |
445 | +[E|_T] > [[E]|_T]. | |
446 | +[T,H|_T] > [[H|T]|_T]. | |
447 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
448 | +_T > [lit(0,int)|_T]. | |
449 | +[E|_T] > [[E]|_T]. | |
450 | +[T,H|_T] > [[H|T]|_T]. | |
451 | +[T,H|_T] > [[H|T]|_T]. | |
452 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
453 | +_T > [[]|_T]. | |
454 | +[A,C|_T] > [constraint(C,A)|_T]. | |
455 | +[H,T|_T] > [[H|T]|_T]. | |
456 | +_T > [id('X_INTRODUCED_42')|_T]. | |
457 | +_T > [id('X_INTRODUCED_1')|_T]. | |
458 | +_T > [id('X_INTRODUCED_3')|_T]. | |
459 | +[E|_T] > [[E]|_T]. | |
460 | +[T,H|_T] > [[H|T]|_T]. | |
461 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
462 | +_T > [lit(0,int)|_T]. | |
463 | +[E|_T] > [[E]|_T]. | |
464 | +[T,H|_T] > [[H|T]|_T]. | |
465 | +[T,H|_T] > [[H|T]|_T]. | |
466 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
467 | +_T > [[]|_T]. | |
468 | +[A,C|_T] > [constraint(C,A)|_T]. | |
469 | +[H,T|_T] > [[H|T]|_T]. | |
470 | +_T > [id('X_INTRODUCED_42')|_T]. | |
471 | +_T > [id('X_INTRODUCED_1')|_T]. | |
472 | +_T > [id('X_INTRODUCED_4')|_T]. | |
473 | +[E|_T] > [[E]|_T]. | |
474 | +[T,H|_T] > [[H|T]|_T]. | |
475 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
476 | +_T > [lit(0,int)|_T]. | |
477 | +[E|_T] > [[E]|_T]. | |
478 | +[T,H|_T] > [[H|T]|_T]. | |
479 | +[T,H|_T] > [[H|T]|_T]. | |
480 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
481 | +_T > [[]|_T]. | |
482 | +[A,C|_T] > [constraint(C,A)|_T]. | |
483 | +[H,T|_T] > [[H|T]|_T]. | |
484 | +_T > [id('X_INTRODUCED_42')|_T]. | |
485 | +_T > [id('X_INTRODUCED_1')|_T]. | |
486 | +_T > [id('X_INTRODUCED_5')|_T]. | |
487 | +[E|_T] > [[E]|_T]. | |
488 | +[T,H|_T] > [[H|T]|_T]. | |
489 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
490 | +_T > [lit(0,int)|_T]. | |
491 | +[E|_T] > [[E]|_T]. | |
492 | +[T,H|_T] > [[H|T]|_T]. | |
493 | +[T,H|_T] > [[H|T]|_T]. | |
494 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
495 | +_T > [[]|_T]. | |
496 | +[A,C|_T] > [constraint(C,A)|_T]. | |
497 | +[H,T|_T] > [[H|T]|_T]. | |
498 | +_T > [id('X_INTRODUCED_42')|_T]. | |
499 | +_T > [id('X_INTRODUCED_2')|_T]. | |
500 | +_T > [id('X_INTRODUCED_3')|_T]. | |
501 | +[E|_T] > [[E]|_T]. | |
502 | +[T,H|_T] > [[H|T]|_T]. | |
503 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
504 | +_T > [lit(0,int)|_T]. | |
505 | +[E|_T] > [[E]|_T]. | |
506 | +[T,H|_T] > [[H|T]|_T]. | |
507 | +[T,H|_T] > [[H|T]|_T]. | |
508 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
509 | +_T > [[]|_T]. | |
510 | +[A,C|_T] > [constraint(C,A)|_T]. | |
511 | +[H,T|_T] > [[H|T]|_T]. | |
512 | +_T > [id('X_INTRODUCED_42')|_T]. | |
513 | +_T > [id('X_INTRODUCED_2')|_T]. | |
514 | +_T > [id('X_INTRODUCED_4')|_T]. | |
515 | +[E|_T] > [[E]|_T]. | |
516 | +[T,H|_T] > [[H|T]|_T]. | |
517 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
518 | +_T > [lit(0,int)|_T]. | |
519 | +[E|_T] > [[E]|_T]. | |
520 | +[T,H|_T] > [[H|T]|_T]. | |
521 | +[T,H|_T] > [[H|T]|_T]. | |
522 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
523 | +_T > [[]|_T]. | |
524 | +[A,C|_T] > [constraint(C,A)|_T]. | |
525 | +[H,T|_T] > [[H|T]|_T]. | |
526 | +_T > [id('X_INTRODUCED_42')|_T]. | |
527 | +_T > [id('X_INTRODUCED_2')|_T]. | |
528 | +_T > [id('X_INTRODUCED_5')|_T]. | |
529 | +[E|_T] > [[E]|_T]. | |
530 | +[T,H|_T] > [[H|T]|_T]. | |
531 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
532 | +_T > [lit(0,int)|_T]. | |
533 | +[E|_T] > [[E]|_T]. | |
534 | +[T,H|_T] > [[H|T]|_T]. | |
535 | +[T,H|_T] > [[H|T]|_T]. | |
536 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
537 | +_T > [[]|_T]. | |
538 | +[A,C|_T] > [constraint(C,A)|_T]. | |
539 | +[H,T|_T] > [[H|T]|_T]. | |
540 | +_T > [id('X_INTRODUCED_42')|_T]. | |
541 | +_T > [id('X_INTRODUCED_3')|_T]. | |
542 | +_T > [id('X_INTRODUCED_4')|_T]. | |
543 | +[E|_T] > [[E]|_T]. | |
544 | +[T,H|_T] > [[H|T]|_T]. | |
545 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
546 | +_T > [lit(0,int)|_T]. | |
547 | +[E|_T] > [[E]|_T]. | |
548 | +[T,H|_T] > [[H|T]|_T]. | |
549 | +[T,H|_T] > [[H|T]|_T]. | |
550 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
551 | +_T > [[]|_T]. | |
552 | +[A,C|_T] > [constraint(C,A)|_T]. | |
553 | +[H,T|_T] > [[H|T]|_T]. | |
554 | +_T > [id('X_INTRODUCED_42')|_T]. | |
555 | +_T > [id('X_INTRODUCED_3')|_T]. | |
556 | +_T > [id('X_INTRODUCED_5')|_T]. | |
557 | +[E|_T] > [[E]|_T]. | |
558 | +[T,H|_T] > [[H|T]|_T]. | |
559 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
560 | +_T > [lit(0,int)|_T]. | |
561 | +[E|_T] > [[E]|_T]. | |
562 | +[T,H|_T] > [[H|T]|_T]. | |
563 | +[T,H|_T] > [[H|T]|_T]. | |
564 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
565 | +_T > [[]|_T]. | |
566 | +[A,C|_T] > [constraint(C,A)|_T]. | |
567 | +[H,T|_T] > [[H|T]|_T]. | |
568 | +_T > [id('X_INTRODUCED_42')|_T]. | |
569 | +_T > [id('X_INTRODUCED_4')|_T]. | |
570 | +_T > [id('X_INTRODUCED_5')|_T]. | |
571 | +[E|_T] > [[E]|_T]. | |
572 | +[T,H|_T] > [[H|T]|_T]. | |
573 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
574 | +_T > [lit(0,int)|_T]. | |
575 | +[E|_T] > [[E]|_T]. | |
576 | +[T,H|_T] > [[H|T]|_T]. | |
577 | +[T,H|_T] > [[H|T]|_T]. | |
578 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
579 | +_T > [[]|_T]. | |
580 | +[A,C|_T] > [constraint(C,A)|_T]. | |
581 | +[H,T|_T] > [[H|T]|_T]. | |
582 | +_T > [id('X_INTRODUCED_45')|_T]. | |
583 | +_T > [id('X_INTRODUCED_7')|_T]. | |
584 | +_T > [id('X_INTRODUCED_1')|_T]. | |
585 | +_T > [id('X_INTRODUCED_0')|_T]. | |
586 | +[E|_T] > [[E]|_T]. | |
587 | +[T,H|_T] > [[H|T]|_T]. | |
588 | +[T,H|_T] > [[H|T]|_T]. | |
589 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
590 | +_T > [lit(0,int)|_T]. | |
591 | +[E|_T] > [[E]|_T]. | |
592 | +[T,H|_T] > [[H|T]|_T]. | |
593 | +[T,H|_T] > [[H|T]|_T]. | |
594 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
595 | +_T > [id('X_INTRODUCED_7')|_T]. | |
596 | +[E|_T] > [[E]|_T]. | |
597 | +_T > [[]|_T]. | |
598 | +[As, E|_T] > [[E|As]|_T]. | |
599 | +[A,C|_T] > [constraint(C,A)|_T]. | |
600 | +[H,T|_T] > [[H|T]|_T]. | |
601 | +_T > [id('X_INTRODUCED_45')|_T]. | |
602 | +_T > [id('X_INTRODUCED_8')|_T]. | |
603 | +_T > [id('X_INTRODUCED_2')|_T]. | |
604 | +_T > [id('X_INTRODUCED_1')|_T]. | |
605 | +[E|_T] > [[E]|_T]. | |
606 | +[T,H|_T] > [[H|T]|_T]. | |
607 | +[T,H|_T] > [[H|T]|_T]. | |
608 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
609 | +_T > [lit(0,int)|_T]. | |
610 | +[E|_T] > [[E]|_T]. | |
611 | +[T,H|_T] > [[H|T]|_T]. | |
612 | +[T,H|_T] > [[H|T]|_T]. | |
613 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
614 | +_T > [id('X_INTRODUCED_8')|_T]. | |
615 | +[E|_T] > [[E]|_T]. | |
616 | +_T > [[]|_T]. | |
617 | +[As, E|_T] > [[E|As]|_T]. | |
618 | +[A,C|_T] > [constraint(C,A)|_T]. | |
619 | +[H,T|_T] > [[H|T]|_T]. | |
620 | +_T > [id('X_INTRODUCED_45')|_T]. | |
621 | +_T > [id('X_INTRODUCED_9')|_T]. | |
622 | +_T > [id('X_INTRODUCED_3')|_T]. | |
623 | +_T > [id('X_INTRODUCED_2')|_T]. | |
624 | +[E|_T] > [[E]|_T]. | |
625 | +[T,H|_T] > [[H|T]|_T]. | |
626 | +[T,H|_T] > [[H|T]|_T]. | |
627 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
628 | +_T > [lit(0,int)|_T]. | |
629 | +[E|_T] > [[E]|_T]. | |
630 | +[T,H|_T] > [[H|T]|_T]. | |
631 | +[T,H|_T] > [[H|T]|_T]. | |
632 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
633 | +_T > [id('X_INTRODUCED_9')|_T]. | |
634 | +[E|_T] > [[E]|_T]. | |
635 | +_T > [[]|_T]. | |
636 | +[As, E|_T] > [[E|As]|_T]. | |
637 | +[A,C|_T] > [constraint(C,A)|_T]. | |
638 | +[H,T|_T] > [[H|T]|_T]. | |
639 | +_T > [id('X_INTRODUCED_45')|_T]. | |
640 | +_T > [id('X_INTRODUCED_10')|_T]. | |
641 | +_T > [id('X_INTRODUCED_4')|_T]. | |
642 | +_T > [id('X_INTRODUCED_3')|_T]. | |
643 | +[E|_T] > [[E]|_T]. | |
644 | +[T,H|_T] > [[H|T]|_T]. | |
645 | +[T,H|_T] > [[H|T]|_T]. | |
646 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
647 | +_T > [lit(0,int)|_T]. | |
648 | +[E|_T] > [[E]|_T]. | |
649 | +[T,H|_T] > [[H|T]|_T]. | |
650 | +[T,H|_T] > [[H|T]|_T]. | |
651 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
652 | +_T > [id('X_INTRODUCED_10')|_T]. | |
653 | +[E|_T] > [[E]|_T]. | |
654 | +_T > [[]|_T]. | |
655 | +[As, E|_T] > [[E|As]|_T]. | |
656 | +[A,C|_T] > [constraint(C,A)|_T]. | |
657 | +[H,T|_T] > [[H|T]|_T]. | |
658 | +_T > [id('X_INTRODUCED_45')|_T]. | |
659 | +_T > [id('X_INTRODUCED_11')|_T]. | |
660 | +_T > [id('X_INTRODUCED_5')|_T]. | |
661 | +_T > [id('X_INTRODUCED_4')|_T]. | |
662 | +[E|_T] > [[E]|_T]. | |
663 | +[T,H|_T] > [[H|T]|_T]. | |
664 | +[T,H|_T] > [[H|T]|_T]. | |
665 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
666 | +_T > [lit(0,int)|_T]. | |
667 | +[E|_T] > [[E]|_T]. | |
668 | +[T,H|_T] > [[H|T]|_T]. | |
669 | +[T,H|_T] > [[H|T]|_T]. | |
670 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
671 | +_T > [id('X_INTRODUCED_11')|_T]. | |
672 | +[E|_T] > [[E]|_T]. | |
673 | +_T > [[]|_T]. | |
674 | +[As, E|_T] > [[E|As]|_T]. | |
675 | +[A,C|_T] > [constraint(C,A)|_T]. | |
676 | +[H,T|_T] > [[H|T]|_T]. | |
677 | +_T > [id('X_INTRODUCED_45')|_T]. | |
678 | +_T > [id('X_INTRODUCED_14')|_T]. | |
679 | +_T > [id('X_INTRODUCED_2')|_T]. | |
680 | +_T > [id('X_INTRODUCED_0')|_T]. | |
681 | +[E|_T] > [[E]|_T]. | |
682 | +[T,H|_T] > [[H|T]|_T]. | |
683 | +[T,H|_T] > [[H|T]|_T]. | |
684 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
685 | +_T > [lit(0,int)|_T]. | |
686 | +[E|_T] > [[E]|_T]. | |
687 | +[T,H|_T] > [[H|T]|_T]. | |
688 | +[T,H|_T] > [[H|T]|_T]. | |
689 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
690 | +_T > [id('X_INTRODUCED_14')|_T]. | |
691 | +[E|_T] > [[E]|_T]. | |
692 | +_T > [[]|_T]. | |
693 | +[As, E|_T] > [[E|As]|_T]. | |
694 | +[A,C|_T] > [constraint(C,A)|_T]. | |
695 | +[H,T|_T] > [[H|T]|_T]. | |
696 | +_T > [id('X_INTRODUCED_45')|_T]. | |
697 | +_T > [id('X_INTRODUCED_15')|_T]. | |
698 | +_T > [id('X_INTRODUCED_3')|_T]. | |
699 | +_T > [id('X_INTRODUCED_1')|_T]. | |
700 | +[E|_T] > [[E]|_T]. | |
701 | +[T,H|_T] > [[H|T]|_T]. | |
702 | +[T,H|_T] > [[H|T]|_T]. | |
703 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
704 | +_T > [lit(0,int)|_T]. | |
705 | +[E|_T] > [[E]|_T]. | |
706 | +[T,H|_T] > [[H|T]|_T]. | |
707 | +[T,H|_T] > [[H|T]|_T]. | |
708 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
709 | +_T > [id('X_INTRODUCED_15')|_T]. | |
710 | +[E|_T] > [[E]|_T]. | |
711 | +_T > [[]|_T]. | |
712 | +[As, E|_T] > [[E|As]|_T]. | |
713 | +[A,C|_T] > [constraint(C,A)|_T]. | |
714 | +[H,T|_T] > [[H|T]|_T]. | |
715 | +_T > [id('X_INTRODUCED_45')|_T]. | |
716 | +_T > [id('X_INTRODUCED_16')|_T]. | |
717 | +_T > [id('X_INTRODUCED_4')|_T]. | |
718 | +_T > [id('X_INTRODUCED_2')|_T]. | |
719 | +[E|_T] > [[E]|_T]. | |
720 | +[T,H|_T] > [[H|T]|_T]. | |
721 | +[T,H|_T] > [[H|T]|_T]. | |
722 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
723 | +_T > [lit(0,int)|_T]. | |
724 | +[E|_T] > [[E]|_T]. | |
725 | +[T,H|_T] > [[H|T]|_T]. | |
726 | +[T,H|_T] > [[H|T]|_T]. | |
727 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
728 | +_T > [id('X_INTRODUCED_16')|_T]. | |
729 | +[E|_T] > [[E]|_T]. | |
730 | +_T > [[]|_T]. | |
731 | +[As, E|_T] > [[E|As]|_T]. | |
732 | +[A,C|_T] > [constraint(C,A)|_T]. | |
733 | +[H,T|_T] > [[H|T]|_T]. | |
734 | +_T > [id('X_INTRODUCED_45')|_T]. | |
735 | +_T > [id('X_INTRODUCED_17')|_T]. | |
736 | +_T > [id('X_INTRODUCED_5')|_T]. | |
737 | +_T > [id('X_INTRODUCED_3')|_T]. | |
738 | +[E|_T] > [[E]|_T]. | |
739 | +[T,H|_T] > [[H|T]|_T]. | |
740 | +[T,H|_T] > [[H|T]|_T]. | |
741 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
742 | +_T > [lit(0,int)|_T]. | |
743 | +[E|_T] > [[E]|_T]. | |
744 | +[T,H|_T] > [[H|T]|_T]. | |
745 | +[T,H|_T] > [[H|T]|_T]. | |
746 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
747 | +_T > [id('X_INTRODUCED_17')|_T]. | |
748 | +[E|_T] > [[E]|_T]. | |
749 | +_T > [[]|_T]. | |
750 | +[As, E|_T] > [[E|As]|_T]. | |
751 | +[A,C|_T] > [constraint(C,A)|_T]. | |
752 | +[H,T|_T] > [[H|T]|_T]. | |
753 | +_T > [id('X_INTRODUCED_45')|_T]. | |
754 | +_T > [id('X_INTRODUCED_21')|_T]. | |
755 | +_T > [id('X_INTRODUCED_3')|_T]. | |
756 | +_T > [id('X_INTRODUCED_0')|_T]. | |
757 | +[E|_T] > [[E]|_T]. | |
758 | +[T,H|_T] > [[H|T]|_T]. | |
759 | +[T,H|_T] > [[H|T]|_T]. | |
760 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
761 | +_T > [lit(0,int)|_T]. | |
762 | +[E|_T] > [[E]|_T]. | |
763 | +[T,H|_T] > [[H|T]|_T]. | |
764 | +[T,H|_T] > [[H|T]|_T]. | |
765 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
766 | +_T > [id('X_INTRODUCED_21')|_T]. | |
767 | +[E|_T] > [[E]|_T]. | |
768 | +_T > [[]|_T]. | |
769 | +[As, E|_T] > [[E|As]|_T]. | |
770 | +[A,C|_T] > [constraint(C,A)|_T]. | |
771 | +[H,T|_T] > [[H|T]|_T]. | |
772 | +_T > [id('X_INTRODUCED_45')|_T]. | |
773 | +_T > [id('X_INTRODUCED_22')|_T]. | |
774 | +_T > [id('X_INTRODUCED_4')|_T]. | |
775 | +_T > [id('X_INTRODUCED_1')|_T]. | |
776 | +[E|_T] > [[E]|_T]. | |
777 | +[T,H|_T] > [[H|T]|_T]. | |
778 | +[T,H|_T] > [[H|T]|_T]. | |
779 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
780 | +_T > [lit(0,int)|_T]. | |
781 | +[E|_T] > [[E]|_T]. | |
782 | +[T,H|_T] > [[H|T]|_T]. | |
783 | +[T,H|_T] > [[H|T]|_T]. | |
784 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
785 | +_T > [id('X_INTRODUCED_22')|_T]. | |
786 | +[E|_T] > [[E]|_T]. | |
787 | +_T > [[]|_T]. | |
788 | +[As, E|_T] > [[E|As]|_T]. | |
789 | +[A,C|_T] > [constraint(C,A)|_T]. | |
790 | +[H,T|_T] > [[H|T]|_T]. | |
791 | +_T > [id('X_INTRODUCED_45')|_T]. | |
792 | +_T > [id('X_INTRODUCED_23')|_T]. | |
793 | +_T > [id('X_INTRODUCED_5')|_T]. | |
794 | +_T > [id('X_INTRODUCED_2')|_T]. | |
795 | +[E|_T] > [[E]|_T]. | |
796 | +[T,H|_T] > [[H|T]|_T]. | |
797 | +[T,H|_T] > [[H|T]|_T]. | |
798 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
799 | +_T > [lit(0,int)|_T]. | |
800 | +[E|_T] > [[E]|_T]. | |
801 | +[T,H|_T] > [[H|T]|_T]. | |
802 | +[T,H|_T] > [[H|T]|_T]. | |
803 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
804 | +_T > [id('X_INTRODUCED_23')|_T]. | |
805 | +[E|_T] > [[E]|_T]. | |
806 | +_T > [[]|_T]. | |
807 | +[As, E|_T] > [[E|As]|_T]. | |
808 | +[A,C|_T] > [constraint(C,A)|_T]. | |
809 | +[H,T|_T] > [[H|T]|_T]. | |
810 | +_T > [id('X_INTRODUCED_45')|_T]. | |
811 | +_T > [id('X_INTRODUCED_28')|_T]. | |
812 | +_T > [id('X_INTRODUCED_4')|_T]. | |
813 | +_T > [id('X_INTRODUCED_0')|_T]. | |
814 | +[E|_T] > [[E]|_T]. | |
815 | +[T,H|_T] > [[H|T]|_T]. | |
816 | +[T,H|_T] > [[H|T]|_T]. | |
817 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
818 | +_T > [lit(0,int)|_T]. | |
819 | +[E|_T] > [[E]|_T]. | |
820 | +[T,H|_T] > [[H|T]|_T]. | |
821 | +[T,H|_T] > [[H|T]|_T]. | |
822 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
823 | +_T > [id('X_INTRODUCED_28')|_T]. | |
824 | +[E|_T] > [[E]|_T]. | |
825 | +_T > [[]|_T]. | |
826 | +[As, E|_T] > [[E|As]|_T]. | |
827 | +[A,C|_T] > [constraint(C,A)|_T]. | |
828 | +[H,T|_T] > [[H|T]|_T]. | |
829 | +_T > [id('X_INTRODUCED_45')|_T]. | |
830 | +_T > [id('X_INTRODUCED_29')|_T]. | |
831 | +_T > [id('X_INTRODUCED_5')|_T]. | |
832 | +_T > [id('X_INTRODUCED_1')|_T]. | |
833 | +[E|_T] > [[E]|_T]. | |
834 | +[T,H|_T] > [[H|T]|_T]. | |
835 | +[T,H|_T] > [[H|T]|_T]. | |
836 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
837 | +_T > [lit(0,int)|_T]. | |
838 | +[E|_T] > [[E]|_T]. | |
839 | +[T,H|_T] > [[H|T]|_T]. | |
840 | +[T,H|_T] > [[H|T]|_T]. | |
841 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
842 | +_T > [id('X_INTRODUCED_29')|_T]. | |
843 | +[E|_T] > [[E]|_T]. | |
844 | +_T > [[]|_T]. | |
845 | +[As, E|_T] > [[E|As]|_T]. | |
846 | +[A,C|_T] > [constraint(C,A)|_T]. | |
847 | +[H,T|_T] > [[H|T]|_T]. | |
848 | +_T > [id('X_INTRODUCED_45')|_T]. | |
849 | +_T > [id('X_INTRODUCED_35')|_T]. | |
850 | +_T > [id('X_INTRODUCED_5')|_T]. | |
851 | +_T > [id('X_INTRODUCED_0')|_T]. | |
852 | +[E|_T] > [[E]|_T]. | |
853 | +[T,H|_T] > [[H|T]|_T]. | |
854 | +[T,H|_T] > [[H|T]|_T]. | |
855 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
856 | +_T > [lit(0,int)|_T]. | |
857 | +[E|_T] > [[E]|_T]. | |
858 | +[T,H|_T] > [[H|T]|_T]. | |
859 | +[T,H|_T] > [[H|T]|_T]. | |
860 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
861 | +_T > [id('X_INTRODUCED_35')|_T]. | |
862 | +[E|_T] > [[E]|_T]. | |
863 | +_T > [[]|_T]. | |
864 | +[As, E|_T] > [[E|As]|_T]. | |
865 | +[A,C|_T] > [constraint(C,A)|_T]. | |
866 | +[H,T|_T] > [[H|T]|_T]. | |
867 | +_T > [id('X_INTRODUCED_42')|_T]. | |
868 | +_T > [id('X_INTRODUCED_7')|_T]. | |
869 | +_T > [id('X_INTRODUCED_8')|_T]. | |
870 | +[E|_T] > [[E]|_T]. | |
871 | +[T,H|_T] > [[H|T]|_T]. | |
872 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
873 | +_T > [lit(0,int)|_T]. | |
874 | +[E|_T] > [[E]|_T]. | |
875 | +[T,H|_T] > [[H|T]|_T]. | |
876 | +[T,H|_T] > [[H|T]|_T]. | |
877 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
878 | +_T > [[]|_T]. | |
879 | +[A,C|_T] > [constraint(C,A)|_T]. | |
880 | +[H,T|_T] > [[H|T]|_T]. | |
881 | +_T > [id('X_INTRODUCED_42')|_T]. | |
882 | +_T > [id('X_INTRODUCED_7')|_T]. | |
883 | +_T > [id('X_INTRODUCED_9')|_T]. | |
884 | +[E|_T] > [[E]|_T]. | |
885 | +[T,H|_T] > [[H|T]|_T]. | |
886 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
887 | +_T > [lit(0,int)|_T]. | |
888 | +[E|_T] > [[E]|_T]. | |
889 | +[T,H|_T] > [[H|T]|_T]. | |
890 | +[T,H|_T] > [[H|T]|_T]. | |
891 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
892 | +_T > [[]|_T]. | |
893 | +[A,C|_T] > [constraint(C,A)|_T]. | |
894 | +[H,T|_T] > [[H|T]|_T]. | |
895 | +_T > [id('X_INTRODUCED_42')|_T]. | |
896 | +_T > [id('X_INTRODUCED_7')|_T]. | |
897 | +_T > [id('X_INTRODUCED_10')|_T]. | |
898 | +[E|_T] > [[E]|_T]. | |
899 | +[T,H|_T] > [[H|T]|_T]. | |
900 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
901 | +_T > [lit(0,int)|_T]. | |
902 | +[E|_T] > [[E]|_T]. | |
903 | +[T,H|_T] > [[H|T]|_T]. | |
904 | +[T,H|_T] > [[H|T]|_T]. | |
905 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
906 | +_T > [[]|_T]. | |
907 | +[A,C|_T] > [constraint(C,A)|_T]. | |
908 | +[H,T|_T] > [[H|T]|_T]. | |
909 | +_T > [id('X_INTRODUCED_42')|_T]. | |
910 | +_T > [id('X_INTRODUCED_7')|_T]. | |
911 | +_T > [id('X_INTRODUCED_11')|_T]. | |
912 | +[E|_T] > [[E]|_T]. | |
913 | +[T,H|_T] > [[H|T]|_T]. | |
914 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
915 | +_T > [lit(0,int)|_T]. | |
916 | +[E|_T] > [[E]|_T]. | |
917 | +[T,H|_T] > [[H|T]|_T]. | |
918 | +[T,H|_T] > [[H|T]|_T]. | |
919 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
920 | +_T > [[]|_T]. | |
921 | +[A,C|_T] > [constraint(C,A)|_T]. | |
922 | +[H,T|_T] > [[H|T]|_T]. | |
923 | +_T > [id('X_INTRODUCED_42')|_T]. | |
924 | +_T > [id('X_INTRODUCED_8')|_T]. | |
925 | +_T > [id('X_INTRODUCED_9')|_T]. | |
926 | +[E|_T] > [[E]|_T]. | |
927 | +[T,H|_T] > [[H|T]|_T]. | |
928 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
929 | +_T > [lit(0,int)|_T]. | |
930 | +[E|_T] > [[E]|_T]. | |
931 | +[T,H|_T] > [[H|T]|_T]. | |
932 | +[T,H|_T] > [[H|T]|_T]. | |
933 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
934 | +_T > [[]|_T]. | |
935 | +[A,C|_T] > [constraint(C,A)|_T]. | |
936 | +[H,T|_T] > [[H|T]|_T]. | |
937 | +_T > [id('X_INTRODUCED_42')|_T]. | |
938 | +_T > [id('X_INTRODUCED_8')|_T]. | |
939 | +_T > [id('X_INTRODUCED_10')|_T]. | |
940 | +[E|_T] > [[E]|_T]. | |
941 | +[T,H|_T] > [[H|T]|_T]. | |
942 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
943 | +_T > [lit(0,int)|_T]. | |
944 | +[E|_T] > [[E]|_T]. | |
945 | +[T,H|_T] > [[H|T]|_T]. | |
946 | +[T,H|_T] > [[H|T]|_T]. | |
947 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
948 | +_T > [[]|_T]. | |
949 | +[A,C|_T] > [constraint(C,A)|_T]. | |
950 | +[H,T|_T] > [[H|T]|_T]. | |
951 | +_T > [id('X_INTRODUCED_42')|_T]. | |
952 | +_T > [id('X_INTRODUCED_8')|_T]. | |
953 | +_T > [id('X_INTRODUCED_11')|_T]. | |
954 | +[E|_T] > [[E]|_T]. | |
955 | +[T,H|_T] > [[H|T]|_T]. | |
956 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
957 | +_T > [lit(0,int)|_T]. | |
958 | +[E|_T] > [[E]|_T]. | |
959 | +[T,H|_T] > [[H|T]|_T]. | |
960 | +[T,H|_T] > [[H|T]|_T]. | |
961 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
962 | +_T > [[]|_T]. | |
963 | +[A,C|_T] > [constraint(C,A)|_T]. | |
964 | +[H,T|_T] > [[H|T]|_T]. | |
965 | +_T > [id('X_INTRODUCED_42')|_T]. | |
966 | +_T > [id('X_INTRODUCED_9')|_T]. | |
967 | +_T > [id('X_INTRODUCED_10')|_T]. | |
968 | +[E|_T] > [[E]|_T]. | |
969 | +[T,H|_T] > [[H|T]|_T]. | |
970 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
971 | +_T > [lit(0,int)|_T]. | |
972 | +[E|_T] > [[E]|_T]. | |
973 | +[T,H|_T] > [[H|T]|_T]. | |
974 | +[T,H|_T] > [[H|T]|_T]. | |
975 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
976 | +_T > [[]|_T]. | |
977 | +[A,C|_T] > [constraint(C,A)|_T]. | |
978 | +[H,T|_T] > [[H|T]|_T]. | |
979 | +_T > [id('X_INTRODUCED_42')|_T]. | |
980 | +_T > [id('X_INTRODUCED_9')|_T]. | |
981 | +_T > [id('X_INTRODUCED_11')|_T]. | |
982 | +[E|_T] > [[E]|_T]. | |
983 | +[T,H|_T] > [[H|T]|_T]. | |
984 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
985 | +_T > [lit(0,int)|_T]. | |
986 | +[E|_T] > [[E]|_T]. | |
987 | +[T,H|_T] > [[H|T]|_T]. | |
988 | +[T,H|_T] > [[H|T]|_T]. | |
989 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
990 | +_T > [[]|_T]. | |
991 | +[A,C|_T] > [constraint(C,A)|_T]. | |
992 | +[H,T|_T] > [[H|T]|_T]. | |
993 | +_T > [id('X_INTRODUCED_42')|_T]. | |
994 | +_T > [id('X_INTRODUCED_10')|_T]. | |
995 | +_T > [id('X_INTRODUCED_11')|_T]. | |
996 | +[E|_T] > [[E]|_T]. | |
997 | +[T,H|_T] > [[H|T]|_T]. | |
998 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
999 | +_T > [lit(0,int)|_T]. | |
1000 | +[E|_T] > [[E]|_T]. | |
1001 | +[T,H|_T] > [[H|T]|_T]. | |
1002 | +[T,H|_T] > [[H|T]|_T]. | |
1003 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1004 | +_T > [[]|_T]. | |
1005 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1006 | +[H,T|_T] > [[H|T]|_T]. | |
1007 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1008 | +_T > [id('X_INTRODUCED_14')|_T]. | |
1009 | +_T > [id('X_INTRODUCED_15')|_T]. | |
1010 | +[E|_T] > [[E]|_T]. | |
1011 | +[T,H|_T] > [[H|T]|_T]. | |
1012 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1013 | +_T > [lit(0,int)|_T]. | |
1014 | +[E|_T] > [[E]|_T]. | |
1015 | +[T,H|_T] > [[H|T]|_T]. | |
1016 | +[T,H|_T] > [[H|T]|_T]. | |
1017 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1018 | +_T > [[]|_T]. | |
1019 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1020 | +[H,T|_T] > [[H|T]|_T]. | |
1021 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1022 | +_T > [id('X_INTRODUCED_14')|_T]. | |
1023 | +_T > [id('X_INTRODUCED_16')|_T]. | |
1024 | +[E|_T] > [[E]|_T]. | |
1025 | +[T,H|_T] > [[H|T]|_T]. | |
1026 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1027 | +_T > [lit(0,int)|_T]. | |
1028 | +[E|_T] > [[E]|_T]. | |
1029 | +[T,H|_T] > [[H|T]|_T]. | |
1030 | +[T,H|_T] > [[H|T]|_T]. | |
1031 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1032 | +_T > [[]|_T]. | |
1033 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1034 | +[H,T|_T] > [[H|T]|_T]. | |
1035 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1036 | +_T > [id('X_INTRODUCED_14')|_T]. | |
1037 | +_T > [id('X_INTRODUCED_17')|_T]. | |
1038 | +[E|_T] > [[E]|_T]. | |
1039 | +[T,H|_T] > [[H|T]|_T]. | |
1040 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1041 | +_T > [lit(0,int)|_T]. | |
1042 | +[E|_T] > [[E]|_T]. | |
1043 | +[T,H|_T] > [[H|T]|_T]. | |
1044 | +[T,H|_T] > [[H|T]|_T]. | |
1045 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1046 | +_T > [[]|_T]. | |
1047 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1048 | +[H,T|_T] > [[H|T]|_T]. | |
1049 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1050 | +_T > [id('X_INTRODUCED_15')|_T]. | |
1051 | +_T > [id('X_INTRODUCED_16')|_T]. | |
1052 | +[E|_T] > [[E]|_T]. | |
1053 | +[T,H|_T] > [[H|T]|_T]. | |
1054 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1055 | +_T > [lit(0,int)|_T]. | |
1056 | +[E|_T] > [[E]|_T]. | |
1057 | +[T,H|_T] > [[H|T]|_T]. | |
1058 | +[T,H|_T] > [[H|T]|_T]. | |
1059 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1060 | +_T > [[]|_T]. | |
1061 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1062 | +[H,T|_T] > [[H|T]|_T]. | |
1063 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1064 | +_T > [id('X_INTRODUCED_15')|_T]. | |
1065 | +_T > [id('X_INTRODUCED_17')|_T]. | |
1066 | +[E|_T] > [[E]|_T]. | |
1067 | +[T,H|_T] > [[H|T]|_T]. | |
1068 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1069 | +_T > [lit(0,int)|_T]. | |
1070 | +[E|_T] > [[E]|_T]. | |
1071 | +[T,H|_T] > [[H|T]|_T]. | |
1072 | +[T,H|_T] > [[H|T]|_T]. | |
1073 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1074 | +_T > [[]|_T]. | |
1075 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1076 | +[H,T|_T] > [[H|T]|_T]. | |
1077 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1078 | +_T > [id('X_INTRODUCED_16')|_T]. | |
1079 | +_T > [id('X_INTRODUCED_17')|_T]. | |
1080 | +[E|_T] > [[E]|_T]. | |
1081 | +[T,H|_T] > [[H|T]|_T]. | |
1082 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1083 | +_T > [lit(0,int)|_T]. | |
1084 | +[E|_T] > [[E]|_T]. | |
1085 | +[T,H|_T] > [[H|T]|_T]. | |
1086 | +[T,H|_T] > [[H|T]|_T]. | |
1087 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1088 | +_T > [[]|_T]. | |
1089 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1090 | +[H,T|_T] > [[H|T]|_T]. | |
1091 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1092 | +_T > [id('X_INTRODUCED_21')|_T]. | |
1093 | +_T > [id('X_INTRODUCED_22')|_T]. | |
1094 | +[E|_T] > [[E]|_T]. | |
1095 | +[T,H|_T] > [[H|T]|_T]. | |
1096 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1097 | +_T > [lit(0,int)|_T]. | |
1098 | +[E|_T] > [[E]|_T]. | |
1099 | +[T,H|_T] > [[H|T]|_T]. | |
1100 | +[T,H|_T] > [[H|T]|_T]. | |
1101 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1102 | +_T > [[]|_T]. | |
1103 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1104 | +[H,T|_T] > [[H|T]|_T]. | |
1105 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1106 | +_T > [id('X_INTRODUCED_21')|_T]. | |
1107 | +_T > [id('X_INTRODUCED_23')|_T]. | |
1108 | +[E|_T] > [[E]|_T]. | |
1109 | +[T,H|_T] > [[H|T]|_T]. | |
1110 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1111 | +_T > [lit(0,int)|_T]. | |
1112 | +[E|_T] > [[E]|_T]. | |
1113 | +[T,H|_T] > [[H|T]|_T]. | |
1114 | +[T,H|_T] > [[H|T]|_T]. | |
1115 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1116 | +_T > [[]|_T]. | |
1117 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1118 | +[H,T|_T] > [[H|T]|_T]. | |
1119 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1120 | +_T > [id('X_INTRODUCED_22')|_T]. | |
1121 | +_T > [id('X_INTRODUCED_23')|_T]. | |
1122 | +[E|_T] > [[E]|_T]. | |
1123 | +[T,H|_T] > [[H|T]|_T]. | |
1124 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1125 | +_T > [lit(0,int)|_T]. | |
1126 | +[E|_T] > [[E]|_T]. | |
1127 | +[T,H|_T] > [[H|T]|_T]. | |
1128 | +[T,H|_T] > [[H|T]|_T]. | |
1129 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1130 | +_T > [[]|_T]. | |
1131 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1132 | +[H,T|_T] > [[H|T]|_T]. | |
1133 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1134 | +_T > [id('X_INTRODUCED_28')|_T]. | |
1135 | +_T > [id('X_INTRODUCED_29')|_T]. | |
1136 | +[E|_T] > [[E]|_T]. | |
1137 | +[T,H|_T] > [[H|T]|_T]. | |
1138 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1139 | +_T > [lit(0,int)|_T]. | |
1140 | +[E|_T] > [[E]|_T]. | |
1141 | +[T,H|_T] > [[H|T]|_T]. | |
1142 | +[T,H|_T] > [[H|T]|_T]. | |
1143 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | |
1144 | +_T > [[]|_T]. | |
1145 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1146 | +[H,T|_T] > [[H|T]|_T]. | |
1147 | +_T > [id('X_INTRODUCED_42')|_T]. | |
1148 | +_T > [id('X_INTRODUCED_0')|_T]. | |
1149 | +_T > [id('X_INTRODUCED_5')|_T]. | |
1150 | +[E|_T] > [[E]|_T]. | |
1151 | +[T,H|_T] > [[H|T]|_T]. | |
1152 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1153 | +_T > [lit(-1,int)|_T]. | |
1154 | +[E|_T] > [[E]|_T]. | |
1155 | +[T,H|_T] > [[H|T]|_T]. | |
1156 | +[T,H|_T] > [[H|T]|_T]. | |
1157 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_le'|AL]. | |
1158 | +_T > [[]|_T]. | |
1159 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1160 | +[H,T|_T] > [[H|T]|_T]. | |
1161 | +_T > [id('X_INTRODUCED_70')|_T]. | |
1162 | +_T > [id('X_INTRODUCED_8')|_T]. | |
1163 | +_T > [id('X_INTRODUCED_21')|_T]. | |
1164 | +_T > [id('X_INTRODUCED_14')|_T]. | |
1165 | +_T > [id('X_INTRODUCED_15')|_T]. | |
1166 | +[E|_T] > [[E]|_T]. | |
1167 | +[T,H|_T] > [[H|T]|_T]. | |
1168 | +[T,H|_T] > [[H|T]|_T]. | |
1169 | +[T,H|_T] > [[H|T]|_T]. | |
1170 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1171 | +_T > [lit(0,int)|_T]. | |
1172 | +[E|_T] > [[E]|_T]. | |
1173 | +[T,H|_T] > [[H|T]|_T]. | |
1174 | +[T,H|_T] > [[H|T]|_T]. | |
1175 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
1176 | +_T > [[]|_T]. | |
1177 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1178 | +[H,T|_T] > [[H|T]|_T]. | |
1179 | +_T > [id('X_INTRODUCED_70')|_T]. | |
1180 | +_T > [id('X_INTRODUCED_9')|_T]. | |
1181 | +_T > [id('X_INTRODUCED_22')|_T]. | |
1182 | +_T > [id('X_INTRODUCED_15')|_T]. | |
1183 | +_T > [id('X_INTRODUCED_16')|_T]. | |
1184 | +[E|_T] > [[E]|_T]. | |
1185 | +[T,H|_T] > [[H|T]|_T]. | |
1186 | +[T,H|_T] > [[H|T]|_T]. | |
1187 | +[T,H|_T] > [[H|T]|_T]. | |
1188 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1189 | +_T > [lit(0,int)|_T]. | |
1190 | +[E|_T] > [[E]|_T]. | |
1191 | +[T,H|_T] > [[H|T]|_T]. | |
1192 | +[T,H|_T] > [[H|T]|_T]. | |
1193 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
1194 | +_T > [[]|_T]. | |
1195 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1196 | +[H,T|_T] > [[H|T]|_T]. | |
1197 | +_T > [id('X_INTRODUCED_70')|_T]. | |
1198 | +_T > [id('X_INTRODUCED_10')|_T]. | |
1199 | +_T > [id('X_INTRODUCED_23')|_T]. | |
1200 | +_T > [id('X_INTRODUCED_16')|_T]. | |
1201 | +_T > [id('X_INTRODUCED_17')|_T]. | |
1202 | +[E|_T] > [[E]|_T]. | |
1203 | +[T,H|_T] > [[H|T]|_T]. | |
1204 | +[T,H|_T] > [[H|T]|_T]. | |
1205 | +[T,H|_T] > [[H|T]|_T]. | |
1206 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1207 | +_T > [lit(0,int)|_T]. | |
1208 | +[E|_T] > [[E]|_T]. | |
1209 | +[T,H|_T] > [[H|T]|_T]. | |
1210 | +[T,H|_T] > [[H|T]|_T]. | |
1211 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
1212 | +_T > [[]|_T]. | |
1213 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1214 | +[H,T|_T] > [[H|T]|_T]. | |
1215 | +_T > [id('X_INTRODUCED_70')|_T]. | |
1216 | +_T > [id('X_INTRODUCED_15')|_T]. | |
1217 | +_T > [id('X_INTRODUCED_28')|_T]. | |
1218 | +_T > [id('X_INTRODUCED_21')|_T]. | |
1219 | +_T > [id('X_INTRODUCED_22')|_T]. | |
1220 | +[E|_T] > [[E]|_T]. | |
1221 | +[T,H|_T] > [[H|T]|_T]. | |
1222 | +[T,H|_T] > [[H|T]|_T]. | |
1223 | +[T,H|_T] > [[H|T]|_T]. | |
1224 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1225 | +_T > [lit(0,int)|_T]. | |
1226 | +[E|_T] > [[E]|_T]. | |
1227 | +[T,H|_T] > [[H|T]|_T]. | |
1228 | +[T,H|_T] > [[H|T]|_T]. | |
1229 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
1230 | +_T > [[]|_T]. | |
1231 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1232 | +[H,T|_T] > [[H|T]|_T]. | |
1233 | +_T > [id('X_INTRODUCED_70')|_T]. | |
1234 | +_T > [id('X_INTRODUCED_16')|_T]. | |
1235 | +_T > [id('X_INTRODUCED_29')|_T]. | |
1236 | +_T > [id('X_INTRODUCED_22')|_T]. | |
1237 | +_T > [id('X_INTRODUCED_23')|_T]. | |
1238 | +[E|_T] > [[E]|_T]. | |
1239 | +[T,H|_T] > [[H|T]|_T]. | |
1240 | +[T,H|_T] > [[H|T]|_T]. | |
1241 | +[T,H|_T] > [[H|T]|_T]. | |
1242 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1243 | +_T > [lit(0,int)|_T]. | |
1244 | +[E|_T] > [[E]|_T]. | |
1245 | +[T,H|_T] > [[H|T]|_T]. | |
1246 | +[T,H|_T] > [[H|T]|_T]. | |
1247 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
1248 | +_T > [[]|_T]. | |
1249 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1250 | +[H,T|_T] > [[H|T]|_T]. | |
1251 | +_T > [id('X_INTRODUCED_70')|_T]. | |
1252 | +_T > [id('X_INTRODUCED_22')|_T]. | |
1253 | +_T > [id('X_INTRODUCED_35')|_T]. | |
1254 | +_T > [id('X_INTRODUCED_28')|_T]. | |
1255 | +_T > [id('X_INTRODUCED_29')|_T]. | |
1256 | +[E|_T] > [[E]|_T]. | |
1257 | +[T,H|_T] > [[H|T]|_T]. | |
1258 | +[T,H|_T] > [[H|T]|_T]. | |
1259 | +[T,H|_T] > [[H|T]|_T]. | |
1260 | +[Es|_T] > [lit(Es,array(_))|_T]. | |
1261 | +_T > [lit(0,int)|_T]. | |
1262 | +[E|_T] > [[E]|_T]. | |
1263 | +[T,H|_T] > [[H|T]|_T]. | |
1264 | +[T,H|_T] > [[H|T]|_T]. | |
1265 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | |
1266 | +_T > [[]|_T]. | |
1267 | +[A,C|_T] > [constraint(C,A)|_T]. | |
1268 | +[H,T|_T] > [[H|T]|_T]. | |
1269 | +[X|_T] > [constrs(X)|_T]. | |
1270 | +_T > [id('costas')|_T]. | |
1271 | +_T > [id('input_order')|_T]. | |
1272 | +_T > [id('indomain_min')|_T]. | |
1273 | +_T > [id('complete')|_T]. | |
1274 | +[E|_T] > [[E]|_T]. | |
1275 | +[T,H|_T] > [[H|T]|_T]. | |
1276 | +[T,H|_T] > [[H|T]|_T]. | |
1277 | +[T,H|_T] > [[H|T]|_T]. | |
1278 | +_T > [[]|_T]. | |
1279 | +[As, E|_T] > [[E|As]|_T]. | |
1280 | +_T > [satisfy|_T]. | |
1281 | +[S,A|_T] > [solve(S, A)|_T]. | |
1282 | +[S,C,V,P|_T] > [fzn(P, V, C, S)|_T]. | ... | ... |
fzn-parser/fznslurp.pl
... | ... | @@ -13,11 +13,16 @@ main([]). |
13 | 13 | |
14 | 14 | action(load(F)) :- !, see(F), action(load), seen. |
15 | 15 | action(load) :- !, load_ast(AST), g_assign(ast, AST). |
16 | +action(dump(A)) :- !, dump_ast(A). | |
16 | 17 | action(dump) :- !, g_read(ast, AST), dump_ast(AST). |
17 | 18 | action(name) :- !, |
18 | 19 | g_read(ast, AST), |
19 | - sa_names(AST, NAST), | |
20 | - g_assign(ast, NAST). | |
20 | + sa_names(AST, NAST, ST), | |
21 | + g_assign(ast_n, NAST+ST). | |
22 | +action(type) :- !, | |
23 | + g_read(ast_n, AST+ST), | |
24 | + sa_types(AST, ST), | |
25 | + g_assign(ast_t, AST+ST). | |
21 | 26 | action(halt) :- !, halt. |
22 | 27 | action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false). |
23 | 28 | action(debug) :- !, g_assign(ast_debug, true). | ... | ... |
fzn-parser/semantic.pl
1 | 1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= |
2 | 2 | |
3 | +% == NAMES ==================================================================== | |
4 | + | |
5 | +% -- sa_names(AST_IN, AST_OUT, ST) -------------------------------------------- | |
6 | +% | |
7 | +% sa_names/3: do name analysis (replace identifiers by their dict. entry) | |
8 | + | |
3 | 9 | sa_names(fzn(preds(IP), vars(IV), constrs(IC), SOLVE), |
4 | - fzn(preds(OP), vars(OV), constrs(OC), SOLVE, ST)) :- | |
10 | + fzn(preds(OP), vars(OV), constrs(OC), SOLVE), ST) :- | |
5 | 11 | sa_n_traverse(IP, OP, ST), % predicates |
6 | 12 | sa_n_traverse(IV, OV, ST), % variables |
7 | 13 | sa_n_traverse(IC, OC, ST). % constraints |
... | ... | @@ -17,14 +23,22 @@ sa_n_traverse([_|Ns], NNs, ST) :- !, % ignore failing nodes (beware!) |
17 | 23 | |
18 | 24 | sa_n_traverse(N, NN, ST) :- sa_n(N, NN, ST). % non-list case |
19 | 25 | |
26 | + | |
20 | 27 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
21 | 28 | % |
22 | 29 | % sa_n(AST_N_IN, AST_N_OUT, ST) |
23 | 30 | % |
31 | +% arguments: | |
32 | +% AST_N_IN - input AST node | |
33 | +% AST_N_OUT - output AST node (same structure, rewritten) | |
34 | +% ST - symbol table (gets extended) | |
35 | +% | |
24 | 36 | % handle all AST cases: |
25 | -% var(N,T,I,A) - variable declaration | |
26 | -% lit(V,T) - literal with type | |
27 | -% | |
37 | +% var(N,T,I,A) - Name, Type, Initializer, Attrib -- variable declaration | |
38 | +% lit(V,T) - Value, Type -- literal with type | |
39 | +% id(N) - Name -- identifier | |
40 | +% constraint(C,A) - Constraint, Attrib -- constraint | |
41 | +% | |
28 | 42 | |
29 | 43 | sa_n(var(N,T,I,A), V, ST) :- |
30 | 44 | sa_attribs(A, AX, ST), |
... | ... | @@ -32,18 +46,58 @@ sa_n(var(N,T,I,A), V, ST) :- |
32 | 46 | V=var(N,T,NI,AX), % new AST node becomes ST entry value |
33 | 47 | st_insert(ST, N, V). |
34 | 48 | |
49 | + | |
35 | 50 | sa_n(lit(E,array(T)), lit(NE, array(T)), ST) :- |
36 | 51 | sa_n_traverse(E, NE, ST). |
37 | 52 | sa_n(lit(E,int), lit(E,int), _ST). |
38 | 53 | sa_n(lit(E,float), lit(E,float), _ST). |
39 | 54 | sa_n(lit(E,string), lit(E,string), _ST). |
40 | 55 | |
56 | + | |
41 | 57 | sa_n(id(N), V, ST) :- st_lookup(ST, N, V), !. |
42 | -sa_n(id(N), V, ST) :- V=id(N,_), % type as yet unknown | |
58 | +sa_n(id(N), V, ST) :- V=var(N,_,_,_), % type as yet unknown | |
43 | 59 | st_insert(ST, N, V). |
44 | 60 | |
61 | + | |
62 | +sa_n(constraint(CE, AT), constraint(NCE, AT), ST) :- | |
63 | + CE=..[C|AS], | |
64 | + sa_n_traverse(AS, NAS, ST), | |
65 | + NCE=..[C|NAS]. | |
66 | + | |
45 | 67 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
46 | 68 | |
69 | +% == TYPES ==================================================================== | |
70 | + | |
71 | +% -- sa_types(AST, ST) -------------------------------------------------------- | |
72 | +% | |
73 | +% sa_types/2: do type analysis (traverse AST enforcing type correctness). | |
74 | +% as a side-effect, it will do type inference. | |
75 | + | |
76 | +sa_types(fzn(_PS, vars(VS), constrs(CS), _S), ST) :- | |
77 | + sa_t_traverse(VS, ST), | |
78 | + sa_t_traverse(CS, ST). | |
79 | + | |
80 | +% ----------------------------------------------------------------------------- | |
81 | + | |
82 | +sa_t_traverse([], _ST) :- !. | |
83 | +sa_t_traverse([N|Ns], ST) :- | |
84 | + sa_t(N, ST), !, | |
85 | + sa_t_traverse(Ns, ST). | |
86 | +sa_t_traverse([_|Ns], ST) :- !, % ignore failing nodes (beware!) | |
87 | + sa_t_traverse(Ns, ST). | |
88 | + | |
89 | +sa_t_traverse(N, ST) :- sa_t(N, ST). % non-list case | |
90 | + | |
91 | +% -- sa_t(NODE, ST) ----------------------------------------------------------- | |
92 | + | |
93 | +sa_t(var(_N,T,I,_A), _ST) :- type(I,T). | |
94 | +sa_t(lit(E,T), _ST) :- type(lit(E,T), T). | |
95 | +sa_t(constraint(CE, _AT), ST) :- | |
96 | + CE=..[_|AS], | |
97 | + sa_t_traverse(AS, ST). | |
98 | + | |
99 | +% ============================================================================= | |
100 | + | |
47 | 101 | sa_attribs([A|As], [NA|NAs], ST) :- |
48 | 102 | sa_attrib(A, NA, ST), !, |
49 | 103 | sa_attribs(As, NAs, ST). |
... | ... | @@ -55,3 +109,4 @@ sa_attribs([], [], _). |
55 | 109 | sa_attrib(id(output_var), output, _). |
56 | 110 | |
57 | 111 | % ----------------------------------------------------------------------------- |
112 | + | ... | ... |
fzn-parser/types.pl
1 | 1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= |
2 | 2 | |
3 | -% sa_type/2 - locate the TYPE field | |
3 | +% -- type(NODE, TYPE) --------------------------------------------------------- | |
4 | +% | |
5 | +% type/2: Extract type from AST node. | |
4 | 6 | |
5 | -sa_type(var(_NAME,TYPE,_INIT,_ANNOT), TYPE). | |
6 | -sa_type(constraint(_NAME)). | |
7 | +type(var(_,T,_,_), T) :- type(T). | |
8 | +type(lit(_,T), T) :- type(T). | |
9 | +type(id(_,T), T) :- type(T). | |
10 | + | |
11 | +type(lit(E,array(T)), array(T)) :- type(E, T). | |
12 | +type(lit(_,T), T) :- type(T). | |
13 | + | |
14 | +type([], _). | |
15 | +type([E|Es], T) :- type(E, T), type(Es, T). | |
16 | + | |
17 | +% -- type(TYPE) --------------------------------------------------------------- | |
18 | +% | |
19 | +% type/1: generate or test valid types. | |
20 | + | |
21 | +type(int). % integer | |
22 | +type(int(_L,_U)). % integer interval | |
23 | +type(float). % floating point | |
24 | +type(float(_L,_U)). % floating point interval | |
25 | +type(string). % string | |
26 | +type(array(T,1,_U)) :- type(T). % array of type | ... | ... |