摘要翻译:
逻辑程序的终止分析有两种方法:“转换”法和“直接”法。直接方法在逻辑程序的基础上直接证明终止。转换方法将逻辑程序转换为术语重写系统(TRS),然后分析结果TRS的终止。因此,转换方法使得以前为TRSs开发的所有方法也可用于逻辑程序。然而,大多数现有转换的适用性是相当有限的,因为它们只能用于逻辑程序的某些子类。(大多数都局限于成熟的程序。)本文对这些变换进行了改进,使其适用于任何确定的逻辑程序。为了用TRSs模拟逻辑程序的行为,我们稍微修改了重写的概念,允许无限项。我们证明了我们的变换在TRSs中的结果,这确实适合于自动终止分析。与大多数终止逻辑程序的方法不同,我们的技术也适用于无发生检查的逻辑程序设计,这在实践中是典型的。我们在终止证明程序Aprow中实现了我们的方法,并在大量示例中成功地对其进行了评估。
---
英文标题:
《Automated Termination Proofs for Logic Programs by Term Rewriting》
---
作者:
P. Schneider-Kamp, J. Giesl, A. Serebrenik, R. Thiemann
---
最新提交年份:
2008
---
分类信息:
一级分类:Computer Science 计算机科学
二级分类:Logic in Computer Science 计算机科学中的逻辑
分类描述:Covers all aspects of logic in computer science, including finite model theory, logics of programs, modal logic, and program verification. Programming language semantics should have Programming Languages as the primary subject area. Roughly includes material in ACM Subject Classes D.2.4, F.3.1, F.4.0, F.4.1, and F.4.2; some material in F.4.3 (formal languages) may also be appropriate here, although Computational Complexity is typically the more appropriate subject area.
涵盖计算机科学中逻辑的所有方面,包括有限模型理论,程序逻辑,模态逻辑和程序验证。程序设计语言语义学应该把程序设计语言作为主要的学科领域。大致包括ACM学科类D.2.4、F.3.1、F.4.0、F.4.1和F.4.2中的材料;F.4.3(形式语言)中的一些材料在这里也可能是合适的,尽管计算复杂性通常是更合适的主题领域。
--
一级分类:Computer Science 计算机科学
二级分类:Artificial Intelligence
人工智能
分类描述:Covers all areas of AI except Vision, Robotics, Machine Learning, Multiagent Systems, and Computation and Language (Natural Language Processing), which have separate subject areas. In particular, includes Expert Systems, Theorem Proving (although this may overlap with Logic in Computer Science), Knowledge Representation, Planning, and Uncertainty in AI. Roughly includes material in ACM Subject Classes I.2.0, I.2.1, I.2.3, I.2.4, I.2.8, and I.2.11.
涵盖了人工智能的所有领域,除了视觉、机器人、机器学习、多智能体系统以及计算和语言(自然语言处理),这些领域有独立的学科领域。特别地,包括专家系统,定理证明(尽管这可能与计算机科学中的逻辑重叠),知识表示,规划,和人工智能中的不确定性。大致包括ACM学科类I.2.0、I.2.1、I.2.3、I.2.4、I.2.8和I.2.11中的材料。
--
一级分类:Computer Science 计算机科学
二级分类:Programming Languages 程序设计语言
分类描述:Covers programming language semantics, language features, programming approaches (such as object-oriented programming, functional programming, logic programming). Also includes material on compilers oriented towards programming languages; other material on compilers may be more appropriate in Architecture (AR). Roughly includes material in ACM Subject Classes D.1 and D.3.
涵盖程序设计语言语义,语言特性,程序设计方法(如面向对象程序设计,函数式程序设计,逻辑程序设计)。还包括面向编程语言的编译器的材料;关于编译器的其他材料可能在体系结构(AR)中更合适。大致包括ACM主题课程D.1和D.3中的材料。
--
---
英文摘要:
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.
---
PDF链接:
https://arxiv.org/pdf/0803.0014