Classes of Terminating Logic Programs
Dino Pedreschi, Salvatore Ruggieri, Jan-Georg Smaus

TL;DR
This paper classifies logic programs based on termination behavior under various selection rules, providing criteria for each class and establishing a hierarchy among them.
Contribution
It offers a unified classification of terminating logic programs, introduces criteria for each class, and presents a transformation from bounded nondeterminism to strong termination.
Findings
Six classes of termination behavior are identified and characterized.
Criteria for class membership are provided, often necessary and sufficient.
A hierarchy among classes is formally established.
Abstract
Termination of logic programs depends critically on the selection rule, i.e. the rule that determines which atom is selected in each resolution step. In this article, we classify programs (and queries) according to the selection rules for which they terminate. This is a survey and unified view on different approaches in the literature. For each class, we present a sufficient, for most classes even necessary, criterion for determining that a program is in that class. We study six classes: a program strongly terminates if it terminates for all selection rules; a program input terminates if it terminates for selection rules which only select atoms that are sufficiently instantiated in their input positions, so that these arguments do not get instantiated any further by the unification; a program local delay terminates if it terminates for local selection rules which only select atoms that…
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
