Author:
Mostowski Collapse, XLOG Technologies AG, Switzerland
Date:
May 15, 2026
Abstract:
The problem of tabling in logic programming radiates beyond pure
memoization into areas such as subsumption checking, fixpoint
iteration and suspension methods. Nevertheless, in this report
we are mainly occupied with the many shades of doing memoization.
One of the popular data structures to perform Prolog queries and
answers memoization, is to use tries. Tries are found in both
SWI-Prolog and XSB Prolog and we compare against these Prolog
systems. But the route of Dogelog Player is a little bit different.
Inspired by the hashCode() contract as found in Java, we have
realized a series of measures to arrive at a hash based memoization
for Prolog queries and answers.
Keywords:
Prolog, Tabled Logic Programming, SWI, XSB
Download:
unified_20260515_tabling.pdf