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 条
  • [21] Automated Termination Analysis of Polynomial Probabilistic Programs
    Moosbrugger, Marcel
    Bartocci, Ezio
    Katoen, Joost-Pieter
    Kovacs, Laura
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 491 - 518
  • [22] A General Framework for Automatic Termination Analysis of Logic Programs
    Nachum Dershowitz
    Naomi Lindenstrauss
    Yehoshua Sagiv
    Alexander Serebrenik
    Applicable Algebra in Engineering, Communication and Computing, 2001, 12 : 117 - 156
  • [23] Termination analysis of logic programs based on dependency graphs
    Nguyen, Manh Thang
    Giesl, Juergen
    Schneider-Kamp, Peter
    De Schreye, Danny
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2008, 4915 : 8 - +
  • [24] Polynomial interpretations as a basis for termination analysis of logic programs
    Nguyen, MT
    De Schreye, D
    LOGIC PROGRAMMING, PROCEEDINGS, 2005, 3668 : 311 - 325
  • [25] Reuse of results in termination analysis of typed logic programs
    Bruynooghe, M
    Codish, M
    Genaim, S
    Vanhoof, W
    STATIC ANALYSIS, PROCEEDINGS, 2002, 2477 : 477 - 492
  • [26] Constraint-based termination analysis of logic programs
    Decorte, S
    De Schreye, D
    Vandecasteele, H
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1999, 21 (06): : 1137 - 1195
  • [27] A general framework for automatic termination analysis of logic programs
    Dershowitz, N
    Lindenstrauss, N
    Sagiv, Y
    Serebrenik, A
    APPLICABLE ALGEBRA IN ENGINEERING COMMUNICATION AND COMPUTING, 2001, 12 (1-2) : 117 - 156
  • [28] Verification of CRWL programs with rewriting logic
    Cleva, Jose Miguel
    Pita, Isabel
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2006, 12 (11) : 1594 - 1617
  • [29] ∃-Universal termination of logic programs
    Ruggieri, S
    THEORETICAL COMPUTER SCIENCE, 2001, 254 (1-2) : 273 - 296
  • [30] Termination of Rewriting with and Automated Synthesis of Forbidden Patterns
    Gramlich, Bernhard
    Schernhammer, Felix
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2010, (44): : 35 - 50