Skip to main content
QUICK REVIEW

[论文解读] Achieving compositionality of the stable model semantics for Smodels programs

Emilia Oikarinen, Tomi Janhunen|ArXiv.org|Sep 26, 2008
Logic, programming, and type systems被引用 11
一句话总结

本文通过采用Gaifman-Shapiro模块架构,为在稳定模型语义下的smodels程序提出了一种模块化、组合性正确的语义。它建立了模块定理,确保程序的稳定模型完全由其组件的稳定模型决定,从而通过保持等价性和组合性的忠实模块化转换函数,实现模块化推理与验证。

ABSTRACT

In this paper, a Gaifman-Shapiro-style module architecture is tailored to the case of Smodels programs under the stable model semantics. The composition of Smodels program modules is suitably limited by module conditions which ensure the compatibility of the module system with stable models. Hence the semantics of an entire Smodels program depends directly on stable models assigned to its modules. This result is formalized as a module theorem which truly strengthens Lifschitz and Turner's splitting-set theorem for the class of Smodels programs. To streamline generalizations in the future, the module theorem is first proved for normal programs and then extended to cover Smodels programs using a translation from the latter class of programs to the former class. Moreover, the respective notion of module-level equivalence, namely modular equivalence, is shown to be a proper congruence relation: it is preserved under substitutions of modules that are modularly equivalent. Principles for program decomposition are also addressed. The strongly connected components of the respective dependency graph can be exploited in order to extract a module structure when there is no explicit a priori knowledge about the modules of a program. The paper includes a practical demonstration of tools that have been developed for automated (de)composition of Smodels programs. To appear in Theory and Practice of Logic Programming.

研究动机与目标

  • 为应对答案集编程(ASP)日益增长的复杂性,支持模块化程序开发。
  • 建立smodels程序稳定模型语义的完全组合性,确保整个程序的语义直接依赖于其模块的稳定模型。
  • 避免分层或无环性等语法限制,保持知识表示的灵活性。
  • 将模块等价性形式化为同余关系,确保在模块替换下保持不变。
  • 提供实用工具与方法,通过依赖图分析实现smodels程序的自动分解。

提出的方法

  • 将Gaifman-Shapiro模块架构适配至在稳定模型语义下的smodels程序。
  • 定义模块条件,以确保与稳定模型的兼容性,从而支持组合性语义。
  • 首先为普通程序证明模块定理,然后通过将smodels程序翻译为普通逻辑程序,将其扩展至smodels程序。
  • 引入一个模块化转换函数Tr_NLP,其具有强忠实性、⊔-保持性,并保持模块等价性。
  • 利用依赖图的强连通分量(SCCs)在未提供显式模块时提取自然的模块结构。
  • 采用程序完成和环公式,以支持在模块化框架内进行推理与证明构造。

实验结果

研究问题

  • RQ1能否为smodels程序设计一个模块系统,以确保稳定模型语义的完全组合性?
  • RQ2如何定义模块等价性,使其在等价模块替换下保持不变?
  • RQ3模块必须满足何种条件,才能在组合性环境中与稳定模型语义兼容?
  • RQ4能否通过翻译方法,形式化地建立并从普通程序将模块定理扩展至smodels程序?
  • RQ5如何通过依赖图的结构分析实现smodels程序的自动分解?

主要发现

  • 正式建立了模块定理,表明在所定义的模块条件下,程序的稳定模型完全由其组件的稳定模型决定。
  • 证明了模块等价性为同余关系,即等价模块可互换而不改变整体程序的语义。
  • 证明了转换函数Tr_NLP具有强忠实性与⊔-保持性,确保模块间语义的正确性与组合性。
  • 该方法通过允许更灵活的非二元程序分解,推广了Lifschitz与Turner的分裂集定理。
  • 即使在无预先模块注释的情况下,依赖图的强连通分量仍可作为程序分解的自然基础。
  • 已实现并演示了支持模块化ASP开发的smodels程序自动(反)分解实用工具。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。