×

赞扬不可靠:对元编程形式化的贡献。 (英语) Zbl 1434.68102号

摘要:将程序作为数据处理是函数和逻辑编程的成功之一。高阶函数(在函数编程中称为程序处理程序)和元程序(在逻辑编程中称之为元程序)是广泛使用的声明性编程技术。在逻辑程序设计中,元程序设计实践与其理论之间存在差距:元程序设计的形式化并没有明确地解决其不精确性,也不充分。本文旨在通过讨论非精确性与元程序设计的相关性,通过重新审视元程序设计以前的形式化,以及通过定义一阶逻辑的保守扩展反射谓词逻辑,来克服这种不令人满意的情况,该逻辑为元程序设计提供了一种简单的形式化。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
03B70号 计算机科学中的逻辑
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Aczel,P.1977年。归纳定义简介。在《数学逻辑手册》中,乔恩·巴韦斯(Barwise,Jon,Ed.North-Holland),739-782。
[2] Aiello,L.C.、Cecchi,C.和Sartini,D.1986。元知识的表示和使用。IEEE74,10,1304-1321会议记录。
[3] Apt,K.R.和Ben Eliyahu,R.1996。逻辑编程中的元变量,或赞扬矛盾语法。基础信息28,1,23-36·Zbl 0865.68024号
[4] Apt,K.R.和van Emden,M.1982。对逻辑程序设计理论的贡献。计算机械协会杂志29,841-862·兹比尔048368004
[5] 巴克斯,J.W.1959。Zürich ACM-GAMM会议建议的国际代数语言的语法和语义。程序中。信息处理国际会议,1959年6月,Veronese,V.,Ed.Paris,France,UNESCO(法国巴黎),R.Oldenbourg(德国慕尼黑)和Butterworths(英国伦敦),125-132·Zbl 0112.08301号
[6] Barendregt,H.1993年。带有类型的Lambda Calculi。在计算机科学逻辑手册。第2卷,背景:计算结构。牛津大学出版社,117-309。
[7] Barklund,J.1989年。Prolog中的元变量是什么?《逻辑编程中的元程序设计》,Abramson、Harvey和Rogers,M.H.主编,麻省理工出版社,383-398。
[8] Barklund,J.1995年。逻辑元编程。计算机科学与技术百科全书33,205-227。补充18:用户界面软件工具的基于案例的推理。
[9] Barklund,J.、Costantini,S.、Dell'Acqua,P.和Lanzarone,G.A.1994。带反射的SLD分辨率。《逻辑编程》,1994年国际研讨会论文集,Bruynooghe,M.,Ed.墨尔本,澳大利亚,554-568。
[10] Barklund,J.、Costantini,S.、Dell'Acqua,P.和Lanzarone,G.A.1995a。逻辑编程中编码的语义属性。《逻辑编程——1995年国际研讨会》,Lloyd,J.W.著,麻省理工学院出版社,美国俄勒冈州波特兰,288-302。
[11] Barklund,J.、Dell’Acqua,P.、Costantini,S.和Lanzarone,G.A.1995b。带有反射的SLD解析的语义属性。《逻辑编程》,第十二届逻辑编程国际会议论文集,Sterling,L.编辑,麻省理工学院出版社,日本东京,830·Zbl 0964.03032号
[12] Barklund,J.、Dell’Acqua,P.、Costantini,S.和Lanzarone,G.A.2000。计算逻辑中的反射原理。逻辑与计算杂志10,743-786·Zbl 0964.03032号
[13] 本杰明,P.1990。元级宣言。《机器学习、元推理和逻辑》,Braddil,P.B.和Konolige,K.,Eds.Kluwer学术出版社,3-17。
[14] Bezem,M.1999年。简单类型逻辑程序的扩展性。程序中。第16届国际逻辑程序设计会议(ICLP),de,D.Schreye,Ed.MIT出版社,395-410。
[15] Bezem,M.2001。一种改进的高阶逻辑程序扩展性准则。计算机科学逻辑,第15届国际研讨会,CSL。第2142卷,LNCS。弗里堡,L.,Ed.Springer-Verlag,法国巴黎,203-216·Zbl 0999.68035号
[16] Böhm,C.和Jacopini,G.1966。流程图、图灵机和只有两个形成规则的语言。ACM通讯,9,5,366-371·Zbl 0145.24204号
[17] 布尔,G.1854。逻辑和概率数学理论所依据的思维规律的研究。麦克米伦。再版:多佛出版社,纽约,1958年,剑桥大学出版社,2009年·Zbl 1205.03003号
[18] Bowen,K.和Kowalski,R.1982。逻辑编程中语言和元语言的融合。《逻辑编程》,Clark,K.和Tärnlund,S.A.主编,学术出版社,153-173。
[19] 鲍文,K.A.1985。元级编程和知识表示。新一代计算359-383。
[20] Bowen,K.A.和Weinberg,T.1985。Prolog的元级扩展。程序中。IEEE逻辑编程研讨会,Cohen,J.和Conery,J.,编辑IEEE,美国马萨诸塞州波士顿,669-675。
[21] Burgess,J.P.2005年。修复弗雷格。普林斯顿大学出版社,美国新泽西州普林斯顿·Zbl 1089.03001号
[22] 卡德利,L.2004。类型系统。《CRC计算机科学与工程手册》,塔克·A·B版,CRC出版社,2208-2236。
[23] Cardelli,L.和Wegner,P.1985。关于理解类型、数据抽象和多态性。ACM计算调查17,4(12月),471-522。
[24] Cervesato,I.和Rossi,G.1992。LOG中的逻辑元编程设施。卡内基梅隆大学计算机科学学院计算机科学系CMU 6-1992研究展示。
[25] Chang,C.-L.和Lee,R.C.-T.1997。符号逻辑与机械定理证明。学术出版社。
[26] Charalambidis,A.,Handjopoulos,K.,Rondogiannis,P.和Wadge,william L.,2013年。扩展高阶逻辑编程。美国计算机学会计算逻辑学报14,3,91-103·Zbl 1306.68004号
[27] 陈,W.1987。基于二阶逻辑的模块理论。程序中。IEEE逻辑编程研讨会,IEEE计算机学会,美国加利福尼亚州旧金山,24-33。
[28] Chen,W.,Kifer,M.和Warren,D.S.1993年。HiLog:高阶逻辑编程的基础。逻辑编程杂志15,3,187-230·Zbl 0787.68017号
[29] 教堂,A.1932。逻辑基础的一组假设。数学年鉴-系列233,2,346-366·JFM 58.0997.06号
[30] 教堂,A.1940。简单类型理论的公式。符号逻辑杂志5,56-68·JFM 66.1192.06号
[31] Chwistek,L.1921。Antynomje logikiformalnej公司。Przeglow Filozoficzny24,164-171。波兰语,英语翻译:Chwistek(1967)。
[32] Chwistek,L.1967。形式逻辑的悖论。《波兰逻辑:1920-1939》,McCall,S.编辑,Clarendon出版社,338-345。朱斯特克的Z.Jordan(1921)的英文翻译。
[33] Clocksin,W.F.和Mellish,C.S.,1981年。Prolog中的编程。斯普林格·弗拉格·Zbl 0466.68009号
[34] 科斯坦蒂尼,S.2002。元推理:一项调查。《计算逻辑:逻辑编程及其以外》(Festschrift,纪念Robert Kowalski),Kakas,A.C.和Sadri,F.编辑,第2408卷,LNCS。施普林格出版社,254-288·Zbl 1012.68190号
[35] Costantini,S.和Lanzarone,G.A.1989。一种元逻辑编程语言。程序中。1989年6月,国际逻辑编程会议,Levi,G.和Martelli,M.,Ed.Lisbon,Portugal,218-233。
[36] Costantini,S.和Lanzarone,G.A.1994。元逻辑编程方法:语言、语义和应用。实验与理论人工智能杂志6,3,239-287·Zbl 0820.68030号
[37] 达马斯,L.1985。编程语言中的类型赋值。爱丁堡大学博士论文,报告编号CST-33-85。
[38] Damas,L.和Milner,R.1982。功能程序的主要类型模式。程序中。第九届编程语言原理研讨会(POPL),DeMillo,R.,Ed.ACM,美国新墨西哥州阿尔伯克基,207-212。
[39] De Schreye,D.和Martens,B.1992。非类型化vanilla元编程的最不明智的Herbrand语义及其对有限形式合并的扩展。在逻辑元程序设计中,程序。1992年6月,第三届国际元编程研讨会(Meta),Peterossi,A.,Ed.LNCS。192-204年,瑞典乌普萨拉,斯普林格·弗拉格。
[40] Dijkstra,E.W.1968年。给编辑的信:转到被认为有害的声明。ACM11通信,3,147-148。
[41] Eshghi,K.1986。逻辑编程中的元语言。英国伦敦大学帝国理工学院计算机系博士论文。
[42] Feferman,S.2005。预测性。《牛津数学和逻辑哲学手册》,夏皮罗,S.编辑,牛津大学出版社,590-624。
[43] 弗雷格,G.1879。Begriffsschrift-Eine der arithmetischen nachgebildete Formelsprache des reinen Denkens。Verlag von Louis Nebert,Halle和der Saale。德语,英语翻译:Frege(1967,2002)。
[44] 弗雷格,G.1893。Grundgesetze der Arithmetik,乐队I.Verlag Herman Pohle,耶拿。德语部分英译:弗雷格(1964)·JFM 25.0101.02标准
[45] 弗雷格,G.1903。Grundgesetze der Arithmetik,第二级。耶拿州弗拉格·赫尔曼·波勒。德语部分英译:弗雷格(1964)·JFM 34.0071.05号
[46] 弗雷格,G.1964。算术基本定律。加利福尼亚大学出版社,加利福尼亚州伯克利,美国。蒙哥马利·弗斯(Montgomery Furth)对弗雷格(1893年、1903年)的部分英语翻译。
[47] Frege,G.1967年,2002年。概念符号:一种纯粹思想的公式语言,以算术为模型。《从弗雷格到哥德尔:数理逻辑的原始资料》,1879-1931年,范海耶诺特,J.,编辑,哈佛大学出版社,1-82,弗雷格的英文翻译(1879)。
[48] Gelfond,M.和Lifschitz,V.1988。逻辑编程的稳定模型语义。程序中。第五届逻辑编程国际会议(ICLP),1988年8月,Bowen,K.A.和Kowalski,R.A.,麻省理工学院出版社,华盛顿州西雅图,1070-1080。
[49] Gentzen,G.1934年。Untersuchungenüber das logische Schließen I.Mathematische Zeitschrift39,2,176-210。德语。英文翻译:Gentzen(1964),Gentzen1969·Zbl 0010.14501号
[50] Gentzen,G.1964年。对逻辑推理的调查。《美国哲学季刊》1,4(10月),288-306。Gentzen(1934)的英文译本。
[51] Gentzen,G.1969年。对逻辑推理的调查。在《格哈德·根岑文集》(The Collected Works of Gerhard Gentzen,Szabo,M.E.,Ed.Studies In logic and The Foundation of mathematics)中。霍兰德北部,68-131。Gentzen(1934)的英文译本。
[52] Giordano,L.、Martelli,A.和Rossi,G.1994。结构化Prolog:一种用于结构化逻辑编程的语言。软件-概念和工具15,125-145。
[53] Giordano,L.和Olivetti,N.1994。在逻辑程序中结合否定作为失败和嵌入的含义。逻辑编程杂志19,20,1-679·Zbl 0911.68027号
[54] 哥德尔,K.1930。Vollständigkeit des Logikkalküls。奥地利维也纳大学博士论文。德语,英语翻译:哥德尔(2002)·JFM 56.0046.04公司
[55] 哥德尔,K.1931。通过正式的无休止的数学原理与系统I。Monatsheft für Mathematik und Physik38,173-198。德语,英语翻译:哥德尔(1986)·JFM 57.0054.02号
[56] 哥德尔,K.1944。罗素的数学逻辑。《伯特兰·罗素的哲学》(The Philosophy of Bertrand Russell,Schilpp,P.A.,Ed.Northwestern University,Chicago,IL,USA),第123-153页。
[57] 哥德尔,K.19672002。逻辑函数演算公理的完备性。《从弗雷格到哥德尔:数理逻辑的原始资料》,1879-1931年。van Heijenoort,J.,编辑,哈佛大学出版社,582-591。
[58] 哥德尔,K.1986。数学原理和相关系统的形式上不可判定命题第一卷1929-1936年出版。牛津大学出版社。哥德尔(1930)的英文译本。
[59] 格拉芙,P.1996。术语索引。第1053卷,LNCS。斯普林格·弗拉格。1995年,德国萨尔州大学博士论文·兹伯利0970.68152
[60] Haemmerlé,R.和Fages,F.2006。重新访问Prolog模块。在逻辑编程-国际逻辑编程会议(ICLP),Etalle,S.和Truszczynski,M.,Ed.Springer-Verlag,Seattle,Washington,USA 41-55·Zbl 1131.68378号
[61] Halpern,J.Y.和Moses,Y.1985。知识和信仰的模态逻辑指南。程序中。第九届国际人工智能联合会议(IJCAI),Joshi,A.,Ed.Vol.1,Morgan Kaufmann,Los Angeles,California,USA,480-490。
[62] Harper,R.、Honsell,F.和Plotkin,G.1993。定义逻辑的框架。ACM期刊(JACM)40,143-184·Zbl 0778.03004号
[63] 希金斯,C.P.1996。关于确定元逻辑程序的声明语义和过程语义。逻辑与计算杂志6,3,363-407·Zbl 0851.68011号
[64] Hill,P.和Lloyd,J.W.1994。哥德尔程序设计语言。麻省理工学院出版社·Zbl 0850.68138号
[65] Hill,P.M.和Lloyd,J.W.1988。meta-programs分析。1988年6月,《逻辑编程中的元编程》,逻辑元编程研讨会(Meta-88),Abramson,H.和Rogers,M.H.主编,麻省理工学院出版社,英国布里斯托尔,23-51。
[66] 辛德利,R.J.1969。组合逻辑中对象的主要类型方案。《美国数学学会学报》146,英国布里斯托尔,29-60·Zbl 0196.01501号
[67] 辛提卡,J.1964。知识与信仰——两个概念的逻辑导论,第二版,康奈尔大学出版社。
[68] Huet,G.P.1976年。Résolution d’équations dans des langages d'ordre 1,2,…,ω。巴黎第七大学数学博士论文。
[69] 江,Y.1994。歧义逻辑是逻辑编程的语义基础。程序中。国际逻辑编程会议,Hentenryck,P.V.,Ed.MIT Press,Santa Marherit Ligure,Italy,387-401。
[70] M.Kalsbeek,1993年。定义逻辑程序和歧义语法的Vanilla元解释器。阿姆斯特丹大学逻辑语言与计算研究所技术代表CT 93-01。
[71] Kalsbeek,M.B.和Jiang,Y.1995。矛盾逻辑的精髓。《元逻辑和逻辑编程》,Apt,K.R.和Turini,F.主编,麻省理工学院出版社,27-56。
[72] 科瓦尔斯基,R.1973。谓词逻辑作为一种编程语言。备忘录70,爱丁堡大学人工智能系。另请参阅:Proc。IFIP大会,斯德哥尔摩,北荷兰,1974年,569-574·Zbl 0297.68006号
[73] Kowalski,R.1979年。解决问题的逻辑。北荷兰·Zbl 0426.68002号
[74] Kowalski,R.和Kim,J.,1991年。多智能体知识和信念的元逻辑方法。《计算的人工和数学理论:纪念约翰·麦卡锡、利普希茨等人的论文》,学术出版社,231-246·Zbl 0755.68122号
[75] Levi,G.和Ramundo,D.1993年。真实元编程的形式化。程序中。第十届逻辑程序设计国际会议,1993年6月,沃伦博士,麻省理工学院出版社,匈牙利布达佩斯,354-373。
[76] Levy,J.和Veanes,M.2000。关于二阶统一的不可判定性。信息与计算159,1-2,125-150·Zbl 1005.03007号
[77] Link,G.,2004年版。罗素悖论百年:数学、逻辑、哲学。德格鲁伊特·Zbl 1050.03003号
[78] Liskov,B.和Zilles,S.,1974年。使用抽象数据类型编程。ACM SIGPLAN通知9、4、50-59·Zbl 07526287号
[79] Lismont,L.和Mongin,P.1994。论共同信仰和共同知识的逻辑。理论与决策37,75-106·Zbl 0831.03014号
[80] 劳埃德,J.W.1987。逻辑编程基础,第二版,Springer-Verlag·Zbl 0668.68004号
[81] Martelli,A.和Rossi,G.1988。增强Prolog以支持Prolog编程环境。在ESOP’88:第二届欧洲编程研讨会上,1988年3月,第300卷,LNCS。Ganzinger,H.,Ed.Springer-Verlag,Nancy,France,317-327。
[82] McCarthy,J.和Levin,M.I.1965。Lisp 1.5程序员手册。美国麻省理工学院计算中心技术代表。
[83] McCarthy,J.、Sato,M.、Hayashi,T.和Igrashi,S.1978。关于知识模型理论。斯坦福大学AIM-312技术代表。
[84] 米勒,D.1989。逻辑程序设计中模块的逻辑分析。逻辑编程杂志6,1-2,79-108·Zbl 0681.68022号
[85] Miller,D.和Naathur,G.1988。Lambda-Prolog概述。程序中。第五届逻辑编程国际会议和研讨会,Kowalski,R.A.和Bowen,K.A.,麻省理工学院出版社,美国华盛顿州西雅图,810-827。
[86] Miller,D.和Nadathur,G.2012年。用高阶逻辑编程。剑桥大学出版社·Zbl 1267.68014号
[87] Milner,R.1978年。程序设计中的一种类型多态性理论。《计算机与系统科学杂志》17,348-374·Zbl 0388.68003号
[88] Moschovakis,J.19992015。直觉主义逻辑。加利福尼亚州斯坦福大学语言与信息研究中心形而上学研究实验室,邮编94305-4115。https://plato.stanford.edu/entries/logic-infirationistic/。
[89] O'Keefe,R.1990年。Prolog的工艺。麻省理工学院出版社。
[90] Perlis,A.J.和Samelson,K.1958。初步报告:国际代数语言。ACM1的通信,12,8-22·Zbl 0084.12401号
[91] Perlis,D.1985年。语言与自我参照i:基础。人工智能25,3,307-322·Zbl 0581.03005号
[92] Perlis,D.1988a。具有自我参照的语言ii:知识、信念和情态。人工智能34,2,179-212·Zbl 0642.03017号
[93] Perlis,D.1988b。逻辑中的元。在元层次架构和反思中,Maes,P.和Nardi,D.,Ed.North-Holland,37-49·Zbl 0658.03037号
[94] Pfenning,F.1991。《LF逻辑框架中的逻辑编程》,卡内基梅隆大学计算机科学学院研究代表·Zbl 0760.68014号
[95] Pfenning,F.和Schürmann,C.1999。系统描述:Twelf-演绎系统的元逻辑框架。程序中。第16届国际自动扣款大会(CADE)。第1632卷,LNAI。Ganzinger,H.,Ed.Springer-Verlag,Trento,Italy,202-206年。
[96] 皮尔斯,B.C.2002。类型和编程语言。麻省理工学院出版社·Zbl 0995.68018号
[97] 拉姆齐,F.P.1926。数学的基础。《伦敦数学学会学报》,第225、338-384期·JFM 52.0046.01号文件
[98] Robinson,A.和Voronkov,A.编辑,2001年。《自动推理手册》。第1卷。科学指导·Zbl 0964.00020号
[99] Robinson,G.和Wos,L.1968。副调制的完全性。程序中。符号逻辑协会1968年春季会议,《符号逻辑杂志》,第34卷,(1969年),第102-103页。
[100] Robinson,G.和Wos,L.1969。具有等式的一阶理论中的仿射和定理证明。在机器智能4。爱丁堡大学出版社,135-150。程序。第四届年度机器智能研讨会。爱丁堡,1968年。重印于Siekmann和Wrightson(1983年,第98-3134页)·Zbl 0219.68047号
[101] 罗西,G.1989。扩展Prolog中的元编程功能。程序中。第五届机器人人工智能和信息控制系统国际会议-89,Plander,I.,Ed.World Scientific,由北荷兰,什特里布斯克普莱索,捷克斯洛伐克发行
[102] 罗西,G.1992。程序作为扩展Prolog中的数据。《计算机杂志》36,3,217-226。
[103] Russell,B.1907。关于超限数和序类型理论中的一些困难。伦敦数学学会会刊2-4,1,29-53·JFM 37.0074.01标准
[104] 罗素,B.1908。基于类型理论的数理逻辑。《美国数学杂志》30,222-262·JFM 39.0085.03号
[105] 罗素,B.1986。伯特兰·罗素的论文集。第6卷,逻辑与哲学论文1909-13。乔治·艾伦和安文·Zbl 1066.01522号
[106] Siekmann,J.H.和Wrightson,G.,1983年版。推理自动化。符号计算(人工智能)。第一卷,计算逻辑经典论文1957-1966。斯普林格·弗拉格·Zbl 0567.03001号
[107] 西克洛西,L.1976。让我们谈谈Lisp。普伦蒂斯·霍尔。
[108] Sterling,L.S.和Shapiro,E.,1994年。《序言艺术》,麻省理工学院出版社第二版·Zbl 0850.68137号
[109] Sugano,H.1989年。逻辑语言中的反射计算及其语义。富士通有限公司国际社会与信息科学高级研究所技术代表。
[110] Sugano,H.1990年。逻辑编程中的元计算和反射计算及其语义。程序中。第二届逻辑编程元编程研讨会(Meta),Bruynooghe,M.,Ed.Springer-Verlag,Leuven,Belgium,19-34。
[111] 塔斯基,A.1935。德瓦尔海茨贝格利夫(Der Wahrheitsbegriff in den formalizeden Sprachen)。哲学研究:commentarii Societatis Philosophicae Polonorum 146,261-405。德语,英语翻译:Tarski(1935)·Zbl 0013.28903号
[112] 塔斯基,A.1935。形式化语言中的真理概念。《逻辑、语义、元数学》,《1923年至1938年的论文》,第二版,科尔科兰·J·编辑,哈科特出版公司,152-278·Zbl 0013.28903号
[113] 特朗普,D.2017。“为什么金正恩侮辱我,叫我‘老’,而我永远不会叫他‘又矮又胖’?哦,好吧,我努力做他的朋友——也许有一天会这样!”。Twitter Web客户端https://twitter.com/realdtrump/status/9295110610954297857。
[114] van Ditmarsch,H.、Halpern,J.Y.、van der Hoek,W.和Kooi,B.,2015年版。认识逻辑手册。学院出版物·Zbl 1392.03009号
[115] van Emden,M.和Kowalski,R.1976。作为编程语言的谓词逻辑的语义。计算机械协会杂志23,733-742·Zbl 0339.68004号
[116] van Harmelen,《联邦公报》,1989年。金属级架构的分类。《基于逻辑的知识表示》,Jackson,P.M.、Reichgelt,J.和van Harmelen,F.主编,麻省理工出版社,1-35·Zbl 0669.68057号
[117] 范·哈梅伦,F.1992。元级系统中的可定义命名关系。程序中。第三届逻辑元程序设计研讨会(Meta),瑞典乌普萨拉,第649卷,LNCS,Pettorosi,A.,Ed.Springer-Verlag,89-104。
[118] 冯·库切拉,F.1989。戈特洛布·弗雷格(Gottlob Frege):柏林格鲁伊特(de Gruyter)塞恩沃克(sein Werk)的艾因·艾因福隆(Eine Einführung)。德语·Zbl 0686.0302号
[119] Wadge,W.W.,1991年。高阶喇叭逻辑编程。《逻辑编程:1991年国际研讨会论文集》,Saraswat,V.A.和Ueda,K.著,麻省理工学院出版社,289-303。
[120] Weyhrauch,R.W.1980年。机械化形式推理理论的序言。人工智能13,1-2,133-170·Zbl 0435.68070号
[121] Whitehead,A.N.和Russell,B.191019121913。数学原理。卷。1-3. 剑桥大学出版社·JFM 41.0083.02号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。