×

用Sparkle证明惰性函数程序的属性。 (英语) Zbl 1170.68420号

Horváth,Zoltán(编辑)等人,中欧函数编程学校。2007年6月23日至30日,罗马尼亚克卢日-纳波卡,第二所暑期学校,CEFP 2007。修订了选定的讲座。柏林:施普林格出版社(ISBN 978-3-540-88058-5/pbk)。《计算机科学讲义》5161,41-86(2008)。
小结:本教程的目的是提供与校对助手Sparkle合作所需的专业知识,该助手专门用于惰性函数式编程语言Clean。证明助手的目的是使用形式推理来验证计算机程序的正确性。形式推理非常强大,但不幸的是也很难实现。
由于其数学性质,函数式编程语言非常适合于形式推理。此外,Sparkle为Clean的推理提供了专门支持,并集成到其官方开发环境中。这些因素使Sparkle成为一个相对容易使用的校对助手。
本文提供了形式推理的理论背景,以及在实践中使用Sparkle的详细信息。将特别注意由于懒惰评估和存在严格注释而产生的特定方面。课文中包含了几个作业,提供了使用Sparkle的实际操作经验。
关于整个系列,请参见[Zbl 1154.68015号].

MSC公司:

68甲18 函数编程和lambda演算
68甲15 编程语言理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] 阿贝尔。;本克,M。;Bove,A。;休斯,J。;美国诺雷尔。;Leijen,D.,《使用构造型理论验证Haskell程序》,《ACM SIGPLAN 2005年哈斯克尔研讨会论文集》,62-74(2005),纽约:ACM出版社,纽约·doi:10.1145/1088348.1088355
[2] 巴伦德雷格特,H.P。;van Eekelen,M.C.J.D。;Glauert,J.R.W。;肯纳韦,R。;Plasmeijer,M.J。;睡眠,M.R。;de Bakker,J.W。;奈曼,A.J。;Trelevan,P.C.,术语图重写,欧洲并行架构和语言PARLE,141-158(1987),海德堡:斯普林格
[3] 巴伦德森,E。;Smetsers,S.,《函数编程的图形重写方面》,《图形语法和图形转换计算手册》,63-102(1999),新加坡:世界科学出版社,新加坡·Zbl 0951.68049号
[4] Bird,R.S.,《使用Haskell的函数编程导论》(1998),恩格尔伍德悬崖:普伦蒂斯·霍尔,恩格尔伍德悬崖
[5] 布鲁斯·T·H。;van Eekelen,M.C.J.D。;医学博士van Leer。;Plasmeijer,M.J.,《清洁:函数图写作语言》,《函数编程语言与计算机体系结构学报》,364-384(1987),海德堡:施普林格,海德堡·Zbl 0633.68003号
[6] Burn,G.L.,《Evaluation transformers a model for the parallel evolution of functional languages》,程序。关于函数式编程语言和计算机体系结构的会议,446-470(1987),海德堡:施普林格,海德堡·Zbl 0624.68014号
[7] 巴特菲尔德,A。;强G。;艺术,T。;Mohnen,M.,《用I/O证明程序的正确性——范式比较》,《函数语言的实现》,72-88(2002),海德堡:斯普林格·doi:10.1007/3-540-46028-45
[8] 巴特菲尔德,A。;强G。;艺术,T。;Mohnen,M.,用io证明程序的正确性-范例比较。,《函数语言的实现》,72-87(2002),海德堡:斯普林格出版社·Zbl 1053.68548号 ·doi:10.1007/3-540-46028-45
[9] Coquand,T.、Dybjer,P.、Hughes,J.、Sheeran,M.:结合软件开发中的验证方法。项目建议书,瑞典查尔默斯技术学院(2001年12月)
[10] Danielsson,N.A。;休斯,J。;Jansson,P。;Gibbons,J.,快速和松散的推理在道德上是正确的,SIGPLAN不是。,41, 1, 206-217 (2006) ·Zbl 1370.68042号 ·数字对象标识代码:10.1145/1111320.1111056
[11] 德莫尔,M。;van Eekelen,M。;Plasmeijer,R。;艺术,T。;Mohnen,M.,《函数程序员的定理证明——Sparkle:函数定理证明器》,《函数语言的实现》,55-72(2002),海德堡:斯普林格出版社·Zbl 1053.68556号 ·doi:10.1007/3-540-46028-44
[12] de Mol,M.、van Eekelen,M.和Plasmeijer,R.:用于证明助手的单步术语粒度缩减系统。收录于:Schürr,A.、Nagl,M.、Zündorf,A.(编辑)《工业关联图形变换应用的精选和邀请论文集》,第三届国际研讨会,2007年,AGTIVE,德国卡塞尔,第181-197页(2007)
[13] de Mol,M.、van Eekelen,M.和Plasmeijer,R.:证明助手Sparkle的数学基础。技术报告ICIS-R07025,奈梅亨Radboud大学(2007年11月)
[14] 道斯,M。;巴特菲尔德,A。;van Eekelen,M.C.J.D。;格雷克,C。;Huch,F.等人。;迈克尔森,G。;Trinder,P.W.,《关于确定性并发函数I/O的推理》,IFL,177-194(2004),海德堡:Springer,Heidelberg·兹比尔1119.68331
[15] 吉尔,A。;Turner,D.N.,《方程式推理助手图形用户界面背后的技术》。,函数编程,4(1995),海德堡:施普林格
[16] Gill,A.,《haskell等式推理助手简介》,Haskell2006:2006年ACM SIGPLAN Haskill研讨会论文集,108-109(2006),纽约:ACM出版社,纽约·doi:10.1145/1159842.1159856
[17] Gordon,A.,作为函数编程理论的双相似性,《第十一届编程语义数学基础会议论文集》(1995),阿姆斯特丹:Elsevier Science B.V·Zbl 0910.68118号
[18] 戈登,M。;米尔纳,R。;华兹华斯,C.,《爱丁堡LCF:机械化计算逻辑》(1979),柏林:施普林格出版社,柏林·Zbl 0421.68039号
[19] Horváth,Z.,Kozsik,T.,Tejfel,M.:证明函数程序的不变量。收录:Kilpeläinen,P.,Päivinen,N.(编辑)SPLST。计算机科学系,第115-126页。库皮奥大学(2003)
[20] Hudak,P。;Jones,S.L.P。;Wadler,P。;布特尔,B。;费尔贝恩,J。;法塞尔,J.H。;Guzmán,M.M。;哈蒙德,K。;休斯,J。;Johnsson,T。;基伯茨,R.B。;Nikhil,R.S。;Partain,W。;Peterson,J.,《关于编程语言Haskell的报告,一种非标准的纯函数语言》,SIGPLAN通告,27,5,1-164(1992)
[21] van Kesteren,R.,van Eekelen,M.,de Mol,M.:对一般类型类的证明支持。摘自:Loidl,H.-W.(编辑)《函数编程趋势5:第五届函数编程趋势国际研讨会论文集》,TFP 2004,德国慕尼黑,Intellect,第1-16页(2004)
[22] Mintchev,S。;哈蒙德,K。;特纳,D。;Sansom,P.,功能程序的机械化推理,格拉斯哥功能程序研讨会论文集,151-167(1994),海德堡:斯普林格
[23] 诺尔·T。;Fredlund,L.公司。;Gurov,D。;Margaria,T。;Yi,W.,《evt-erlang验证工具》,《第七届系统构建和分析工具和算法国际会议论文集》(TACAS 2001),582-585(2001),海德堡:斯普林格,海德伯格·兹伯利0978.68703 ·doi:10.1007/3-540-45319-941
[24] Owre,S.,Shankar,N.,Rushby,J.,Stringer-Calvert,D.:《PVS语言参考》(版本2.4)(2001),http://pvs.csl.sri.com/doc/pvs-prover-guide.pdf
[25] Paulson,L.C.,《逻辑与计算》(1987),剑桥:剑桥大学出版社,剑桥·Zbl 0645.68041号
[26] 保尔森,L.C.:《伊莎贝尔参考手册》。剑桥大学(2007),http://isabelle.in.tum.de/doc/ref.pdf
[27] Plasmeijer,R。;van Eekelen,M.,《函数编程与并行图重写》(1993),阅读:Addison-Wesley出版社,阅读·Zbl 0788.68023号
[28] Plasmeijer,R。;van Eekelen,M.,《保持干净:函数编程的独特方法》,SIGPLAN Not。,34, 6, 23-31 (1999) ·doi:10.1145/606666.606670
[29] Plasmeijer,R.,van Eekelen,M.:并行清洁语言报告(2.0版)(2001年12月),网址:http://www.cs.ru.nl/清洁/
[30] Tejfel,M.,Horváth,Z.,Kozsik,T.:用对象抽象扩展闪耀的核心语言。《网络学报》。17(2) (2006) ·Zbl 1101.68454号
[31] Coq开发团队。Coq Proof Assistant参考手册(7.3版)。Inria(2002),http://pauillac.iria.fr/cdrom/www/coq/doc/main.html
[32] Trinder,P.W。;哈蒙德,K。;Loidl,H.-W。;Jones,S.L.P.,算法+策略=并行,J.Funct。程序。,8, 1, 23-60 (1998) ·Zbl 0933.68033号 ·doi:10.1017/S0956796897002967
[33] van Eekelen,M。;德莫尔,M。;巴特菲尔德,A。;格雷克,C。;Huch,F.,对显式严格性的证明工具支持,函数语言的实现和应用,37-54(2006),海德堡:施普林格,海德堡·Zbl 1236.68033号 ·doi:10.1007/11964681_3
[34] Winstanley,N.:《时代用户手册》,2.0版。格拉斯哥大学(1998年3月),http://www.dcs.gla.ac.uk/nww/Era/Era.html
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。