×

内涵语境中lambda术语的表示和约简策略选择。 (英语) Zbl 1102.68019号

摘要:程序、证明、公式和类型等对象的高阶表示对于许多符号计算任务都很重要。支持这种表示的系统通常依赖于类型化lambda演算某些变体的术语内涵视图的实现。为lambda演算提出了新的符号,为实现此类实现提供了良好的基础。然而,在这些符号的实际部署中有几种选择,其实际后果目前还不清楚。我们试图通过研究这些符号所提供的特征的不同组合对性能的影响来发展这种理解。研究的方面包括约束变量的处理、替换和约简中的急切和懒惰、将不同结构遍历合并为一个的能力,以及对术语进行注释的优点,这些术语表明它们依赖于外部抽象约束的变量。我们用一种支持lambda术语内涵视图的语言执行程序,同时改变语言实现的相关方面,从而通过实验来补充定性评估。我们的研究深入了解了表示和减少lambda项的首选方法,并揭示了对性能有某种意外影响的计算特征。

MSC公司:

68甲18 函数编程和lambda演算
03B35型 证明和逻辑操作的机械化
03B40型 组合逻辑与lambda演算
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Abadi,M.、Cardelli,L.、Curien,P.-L.和Lévy,J.-J.:显式替换,J.Funct。编程1(4)(1991),375-416·Zbl 0941.68542号 ·doi:10.1017/S0956796800000186
[2] Aiello,L.和Prini,G.:lambda-calculus的高效解释器,J.Compute。系统科学。23(1981),第383-425页·Zbl 0472.03012号 ·doi:10.1016/0022-0000(81)90073-8
[3] Appel,A.和Shao,Z.:第十届ACM SIGPLAN年度大会上最聪明的重新编译?SIGACT编程语言原理研讨会,1993年1月,较长版本,普林斯顿大学技术报告CS-TR-395-92。
[4] Benaissa,Z.、Briaud,D.、Lescanne,P.和Rouyer Degli,J.:??,保持强规范化的显式替换演算,J.Funct。编程6(5)(1996),699-722·Zbl 0873.68108号 ·doi:10.1017/S0956796800001945
[5] Brisset,P.和Ridoux,O.:Naive reverse可以是线性的,见K.Furukawa(编辑),第八届国际逻辑编程会议,麻省理工学院出版社,1991年6月,第857-870页。
[6] Brisset,P.和Ridoux O.:汇编?Prolog及其与MALI的合作执行,国际出版公司687,IRISA,Rennes,1992年11月。
[7] de Bruijn,N.:带有无名假人的Lambda微积分符号,一个用于自动公式操作的工具,应用于教会?罗瑟定理,Indag。数学。34(5) (1972), 381-392. ·兹比尔0253.68007
[8] de Bruijn,N.:《AUTOMATH项目调查》,J.P.Seldin和J.R.Hindley(编辑),To H.B.Curry:《组合逻辑、Lambda微积分和形式主义论文》,学术出版社,1980年,第579-606页。
[9] Constable,R.L.、Allen,S.F.、Bromley,H.M.、Cleaveland,W.R.、Cremer,J.F.,Harper,R.W.、Howe,D.J.、Knoblock,T.B.、Mendler,N.P.、Panangaden,P.、Sasaki,J.T.和Smith,S.F:《利用Nuprl证明开发系统实现数学》,Prentice-Hall,1986年。
[10] Coquand,T.和Huet,G.:结构微积分,Inform。和计算。76(2/3)(1988年2月/3月),95-120·兹伯利0654.03045 ·doi:10.1016/0890-5401(88)90005-3
[11] 大卫·R和纪尧姆·B:A-显式弱化和显式替换微积分,数学。结构计算。科学。11 (2001), 169-206. ·Zbl 0972.68028号 ·doi:10.1017/S0960129500003224
[12] Dowek,G.、Hardin,T.和Kirchner,C.:通过显式替换实现高阶统一,Inform。和计算。157 (2000), 183-235. ·Zbl 1005.03016号 ·doi:10.1006/inco.1999.2837
[13] Fernandez,M.,Mackie,I.和Sinot,F.-R.:闭合约简:无字母转换的显式替换,数学。结构计算。科学。(2004),即将发布·Zbl 1129.68409号
[14] Field,J.:《关于lambda口译员的懒惰和优化:规范和分析工具》,载于第十七届ACM编程语言原则研讨会,ACM出版社,1990年1月,第1-15页。
[15] Grégoire,B.和Leroy,X.:《强缩减的编译实现》,载于《第七届ACM SIGPLAN函数式编程国际会议论文集》,匹兹堡,2002年10月,第235-246页·Zbl 1322.68053号
[16] Harper,R.:标准ML简介,技术报告ECS-LFCS-86-14,爱丁堡大学计算机科学基础实验室,1986年11月。Nick Rothwell修订,1989年1月,Kevin Mitchell练习。
[17] Harper,R.、Honsell,F.和Plotkin,G.:定义逻辑的框架,J.ACM 40(1)(1993),143-184·Zbl 0778.03004号 ·数字对象标识代码:10.1145/138027.138060
[18] Huet,G.:类型的统一算法-微积分,理论。计算。科学。1 (1975), 27-57. ·兹伯利0337.68027 ·doi:10.1016/0304-3975(75)90011-0
[19] Kamaredine,F.和Ríos,A.:延伸-具有显式替换的微积分,在开放项上保持汇合微积分的强正规化,J.Funct。编程7(4)(1997),395-420·Zbl 0882.03011号 ·doi:10.1017/S0956796897002785
[20] Liang,C.:TAPSOFT中的Let-polymorphy和急切型方案?97:软件开发理论与实践,LNCS 1214,Springer-Verlag,1997,第490-501页。
[21] Liang,C.:《高阶逻辑编程中的编译器构造》,载于第四届声明性语言实践方面国际研讨会,LNCS 2257,Springer Verlag,2002,第47-63页。
[22] Miller,D.:《将简单类型的lambda-terms统一为逻辑编程》,第八届国际逻辑编程会议,麻省理工学院出版社,1991年6月,第255-269页。
[23] Miller,D.:一种具有lambda抽象、函数变量和简单统一的逻辑编程语言,J.logic Compute。1(4) (1991), 497-536. ·Zbl 0738.68016号 ·doi:10.1093/logcom/1.4.497
[24] Miller,D.:混合前缀下的统一,J.符号计算。14(1992),321-358·Zbl 0768.68067号 ·doi:10.1016/0747-7171(92)90011-R
[25] Mottl,M.:《自动化功能程序转换》,爱丁堡大学信息学系硕士论文,2000年9月。
[26] 穆尼奥斯,C.:《显式代换演算中强正规化的融合与保持》,载于第十一届IEEE计算机科学逻辑研讨会,IEEE计算机社会出版社,1996年7月,第440-447页。
[27] Nadathur,G.:lambda项的细粒度符号及其在内涵运算中的使用,J.Funct。逻辑编程2(1999年3月)·Zbl 0924.68055号
[28] Nadathur,G.和Miller,D.:概述?Prolog,收录于K.A.Bowen和R.A.Kowalski(编辑),第五届国际逻辑编程会议,麻省理工学院出版社,1988年8月,第810-827页。
[29] Nadathur,G.和Wilson,D.S.:lambda术语的符号:环境的概括,理论。计算。科学。198(1-2) (1998), 49-98. ·Zbl 0901.03015号 ·doi:10.1016/S0304-3975(97)00184-9
[30] Nadathur,G.和Mitchell,D.J.:系统描述:Teyjus?基于编译器和抽象机的?Prolog,H.Ganzinger(编辑),自动扣除?CADE-16,《人工智能课堂讲稿1632》,斯普林格·弗拉格出版社,1999年7月,第287-291页。
[31] Nipkow,T.、Paulson,L.C.和Wenzel,M.:Isabelle/HOL?高阶逻辑的证明助手,LNCS 2283,Springer,2002·Zbl 0994.68131号
[32] Pfenning,F.和Elliott,C.:高阶抽象语法,《ACM-SIGPLAN编程语言设计与实现会议论文集》,ACM出版社,1988年6月,第199-208页。
[33] Pfenning,F.和Schürmann,C.:系统描述:Twelf?演绎系统的元逻辑框架,见H.Ganzinger(ed.),《第16届自动演绎国际会议论文集》(CADE-16),意大利特伦托,LNAI 1632,斯普林格-Verlag,1999年7月,第202-206页。
[34] Coq开发团队:Coq证明助理参考手册7.2版,技术报告255,INRIA,2002年2月。可从网站获取更新版本http://coq.inria.fr/。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。