Preserving Termination of Tabled Logic Programs While Unfolding

Click on the title to obtain a gzip-ed PostScript version of the paper (64K).


We provide a first investigation of the specialisation and transformation of tabled logic programs through unfolding. We show that - surprisingly - unfolding, even determinate, can worsen the termination behaviour in the context of tabling. We therefore establish two criteria which ensure that such mishaps are avoided. We also briefly discuss the influence of some other transformation techniques on the termination and efficiency of tabled logic programs.