Automated Termination Proofs for Logic Programs by Term Rewriting
P. Schneider-Kamp, J. Giesl, A. Serebrenik, R. Thiemann

TL;DR
This paper introduces an improved transformation technique that converts any definite logic program into a term rewrite system, enabling automated termination proofs with broader applicability and practical effectiveness.
Contribution
It extends existing transformations to handle all definite logic programs and demonstrates soundness without occur check, enhancing automated termination analysis.
Findings
Successfully applied to a large collection of examples
Broader applicability to all definite logic programs
Implemented in the AProVE termination prover
Abstract
There are two kinds of approaches for termination analysis of logic programs: "transformational" and "direct" ones. Direct approaches prove termination directly on the basis of the logic program. Transformational approaches transform a logic program into a term rewrite system (TRS) and then analyze termination of the resulting TRS instead. Thus, transformational approaches make all methods previously developed for TRSs available for logic programs as well. However, the applicability of most existing transformations is quite restricted, as they can only be used for certain subclasses of logic programs. (Most of them are restricted to well-moded programs.) In this paper we improve these transformations such that they become applicable for any definite logic program. To simulate the behavior of logic programs by TRSs, we slightly modify the notion of rewriting by permitting infinite terms.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
