362:
337:
47:
Tabling consists of maintaining a table of goals that are called during execution, along with their answers, and then using the answers directly when the same goal is subsequently called. Tabling gives a guarantee of total correctness for any (pure) Prolog program without function symbols.
344: from this source, which is by PHILIPP KÖRNER, MICHAEL LEUSCHEL, JOÃO BARBOSA, VÍTOR SANTOS COSTA, VERÓNICA DAHL, MANUEL V. HERMENEGILDO, JOSE F. MORALES, JAN WIELEMAKER, DANIEL DIAZ, SALVADOR ABREU and GIOVANNI CIATTO available under the
99:
Körner, Philipp; Leuschel, Michael; Barbosa, Joao; Costa, Vitor Santos; Dahl, Veronica; Hermengildo, Manuel V.; Morales, Jose F.; Wielemaker, Jan; Diaz, Daniel; Abreu, Salvador; Ciatto, Giovanni (2022-05-17).
55:
or linear tabling. In a multi-threaded Prolog system tabling results could be kept private to a thread or shared among all threads. And in incremental tabling, tabling might react to changes.
341:
70:
David S. Warren and his students adopted this technique with the motivation of changing Prolog’s semantics from the completion semantics to the minimal model semantics. Tabled
63:
The adaptation of tabling into a logic programming proof procedure, under the name of Earley deduction, dates from an unpublished note from 1975 by
44:. It consists of storing in a table (a.k.a. chart in the context of parsing) partial successful analyses that might come in handy for future reuse.
213:
432:
403:
67:. An interpretation method based on tabling was later developed by Tamaki and Sato, modelled as a refinement of SLD-resolution.
315:
240:
195:
Proceedings of the 5th ACM SIGPLAN International
Conference on Principles and Practice of Declarative Programming
31:
427:
396:
422:
377:
389:
17:
302:
Rao, Prasad; Sagonas, Konstantinos; Swift, Terrance; Warren, David S.; Freire, Juliana (1997),
79:
369:
187:
51:
Tabling can be extended in various directions. It can support recursive predicates through
345:
336:
8:
168:
64:
311:
284:
236:
133:
172:
40:
is a technique first developed for natural language processing, where it was called
274:
160:
123:
113:
361:
373:
101:
82:, a three-valued semantics that represents values for true, false and unknown.
41:
303:
228:
164:
118:
416:
288:
137:
262:
279:
261:
Sagonas, Konstantinos; Swift, Terrance; Warren, David S. (1994-05-24).
128:
310:, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 430–440,
235:, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 84–98,
304:"XSB: A system for efficiently computing well-founded semantics"
71:
30:"Tabling" redirects here. For the parliamentary procedure, see
151:
Swift, T. (1999). "Tabling for non‐monotonic programming".
98:
75:
301:
208:
Pereira, Fernando C. N.; Shieber, Stuart M. (1987).
78:. This resulted in a complete implementation of the
260:
188:"Efficient Fixpoint Computation in Linear Tabling"
153:Annals of Mathematics and Artificial Intelligence
414:
214:Center for the Study of Language and Information
263:"XSB as an efficient deductive database engine"
207:
397:
308:Logic Programming And Nonmonotonic Reasoning
404:
390:
226:
278:
127:
117:
185:
106:Theory and Practice of Logic Programming
27:Technique in natural language processing
14:
415:
227:Tamaki, Hisao; Sato, Taisuke (1986),
186:Zhou, Neng-Fa; Sato, Taisuke (2003).
150:
356:
210:Prolog and Natural Language Analysis
24:
102:"Fifty Years of Prolog and Beyond"
25:
444:
233:Lecture Notes in Computer Science
433:Programming language topic stubs
360:
340: This article incorporates
335:
229:"OLD resolution with tabulation"
32:Table (parliamentary procedure)
295:
254:
220:
201:
179:
144:
92:
13:
1:
85:
376:. You can help Knowledge by
7:
10:
449:
355:
58:
29:
119:10.1017/s1471068422000102
74:was first introduced in
165:10.1023/A:1018990308362
372:-related article is a
80:well-founded semantics
280:10.1145/191843.191927
370:programming-language
428:Dynamic programming
216:. pp. 185–210.
423:Logic programming
385:
384:
317:978-3-540-63255-9
267:ACM SIGMOD Record
242:978-3-540-16492-0
65:David H.D. Warren
16:(Redirected from
440:
406:
399:
392:
364:
357:
339:
327:
326:
325:
324:
299:
293:
292:
282:
258:
252:
251:
250:
249:
224:
218:
217:
205:
199:
198:
192:
183:
177:
176:
159:(3/4): 201–240.
148:
142:
141:
131:
121:
96:
21:
448:
447:
443:
442:
441:
439:
438:
437:
413:
412:
411:
410:
353:
331:
330:
322:
320:
318:
300:
296:
259:
255:
247:
245:
243:
225:
221:
206:
202:
190:
184:
180:
149:
145:
97:
93:
88:
61:
35:
28:
23:
22:
15:
12:
11:
5:
446:
436:
435:
430:
425:
409:
408:
401:
394:
386:
383:
382:
365:
351:
350:
329:
328:
316:
294:
273:(2): 442–453.
253:
241:
219:
200:
178:
143:
112:(6): 776–858.
90:
89:
87:
84:
60:
57:
53:SLG resolution
42:Earley parsing
26:
9:
6:
4:
3:
2:
445:
434:
431:
429:
426:
424:
421:
420:
418:
407:
402:
400:
395:
393:
388:
387:
381:
379:
375:
371:
366:
363:
359:
358:
354:
349:
347:
343:
338:
333:
332:
319:
313:
309:
305:
298:
290:
286:
281:
276:
272:
268:
264:
257:
244:
238:
234:
230:
223:
215:
211:
204:
196:
189:
182:
174:
170:
166:
162:
158:
154:
147:
139:
135:
130:
125:
120:
115:
111:
107:
103:
95:
91:
83:
81:
77:
73:
68:
66:
56:
54:
49:
45:
43:
39:
33:
19:
378:expanding it
367:
352:
334:
321:, retrieved
307:
297:
270:
266:
256:
246:, retrieved
232:
222:
212:. Stanford:
209:
203:
194:
181:
156:
152:
146:
109:
105:
94:
69:
62:
52:
50:
46:
37:
36:
129:10174/33387
417:Categories
323:2023-10-27
248:2023-10-27
197:: 275–283.
86:References
346:CC BY 4.0
289:0163-5808
138:1471-0684
348:license.
173:16695800
59:History
38:Tabling
18:Tabling
314:
287:
239:
171:
136:
72:Prolog
368:This
191:(PDF)
169:S2CID
374:stub
342:text
312:ISBN
285:ISSN
237:ISBN
134:ISSN
275:doi
161:doi
124:hdl
114:doi
76:XSB
419::
306:,
283:.
271:23
269:.
265:.
231:,
193:.
167:.
157:25
155:.
132:.
122:.
110:22
108:.
104:.
405:e
398:t
391:v
380:.
291:.
277::
175:.
163::
140:.
126::
116::
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.