Automated Termination Analysis for Logic Programs with Cut
Logic in Computer Science
2010-07-29 v1 Programming Languages
Abstract
Termination is an important and well-studied property for logic programs. However, almost all approaches for automated termination analysis focus on definite logic programs, whereas real-world Prolog programs typically use the cut operator. We introduce a novel pre-processing method which automatically transforms Prolog programs into logic programs without cuts, where termination of the cut-free program implies termination of the original program. Hence after this pre-processing, any technique for proving termination of definite logic programs can be applied. We implemented this pre-processing in our termination prover AProVE and evaluated it successfully with extensive experiments.
Cite
@article{arxiv.1007.4908,
title = {Automated Termination Analysis for Logic Programs with Cut},
author = {Peter Schneider-Kamp and Jürgen Giesl and Thomas Ströder and Alexander Serebrenik and René Thiemann},
journal= {arXiv preprint arXiv:1007.4908},
year = {2010}
}