×

一种新的带约束的函数逻辑程序设计通用方案。 (英语) Zbl 1115.68048号

摘要:本文提出了一个新的泛型方案CFLP((mathcal D)),旨在为参数化给定约束域上的惰性约束函数逻辑编程提供一个逻辑和语义框架。与众所周知的约束逻辑编程的CLP((mathcal D)方案一样,假设(mathcall D)提供特定于域的数据值和约束。CFLP((mathcal D)程序被表示为一组约束重写规则,这些规则定义了(mathcall D)上可能的高阶和/或非确定性惰性函数的行为。与之前的相关工作相比,我们提出了一个约束重写逻辑CRWL((mathcal D)),它为CFLP((mathcal D)程序提供了一种声明性语义。该逻辑依赖于约束域和程序解释的新形式化,允许领域特定数据值和用户定义数据构造函数的灵活组合,以及约束的功能视图。

MSC公司:

68N17号 逻辑编程
68甲18 函数编程和lambda演算
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Abengózar-Carneros,M.,Arenas-Sánchez,P.,Caballero-Roldán,R.,Gil-Luezas,A.,González-Moreno,J.C.,Leach-Albert,J.,López-Fraguas,F.J.,Martí-Oliet,n.,Molina-Bravo,J.M.,Pimentel-Sanchez,E.,Rodríguez-Artalejo,M.多参数声明语言。2.0版。技术报告,博士。马德里Complutense大学信息与计划研究所,2002年2月。系统和文件可在http://toy.sourceforge.net。
[2] Antoy,S.、Echahed,R.、Hanus,M.:需要缩小战略。In:程序。ACM交响乐团。《程序设计语言原理》(POPL'94),第268-279页。波特兰ACM出版社(1994)·Zbl 1327.68141号
[3] Antoy,S.、Echahed,R.、Hanus,M.:需要缩小战略。《美国医学会杂志》74(4),776–822(2000)·Zbl 1327.68141号
[4] Aít-Kaci,H.,Podelski,A.:包含逻辑编程的特征约束系统。西奥。计算。科学。122, 263–283 (1994) ·Zbl 0801.68023号 ·doi:10.1016/0304-3975(94)90209-7
[5] Apt,K.R.:逻辑编程。收录于:van Leeuwen,J.(编辑)《理论计算机科学手册》,B卷,第10章,第493-574页。爱思唯尔和麻省理工学院出版社(1990)·Zbl 0900.68136号
[6] Apt,K.R.,Gabbrielli,M.:重新考虑声明性解释。In:程序。国际逻辑编程会议(ICLP’94),Santa Margherita Ligure,第74-89页。麻省理工学院出版社(1994)
[7] Arenas-Sánchez,P.,Gil-Luezas,A.,López-Fraguas,F.J.:将惰性收缩与疾病约束结合起来。In:程序。国际交响乐团。关于编程语言实现和逻辑编程(PLILP'94),第385-399页。施普林格LNCS 844(1994)
[8] Arenas-Sánchez,P.,López-Fraguas,F.J.,Rodríguez-Artalejo,M.:将多集约束嵌入惰性函数逻辑语言。In:程序。国际交响乐团。关于编程语言实现和逻辑编程(PLILP’98),与第六届代数和逻辑编程国际会议(ALP’98。比萨,斯普林格LNCS 1490(1998)
[9] Arenas-Sánchez,P.,López-Fraguas,F.J.,Rodríguez-Artalejo,M.:具有内置和符号约束的函数加逻辑编程。In:程序。《声明性编程原则与实践国际会议》(PPDP'99),第152-169页。巴黎,斯普林格LNCS 1702(1999)·Zbl 0953.68033号
[10] Arenas-Sánchez,P.,Rodríguez-Artalejo,M.:具有代数多态类型的函数逻辑编程的语义框架。In:程序。国际软件开发理论与实践联合会议(TAPSOFT’97),第453–464页。施普林格LNCS 1214(1997)·Zbl 0944.68016号
[11] Arenas-Sánchez,P.,Rodríguez-Artalejo,M.:一种用于具有代数多态类型的函数逻辑编程的惰性收缩演算。In:程序。国际交响乐团。逻辑编程(ILPS’97),第53–68页。麻省理工学院出版社(1997)·Zbl 0944.68016号
[12] Arenas-Sánchez,P.,Rodríguez-Artalejo,M.:代数多态类型的懒惰函数逻辑编程的通用框架。理论与实践。日志。程序。1(2), 185–245 (2001) ·Zbl 1066.68511号
[13] Baader,F.,Nipkow,T.:术语重写和所有这些。剑桥大学出版社(1998)·Zbl 0948.68098号
[14] Backofen,R.:具有特征和arity约束的理论的完整公理化。J.日志。程序。24(1&2), 37–71 (1995) ·Zbl 0866.68014号 ·doi:10.1016/0743-1066(95)00033-G
[15] Backofen,R.,Smolka,G.:一个完整的递归特征理论。西奥。计算。科学。146, 243–268 (1995) ·Zbl 0873.68024号 ·doi:10.1016/0304-3975(94)00188-O
[16] Bossi,A.,Gabbrielli,M.,Levi,G.,Martelli,M.:语义方法:理论与应用。J.日志。程序。19&20, 149–197 (1994) ·Zbl 0942.68527号 ·doi:10.1016/0743-1066(94)90026-4
[17] Caballero,R.,López Fraguas,F.J.,Rodríguez Artalejo,M.:惰性函数逻辑程序的声明性调试的理论基础。In:程序。第五届函数与逻辑编程国际研讨会(FLOPS’2001),第170–184页。斯普林格LNCS 2024(2001)·Zbl 0977.68510号
[18] Caballero,R.,Rodríguez-Artalejo,M.:惰性函数逻辑程序的声明式调试系统。电子票据Theor。计算。科学。64, 63 (2002) ·Zbl 1268.68064号
[19] Caballero R.,Rodríguez-Artalejo,M.:DDT:函数逻辑语言的声明性调试工具。In:程序。第七届函数与逻辑编程国际研讨会(FLOPS’2004),第70-84页。斯普林格LNCS 2988(2004)·Zbl 1122.68366号
[20] Caballero,R.,Rodríguez-Artalejo,M.,del Vado-Vírseda,R.:约束函数逻辑编程中错误答案的声明性诊断。In:程序。第二十二届逻辑程序设计国际会议(ICLP 2006),LNCS第4079卷,Springer-Verlag(2006)·Zbl 1131.68370号
[21] 克拉克,K.L.:谓词逻辑作为一种计算形式。研究报告DOC 79/59,帝国理工学院计算机系,伦敦(1979年)
[22] Colmerauer,A.:序言和无限树。收录:Clark,K.L.,Tärnlud,S.A.(编辑)《逻辑编程》,第153-172页。学术出版社(1982)
[23] Colmerauer,A.:有限树和无限树上的方程和不等式。In:程序。第二届第五代计算机系统国际会议,第85-89页(1984)
[24] Damas,L.,Milner,R.:功能程序的主要类型方案。In:程序。ACM交响乐团。《程序设计语言原理》(POPL'82),第207–212页。ACM出版社(1982)
[25] Darlington,J.,Guo,Y.K.:约束函数编程。帝国理工学院技术报告,1989年11月
[26] Darlington,J.,Guo,Y.K.:约束方程推导。In:程序。第二届条件重写和打字重写系统国际研讨会(CTRS’90),第11-14页。施普林格LNCS 516(1991)
[27] Darlington,J.,Guo,Y.K.,Pull,H.:介绍约束函数逻辑编程。PHOENIX声明式编程研讨会(DP’91),Springer计算研讨会,第20–34页,(1992)
[28] Darlington,J.,Guo,Y.K.,Pull,H.:功能语言与逻辑语言整合的新视角。In:程序。第五代计算机系统国际会议(FGCS’92),第682-693页。IOS出版社(1992)·Zbl 0864.68014号
[29] DeGroot,D.,Lindstrom,G.(编辑):逻辑编程:函数、关系和方程。普伦蒂斯·霍尔(Prentice-Hall),恩格伍德悬崖(Englewood Cliffs)(1986年)·兹比尔0588.68005
[30] Dershowitz,N.,Jouannaud,J.P.:重写系统。收录于:van Leeuwenm,J.(编辑)《理论计算机科学手册》,B卷,第6章,第243–320页。爱思唯尔和麻省理工学院出版社(1990)·Zbl 0900.68283号
[31] Dershowitz,N.,Okada,M.:条件方程编程的基本原理。西奥。计算。科学。75, 111–138 (1990) ·Zbl 0702.68034号 ·doi:10.1016/0304-3975(90)90064-O
[32] Estévez-Martín,S.,del Vado-Vírseda,R.:使用定义树设计FD中的高效计算策略。In:程序。《咖喱和函数逻辑编程国际研讨会》(WCFLP 2005),第23-31页(2005)
[33] Falaschi,M.、Levi,G.、Martelli,M.和Palamidessi,C.:逻辑语言操作行为的声明性建模。西奥。计算。科学。69(3), 289–318 (1989) ·Zbl 0699.68113号 ·doi:10.1016/0304-3975(89)90070-4
[34] Falaschi,M.、Levi,G.、Martelli,M.和Palamidessi,C.:逻辑程序操作语义的模型理论重建。Inf.计算。102(1), 86–113 (1993) ·兹比尔0788.68088 ·doi:10.1006/inco.1993.1015
[35] Fay,M.J.:方程理论中的一阶统一。In:程序。自动扣除研讨会(CADE'79),第161-177页。学术出版社(1979)
[36] Fernández,A.J.、Hortalá-González,M.T.、Sáenz Pérez,F.:用约束函数逻辑语言解决组合问题。In:程序。第五届声明性语言原则与实践国际研讨会(PADL’2003),第320–338页。施普林格LNCS 2562(2003)·兹比尔1026.68774
[37] Fernández,A.J.、Hortalá-González,M.T.、Sáenz Pérez,F.:TOY(FD):操作语义草图。In:程序。第九届约束编程原理与实践国际会议(CP'03),第827-831页。施普林格LNCS 2833(2003)
[38] Fernández,A.J.、Hortalá-González,M.T.、Sáenz Pérez,F.:TOY(FD):0.8版用户手册,2003年10月27日。系统和文档可在http://toy.sourceforge.net。
[39] Gabbrielli,M.,Levi,G.:在约束逻辑程序中建模答案约束。In:程序。第八届国际逻辑编程会议(ICLP’91),第238–252页。麻省理工学院出版社(1991)
[40] Gabbrielli,M.,Dore,G.M.,Levi,G.:约束逻辑程序的可观察语义。J.逻辑计算。5(2), 133–171 (1995) ·Zbl 0823.68018号 ·doi:10.1093/logcom/5.2.133
[41] González Moreno,J.C.,Hortalá-González,M.T.,López Fraguas,F.J.,Rodríguez Artalejo,M.:声明性编程的重写逻辑。In:程序。欧洲交响乐团。关于编程(ESOP’96),第156-172页。斯普林格LNCS 1058(1996)
[42] González-Moreno,J.C.,Hortalá-Gonzáles,M.T.,López-Fraguas,F.J.,Rodríguez-Artalejo,M.:基于重写逻辑的声明式编程方法。J.逻辑程序。40(1), 47–87 (1999) ·Zbl 0942.68060号 ·doi:10.1016/S0743-1066(98)10029-8
[43] González-Moreno,J.C.,Hortalá-Gonzáley z,M.T.,Rodríguez-Artalejo,M.:用于函数逻辑编程的高阶重写逻辑。In:程序。《逻辑编程国际会议》,第153-167页。麻省理工学院出版社(1997)
[44] González-Moreno,J.C.,Hortalá-Gonzáley z,M.T.,Rodríguez-Artalejo,M.:函数逻辑编程中的多态类型。FLOPS’99功能与逻辑编程杂志特刊(2001年)。http://danae.uni-muenster.de/lehre/kuchen/JFLP。
[45] Gunter,C.A.,Scott,D.:语义域。收录于:van Leeuwen,J.(编辑)《理论计算机科学手册》,B卷,第6章,第633-674页。爱思唯尔与麻省理工学院出版社(1990)·Zbl 0900.68301号
[46] Hanus,M.:将函数集成到逻辑编程中:从理论到实践。J.逻辑程序。19&20, 583–628 (1994) ·Zbl 0942.68526号 ·doi:10.1016/0743-1066(94)90034-5
[47] Hanus M.:函数和逻辑编程的统一计算模型。In:程序。第24届ACM编程语言原理研讨会(POPL'97),第80–93页。ACM出版社(1997)
[48] Hanus,M.:《Curry:集成函数逻辑语言》,0.8.2版,2006年3月28日。http://www-i2.informatik.uni-kiel.de/\(\sim\)咖喱/。
[49] Henz,M.,Smolka,G.,Würtz,J.:《Oz中面向对象的并发约束编程》。收录:Saraswat,V.,Hentenryck,P.V.,(编辑)《约束编程的原理与实践》,第2章,第27-48页。麻省理工学院出版社(1995)
[50] Hullot,J.M.:规范形式和统一。In:程序。关于自动扣除的协商(CADE'80),第318–334页。施普林格LNCS 87(1980)·Zbl 0441.68108号
[51] Hussmann,H.:尼刻决定论者,代数,斯佩齐菲卡提翁。帕绍大学博士论文(1988年)
[52] Hussmann,H.:非确定性代数规范和非连续项重写。J.逻辑程序。12, 237–255 (1992) ·Zbl 0763.68050号 ·doi:10.1016/0743-1066(92)90026-Y
[53] Hussmann,H.:代数规范和代数程序中的非确定性。Birkhäuser Verlag(1993)·Zbl 0783.68008号
[54] Jaffar,J.,Lassez,J.L.:约束逻辑编程。In:程序。ACM交响乐团。《编程语言原理》(POPL'87),第111-119页。ACM出版社(1987)
[55] Jaffar,J.,Maher,M.J.:约束逻辑编程:一项调查。J.逻辑程序。19&20, 503–581 (1994) ·兹标00639141 ·doi:10.1016/0743-1066(94)90033-7
[56] Jaffar,J.、Maher,M.J.、Marriott,K.、Stuckey,P.J.:约束逻辑程序的语义。J.逻辑程序。37(1–3), 1–46 (1998) ·Zbl 0920.68068号 ·doi:10.1016/S0743-1066(98)10002-X
[57] Jaffar,J.、Michaylov,S.、Stuckey,P.J.、Yap,R.H.C.:CLP(R)语言和系统。ACM事务处理。程序。语言系统。14(3), 339–395 (1992) ·数字对象标识代码:10.1145/129393.129398
[58] Kirchner,C.,Kirchner,H.,Rusinowitch,M.:带有符号约束的演绎。《法国情报评论》Artificielle 4(3),9-52(1990)
[59] Klop,J.W.:术语重写系统。摘自:Abramsky,S.,Gabbay,D.M.,Maibaum,T.S.E.(编辑)《计算机科学逻辑手册》,第2卷,第2-116页。牛津大学出版社(1992)
[60] Kuchen,H.,López-Fraguas,F.J.,Moreno-Navarro,J.J.,Rodríguez-Artalejo,M.:实现带有不合格约束的惰性函数逻辑语言。In:程序。逻辑编程联合国际会议和研讨会(JICSLP’92),第207-221页。麻省理工学院出版社(1992)
[61] Lankford,D.S.:规范推理。德克萨斯大学奥斯汀分校数学与计算机科学系ATP-32技术报告(1975年)
[62] Lloyd,J.W.:逻辑编程基础。第2版。Springer Verlag(1987)·Zbl 0668.68004号
[63] Loogen,R.、López-Fraguas,F.J.、Rodríguez-Artalejo,M.:惰性收缩的需求驱动计算策略。In:程序。国际交响乐团。关于编程语言实现和逻辑编程(PLILP’93),第184-200页。施普林格LNCS 714(1993)·Zbl 0791.68021号
[64] López-Fraguas,F.J.:约束函数逻辑编程的一般方案。In:程序。代数和逻辑编程国际会议(ALP'92),第213-227页。施普林格LNCS 632(1992)
[65] L.ópez-Fraguas,F.J.:Programacion Funcional y Lógica con Restricciones。马德里Complutense大学博士论文(1994年)
[66] López-Fraguas,F.J.,Rodríguez-Artalejo,M.,del Vado Vírseda,R.:重新审视约束函数逻辑编程。In:程序。第五届重写逻辑及其应用国际研讨会(WRLA’2004),《理论计算机科学电子笔记》,第117卷,第5-50页(2005)·兹比尔1272.68078
[67] López-Fraguas,F.J.,Rodríguez-Artalejo,M.,del Vado Vírseda,R.:声明约束编程的惰性收缩演算。In:程序。ACM SIGPLAN《声明式编程的原则和实践》(PPDP'04),第43–54页。ACM出版社(2004)
[68] 洛佩斯·弗拉瓜斯,F.J.,桑切斯·埃尔南德斯,J.:不平等可能有助于缩小差距。In:程序。APPIA-GULP-PRODE'99,第89-104页(1999)
[69] López-Fraguas,F.J.,Sánchez-Hernández,J.:TOY:一个多参数声明系统。In:程序。RTA'99,第244-247页。斯普林格LNCS 1631(1999)
[70] López-Fraguas,F.J.,Sánchez-Hernández,J.:函数逻辑编程中的失败与平等。Theor中的电子票据。计算。科学。86(3), 21 (2003) ·Zbl 1270.68061号
[71] López-Fraguas,F.J.,Sánchez-Hernández,J.:函数逻辑编程中失败的证明理论方法。理论与实践。逻辑程序。4(1), 41–74 (2004) ·兹比尔1085.68021 ·网址:10.1017/S1471068403001728
[72] Maher,M.J.:有限树、有理树和无限树代数的完全公理化。In:程序。第三届计算机科学逻辑年会(LICS’88),第348-357页。IEEE计算机学会出版社(1988)
[73] Mandel,L.:约束Lambda微积分。亚琛·弗拉格·沙克尔(1995)·Zbl 0864.68062号
[74] Marin,M.:分布式约束求解的函数逻辑编程。约翰·开普勒大学林茨分校博士论文(2000年)
[75] Marin,M.,Ida,T.,Schreiner,W.:CFLP:分布式约束求解系统的数学实现。第三届国际数学研讨会(IMS’99),第10页。奥地利哈根堡,8月23日至25日(1999年)
[76] Marin,M.,Ida,T.,Suzuki,T.:合作约束函数逻辑编程。摘自:软件进化原理国际研讨会(IPSE’2000),第223-230页,2000年11月1-2日
[77] Marriott,K.,Stuckey,P.J.:带约束的编程,简介。麻省理工学院出版社(1998)·Zbl 0935.68098号
[78] Martí-Oliet,N.,Meseguer,J.:重写逻辑:路线图和书目。西奥。计算。科学。285(2), 121–154 (2002) ·Zbl 1027.68613号 ·doi:10.1016/S0304-3975(01)00357-7
[79] Meseguer,J.:条件重写逻辑作为并发的统一模型。西奥。计算。科学。96, 73–155 (1992) ·Zbl 0758.68043号 ·doi:10.1016/0304-3975(92)90182-F
[80] Middeldorp,A.,Hamoen,E.:基本狭窄的完整性结果。申请。代数工程通讯。计算。5, 213–253 (1994) ·Zbl 0810.68088号 ·doi:10.1007/BF0190830
[81] Milner,R.:编程中的类型多态理论。J.计算。系统。科学17,348–375(1978)·Zbl 0388.68003号 ·doi:10.1016/0022-0000(78)90014-4
[82] Möller,B.:关于无限对象的代数规范——代数类型的有序和连续模型。Acta Inform公司。22, 537–578 (1985) ·Zbl 0563.68030号
[83] Mück,A.,Streicher,T.:一种微约束函数逻辑语言及其延续语义。In:程序。欧洲交响乐团。关于编程(ESOP’94),第439–453页。施普林格LNCS 788(1994)
[84] Palomino Tarjuelo,M.:比较meseguer的重写逻辑和CRWL逻辑。理论计算机科学电子笔记64,22(2002)·Zbl 1268.68103号
[85] Palomino Tarjuelo,M.:两种重写逻辑形式主义的比较。收录:Falaschi,M.,Maher,M.(编辑)《多参数语言和约束编程》(特刊)。出现在逻辑程序设计理论与实践中·兹比尔1268.68103
[86] Robinson,J.A.,Sibert,E.E.:LOGLISP:动机、设计和实施。收录:Clark,K.L.,Tärnlund,S.A(编辑)《逻辑编程》,第299-313页。学术出版社(1982)
[87] Rodríguez-Artalejo,M.:函数和约束逻辑编程。In:Comon,H.,Marché,C.,Treinen,R.(编辑)《计算逻辑、理论和应用中的约束》。CCL’99国际暑期学校修订讲座,第5章,第202-270页。斯普林格LNCS 2002(2001)·兹比尔0976.68507
[88] Saraswat,V.:并发约束编程语言。卡内基梅隆大学博士论文,1989年。在ACM杰出论文系列中。麻省理工学院出版社(1993)
[89] Saraswat,V.,Rinard,M.:并发约束编程。In:程序。第17届编程语言原理年度研讨会(POPL'90),第232-245页。美国计算机学会出版社(1990)
[90] Saraswat,V.,Rinard,M.,Panangaden,P.:并发约束编程的语义基础。In:程序。第18届编程语言原理年度研讨会(POPL'91),第333–352页。美国计算机学会出版社(1991)
[91] Scott,D.S.:指称语义的领域。In:程序。ICALP’82,第577–613页。斯普林格LNCS 140(1982)·Zbl 0495.68025号
[92] SICStus Prolog用户手册,第3.11.0版,2003年10月。瑞典计算机科学研究所。系统可用位置http://www.sics.se/isl/sicstus。
[93] Slagle,J.R.:用简化器、交换性和结合性为理论提供自动化理论证明。J.ACM 21(4),622-642(1974)·Zbl 0296.68092号 ·数字对象标识代码:10.1145/321850.321859
[94] Smolka,G.,Treinen,R.:逻辑编程记录。J.逻辑程序。18, 229–258 (1994) ·Zbl 0803.68021号 ·doi:10.1016/0743-1066(94)90044-2
[95] Tarski,A.:格理论不动点定理及其应用。派克靴。数学杂志。5, 285–309 (1955) ·Zbl 0064.26004号
[96] Tessier,A.,Ferrand,G.:CLP方案中的声明性诊断。在:Deransart,P.,Hermenegildo,M.,Maiuszynski,J.(编辑)约束编程的分析和可视化工具,第5章,第151–174页。施普林格LNCS 1870(2000)
[97] del Vado Vírseda,R.:具有重叠定义树的需求驱动的缩小演算。In:程序。ACM SIGPLAN《声明式编程的原则和实践》(PPDP'03),第213-227页。ACM出版社(2003)·Zbl 1147.68430号
[98] del Vado Vírseda,R.:具有定义树的声明性约束编程。In:程序。第五届组合系统前沿国际研讨会(FroCoS’05),第184–199页。施普林格LNAI 3717(2005)·Zbl 1171.68405号
[99] Van Hentenryck,P.:逻辑P编程中的约束满足。《逻辑编程系列》,麻省理工学院出版社(1989)
[100] Van Hentenryck,P.:约束逻辑编程。知识。工程修订版6(3),151-194(1991)·Zbl 0789.68021号 ·doi:10.1017/S0269888900005798
[101] Van Hentenryck,P.,Simonis,H.,Dincbas,M.:使用约束逻辑编程实现约束满足。Artif公司。智力。58, 113–159 (1994) ·Zbl 0782.68028号 ·doi:10.1016/0004-3702(92)90006-J
[102] Van Hentenryck,P.,Saraswat,V.,Deville,Y.:约束语言cc(FD)的设计、实现和评估。J.逻辑程序。37, 139–164 (1998) ·Zbl 0920.68026号 ·doi:10.1016/S0743-1066(98)10006-7
[103] Van Roy,P.、Brand,P.,Duchier,D.、Haridi,S.、Henz,M.、Schulte,C.:多半径编程背景下的逻辑编程:Oz体验。理论与实践。逻辑程序。3(6), 717–763 (2003) ·兹比尔1090.68017
[104] 温斯克尔(Winskel,G.):关于权力领域和形态。西奥。计算。科学。36, 127–137 (1985) ·Zbl 0579.68018号 ·doi:10.1016/0304-3975(85)90037-4
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。