A General Framework for Automatic Termination Analysis of Logic Programs
Nachum Dershowitz, Naomi Lindenstrauss, Yehoshua Sagiv, Alexander, Serebrenik

TL;DR
This paper introduces a comprehensive framework for automatically analyzing the termination of logic programs, including new methods for handling arithmetic predicates, enhancing existing tools like TermiLog.
Contribution
It presents a general theoretical framework for termination analysis, extends existing methods to handle arithmetic predicates, and proposes a practical approach for case-based termination proofs.
Findings
Proved a property relating infinite LD-trees to finite mappings.
Derived several termination theorems using dependency graphs.
Developed a new method for proving termination with arithmetic predicates.
Abstract
This paper describes a general framework for automatic termination analysis of logic programs, where we understand by ``termination'' the finitenes s of the LD-tree constructed for the program and a given query. A general property of mappings from a certain subset of the branches of an infinite LD-tree into a finite set is proved. From this result several termination theorems are derived, by using different finite sets. The first two are formulated for the predicate dependency and atom dependency graphs. Then a general result for the case of the query-mapping pairs relevant to a program is proved (cf. \cite{Sagiv,Lindenstrauss:Sagiv}). The correctness of the {\em TermiLog} system described in \cite{Lindenstrauss:Sagiv:Serebrenik} follows from it. In this system it is not possible to prove termination for programs involving arithmetic predicates, since the usual order for the integers is…
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
