[1]余金山.Prolog的语义保持变换[J].华侨大学学报(自然科学版),2001,22(1):100-104.[doi:10.3969/j.issn.1000-5013.2001.01.022]
 Yu Jinshan.Sematics Hold Transformation for Prolog[J].Journal of Huaqiao University(Natural Science),2001,22(1):100-104.[doi:10.3969/j.issn.1000-5013.2001.01.022]
点击复制

Prolog的语义保持变换()
分享到:

《华侨大学学报(自然科学版)》[ISSN:1000-5013/CN:35-1079/N]

卷:
第22卷
期数:
2001年第1期
页码:
100-104
栏目:
出版日期:
2001-01-20

文章信息/Info

Title:
Sematics Hold Transformation for Prolog
文章编号:
1000-5013(2001)01-0100-05
作者:
余金山
华侨大学信息科学与工程学院, 泉州362011
Author(s):
Yu Jinshan
College of Info. Sci. & Eng., Huaqiao Univ., 362011, Quanzhou
关键词:
程序变换 Prolog 语义
Keywords:
programtransformation Prolog semantics
分类号:
TP311.5
DOI:
10.3969/j.issn.1000-5013.2001.01.022
摘要:
程序变换方法在逻辑程序中的应用主要是基于这样的理论结果,即 Fold/ Unfold变换保持了逻辑程序的最小 Herbrand模型语义和答复置换集语义 .但是当逻辑程序的实现采用标准Prolog系统的最左计算规则和深度优先查找规则时,变换后的程序未必能保持原程序的语义 .此外,程序的语义等价性证明也往往是难以理解和阅读的 .为此,首先用与计算 SL D-树叶结点有关的答复置换序列算法的方式,引入一个相对易于理解的 Prolog语义定义,然后给出有关的语义保持变换规则并加以证明
Abstract:
The application of program transformation method to logic program is mainly based on such theory,namely,Fold/Unfold transformation holds the least Herbrand model semantics and the semantics of answer substitution set of logic program.However,when the leftmost computing rule and depth first searching rule of standard Prolog systems are adopted for implementing logic pragrams,the semantics of original program cannot necessarily be held by transformed program.Moreover,the proof of semantic equivalence of the program is often difficult to understand and to read.By the style of algorithm for computing answer substitution sequence relating to the node of leaves in SLD tree,the author puts forward a semantics definition of Prolog which is not diffcult to understand; and then,gives the rules for semantics hold transformation and offers proof.

参考文献/References:

[1] 应晶, 吴朝晖, 何志均. 支持软件开发的变换方法 [J]. 计算机科学, 1997(5):90-94.
[2] 余金山. 析取演绎数据库否定信息的推理规则 [J]. 华侨大学学报(自然科学版), 1999(3):303-307.
[3] DebrayK, Mishra P. Denotational and operational semantics for Prolog [J]. Journal of Logic Programming, 1988.61-91.doi:10.1016/0743-1066(88)90007-6.
[4] CookeD, Gate A, Demirors E. Languages for the spesification of software [J]. Journal of Systems and Software, 1996, (3):269-308.doi:10.1016/0164-1212(95)00071-2.
[5] BenichouM, Beringer H, Gauthierr J M. Prolog at IBM:An advanced and evolving application development technology [J]. IBM Systems Journal, 1992(4):755-773.doi:10.1147/sj.314.0755.

更新日期/Last Update: 2014-03-23