Automated termination analysis for logic programs by term rewriting

被引:13
|
作者
Schneider-Kamp, Peter [1 ]
Giesl, Juergen [1 ]
Serebrenik, Alexander [2 ]
Thiemann, Rene [1 ]
机构
[1] Rhein Westfal TH Aachen, LuFG Informat 2, Ahornstr 55, D-52074 Aachen, Germany
[2] Eindhoven Univ Technol, Dept Math & Comp Sci, NL-5600 MB Eindhoven, Netherlands
关键词
D O I
10.1007/978-3-540-71410-1_13
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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. We show that our transformation results in TRSs which are indeed suitable for automated termination analysis. In contrast to most other methods for termination of logic programs, our technique is also sound for logic programming without occur check, which is typically used in practice. We implemented our approach in the termination prover AProVE and successfully evaluated it on a large collection of examples.
引用
收藏
页码:177 / +
页数:3
相关论文
共 50 条
  • [1] Automated Termination Proofs for Logic Programs by Term Rewriting
    Schneider-Kamp, Peter
    Giesl, Juergen
    Serebrenik, Alexander
    Thiemann, Rene
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2009, 11 (01)
  • [2] A Term Rewriting Approach to the Automated Termination Analysis of Imperative Programs
    Falke, Stephan
    Kapur, Deepak
    AUTOMATED DEDUCTION - CADE-22, 2009, 5663 : 277 - 293
  • [3] Automated termination analysis for logic programs with cut
    Schneider-Kamp, Peter
    Giesl, Juergen
    Stroeder, Thomas
    Serebrenik, Alexander
    Thiemann, Rene
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2010, 10 : 365 - 381
  • [4] AUTOMATED TERMINATION ANALYSIS OF JAVA']JAVA BYTECODE BY TERM REWRITING
    Otto, Carsten
    Brockschmidt, Marc
    von Essen, Christian
    Giesl, Juergen
    PROCEEDINGS OF THE 21ST INTERNATIONAL CONFERENCE ON REWRITING TECHNIQUES AND APPLICATIONS (RTA'10), 2010, 6 : 259 - 275
  • [5] Automated Termination Proofs for Haskell by Term Rewriting
    Giesl, Juergen
    Raffelsieper, Matthias
    Schneider-Kamp, Peter
    Swiderski, Stephan
    Thiemann, Rene
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2011, 33 (02):
  • [6] Automated termination analysis for Haskell: From term rewriting to programming languages
    Giesl, Juergen
    Swiderski, Stephan
    Schneider-Kamp, Peter
    Thiemann, Rene
    TERM REWRITING AND APPLICATIONS, PROCEEDINGS, 2006, 4098 : 297 - 312
  • [7] Non-termination in Term Rewriting and Logic Programming
    Étienne Payet
    Journal of Automated Reasoning, 2024, 68
  • [8] Non-termination in Term Rewriting and Logic Programming
    Payet, Etienne
    JOURNAL OF AUTOMATED REASONING, 2024, 68 (01)
  • [9] Termination analysis of logic programs
    Serebrenik, A
    LOGIC PROGRAMMING, PROCEEDINGS, 2003, 2916 : 507 - 508
  • [10] Automatic termination analysis of logic programs
    Lindenstrauss, N
    Sagiv, Y
    LOGIC PROGRAMMING: PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING, 1997, : 63 - 77