On the declarative and procedural semantics of logic programs
On the declarative and procedural semantics of logic programs
复制标题
论逻辑程序的声明性和过程性语义
DOI:
10.1007/bf00243002
复制
发表时间:
1989
期刊:
影响因子:
--
通讯作者:
Teodor C. Przymusinski
中科院分区:
文献类型:
--
作者:
Teodor C. Przymusinski
One of the most important and difficult problems in logic programming is the problem of finding a suitabledeclarativeorintendedsemantics for logic programs. The importance of this problem stems from the declarative character of logic programming, whereas its difficulty can be largely attributed to the non-monotonic character of the negation operator used in logic programs. The problem can therefore be viewed as the problem of finding a suitable formalization of the type ofnon-monotonic reasoningused in logic programming.In this paper we introduce a semantics of logic programs based on the class PERF(P) of all, not necessarily Herbrand,perfect modelsof a programPand we show that the proposed semantics is not only natural but it also combines many of the desirable features of previous approaches, at the same time eliminating some of their drawbacks. For a positive programP, the class PERF(P) of perfect models coincides with the class MIN(P) of allminimal modelsofP.The perfect model semantics is shown to be equivalent to the semantics of McCarthy'scircumscriptionand is also equivalent to the remaining three major formalizations of non-monotonic reasoning in artificial intelligence-Reiter's closed world assumption, Moore's autoepistemic logic and Reiter's default theorythus establishing a closer link between the areas of logic programming and non-monotonic reasoning.We also define a generalization of SLD-resolution, calledSLS-resolutionand we prove that SLS-resolution is sound and complete with respect to the perfect model semantics.