×

用高阶逻辑证明指针程序。 (英语) Zbl 1081.68008号

摘要:在Burstall工作的基础上,本文为带有指针的命令式程序开发了良好的建模和推理方法:堆被建模为从地址到值的映射,指针结构被映射到更高级的数据类型以进行验证。编程语言嵌入到高阶逻辑中。它的霍尔逻辑被导出。整个发展完全是定义性的,因此是合理的。除了一些较小的例子外,还通过一个非平凡的案例研究证明了这种方法的可行性。我们证明了Schorr-Waite图标记算法的正确性,并在Isabelle/HOL中给出了它的部分可读证明。

MSC公司:

第68页第19页 其他编程范式(面向对象、顺序、并发、自动等)
68号30 软件工程的数学方面(规范、验证、度量、需求等)
68吨15 定理证明(演绎、解析等)(MSC2010)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Abrial,J.R.,《基于事件的顺序程序开发:构建指针程序的应用》(Araki,K.;Gnesi,S.;Mandrioli,D.,《欧洲形式方法》(FME 2003)。欧洲正式方法(FME 2003),Lect。公司注释。科学。,第2805卷(2003年),《斯普林格·弗拉格:柏林斯普林格尔·弗拉格》,第51-74页
[2] Abrial,J.R。;Cansell,D.,Click’n provement:集合论中的交互证明,(Basin,D.;Wolff,B.,《高阶逻辑中的定理证明》,TPHOLs 2003。《高阶逻辑中的定理证明》,TPHOLs 2003,Lect。公司注释。科学。,第2758卷(2003年),《斯普林格·弗拉格:柏林斯普林格尔·弗拉格》,1-24·Zbl 1279.68283号
[3] Bornat,R.,《Hoare Logic中指针程序的证明》,(Backhouse,R.;Oliveira,J.,《程序构造的数学》(MPC 2000)。程序构造数学(MPC 2000),Lect。公司注释。科学。,第1837卷(2000年),《斯普林格·弗拉格:柏林斯普林格尔·弗拉格》,102-126·Zbl 0963.68036号
[4] 博纳特,R。;Sufrin,B.,表面动画形式证明:日本证明计算器,Comput。J.,43,177-192(1999)
[5] R.Bornat,日语指针程序的证明。可从以下位置获得:<网址:http://www.dcs.qmul.ac.uk/理查德/指针/;R.Bornat,日语指针程序的校对。可从以下位置获得:<网址:http://www.dcs.qmul.ac.uk/理查德/指针/
[6] Burstall,R.,《证明改变数据结构的程序正确性的一些技术》(Meltzer,B.;Michie,D.,《机器智能》7(1972),爱丁堡大学出版社),23-50·Zbl 0259.68009号
[7] Clearsy,Atelier B.用户手册,Aix-en-Provence(2001);Clearsy,Atelier B.用户手册,Aix-en-Provence(2001)
[8] Gordon,M.J.C.,《高阶逻辑中的编程逻辑机械化》,Curr。趋势硬件验证自动定理证明,387-439(1989)
[9] J.L.Jensen、M.E.Joergensen、M.I.Schwartzbach、N.Klarlund,《使用一元二阶逻辑自动验证指针程序》,载于《1997年ACM SIGPLAN编程语言设计与实现会议论文集》,ACM出版社,1997年,第226-234页;J.L.Jensen、M.E.Joergensen、M.I.Schwartzbach、N.Klarlund,《使用一元二阶逻辑自动验证指针程序》,载于《1997年ACM SIGPLAN编程语言设计与实现会议论文集》,ACM出版社,1997年,第226-234页
[10] F.Mehta,T.Nipkow,用高阶逻辑证明指针程序。可从以下位置获得:<网址:http://www.in.tum.de/nipkow/pubs/iandc05.html;F.Mehta,T.Nipkow,用高阶逻辑证明指针程序。可从以下位置获得:<网址:http://www.in.tum.de/nipkow/pubs/iandc05.html·Zbl 1278.68274号
[11] Nipkow,T.,《Isar/HOL中的结构化证明》,(Geuvers,H.;Wiedijk,F.,《证明和程序的类型》(Types 2002)。证明和程序的类型(Types 2002),Lect。公司注释。科学。,第2646卷(2003年),《斯普林格·弗拉格:柏林斯普林格尔·弗拉格》,259-278·兹比尔1023.68657
[12] T.Nipkow,L.Paulson,M.Wenzel,Isabelle/HOL-高阶逻辑的证明助手,Lect。公司注释。科学。,第2283卷,Springer-Verlag,柏林,2002年。可从以下位置获得:网址:http://www.in.tum.de/尼普科夫/LNCS2283/;T.Nipkow,L.Paulson,M.Wenzel,Isabelle/HOL-高阶逻辑的证明助手,Lect。公司注释。科学。,第2283卷,Springer-Verlag,柏林,2002年。可从以下位置获得:网址:http://www.in.tum.de/尼普科夫/LNCS2283/·Zbl 0994.68131号
[13] Nipkow,T.,Winskel(几乎)是对的:朝向一本机械化的语义教科书,Formal Asp。计算。,10, 171-186 (1998) ·Zbl 0910.68138号
[14] Paulson,L.C.,《通用自动校对工具》(Veroff,R.,《自动推理及其应用:纪念Larry Wos的论文》(1997),麻省理工出版社),23-47·Zbl 0928.68101号
[15] L.C.Paulson,通用表格校准器及其与Isabelle的集成,技术代表441,剑桥大学计算机实验室,1998年;L.C.Paulson,通用表格校准器及其与Isabelle的集成,技术代表441,剑桥大学计算机实验室,1998年·Zbl 0961.68116号
[16] Reynolds,J.C.,关于共享可变数据结构的直觉推理,(Davies,J.;Roscoe,B.;Woodcock,J.,《计算机科学的千年展望》(2000),帕尔格雷夫:帕尔格雷夫·洪斯米尔,汉普郡),303-321
[17] J.C.Reynolds,《分离逻辑:共享可变数据结构的逻辑》,摘自:Proc。第17届IEEE计算机科学逻辑研讨会(LICS 2002),2002年,第55-74页;J.C.Reynolds,《分离逻辑:共享可变数据结构的逻辑》,摘自:Proc。第17届IEEE计算机科学逻辑研讨会(LICS 2002),2002年,第55-74页
[18] J.C.Reynolds,“软件的规范、验证和改进”课堂笔记,CMU,2003年春季,第3章,第51-61页,可从作者主页获得;J.C.Reynolds,“软件规范、验证和优化”课堂笔记,CMU,2003年春季,第3章,第51-61页,可从作者主页获取
[19] 肖尔,H。;Waite,W.M.,一种在各种列表结构中进行垃圾收集的高效的独立于机器的过程,Commun。ACM,10,8,501-506(1967)·Zbl 0149.12608号
[20] N.铃木,《复杂数据结构程序的自动验证》,斯坦福大学博士论文(1976年),加兰出版社(1980年);N.铃木,复杂数据结构程序的自动验证,斯坦福大学博士论文(1976年),加兰出版社(1980年)
[21] M.Wenzel,Isabelle/isar-人类可读正式证明文件的通用环境,慕尼黑理工大学信息研究所博士论文。可从以下位置获得:http://tumb1.biblio.tu-muenchen.de/publ/diss/in/2002/wenzel.html; M.Wenzel,Isabelle/isar-人类可读正式证明文件的通用环境,慕尼黑理工大学信息研究所博士论文。可从以下位置获得:http://tumb1.biblio.tu-muenchen.de/publ/diss/in/2002/wenzel.html
[22] H.Yang,《国家项目的地方推理》,伊利诺伊大学厄本纳-香槟分校博士论文(2001年);H.Yang,《国家项目的地方推理》,伊利诺伊大学厄本纳-香槟分校博士论文(2001年)
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。