证明的继承

M. Hofmann, Wolfgang Naraschewski, M. Steffen, T. Stroup
{"title":"证明的继承","authors":"M. Hofmann, Wolfgang Naraschewski, M. Steffen, T. Stroup","doi":"10.1002/(SICI)1096-9942(1998)4:1<51::AID-TAPO4>3.0.CO;2-A","DOIUrl":null,"url":null,"abstract":"The Curry-Howard isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit object-oriented structuring mechanisms for veriication, we extend the object-model of Pierce and Turner, based on the higher-order typed-calculus F ! , with a logical component. By enriching the (functional) signature of objects with a speciication, the methods and their correctness proofs are packed together in the objects. The uniform treatment of methods and proofs gives rise in a natural way to object-oriented proving principles | including inheritance of proofs, late binding of proofs, and encapsulation of proofs | as analogues to object-oriented programming principles. We have used Lego, a type-theoretic proof checker, to explore the feasibility of this approach. In particular, we have veriied a small hierarchy of classes. 1. Introduction Many programming languages have been developed to ease modular and structured design of programs. The popularity of powerful structuring techniques, including object-oriented ones, is a convincing argument that those mechanisms support the programming task. Depending on the programming style, they cater to divide-and-conquer strategies for breaking down large programs into abstract data types, modules, objects, or similar. Since the resulting components ideally mirror the decomposition of the problem into conceptually","PeriodicalId":293061,"journal":{"name":"Theory Pract. Object Syst.","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":"{\"title\":\"Inheritance of Proofs\",\"authors\":\"M. Hofmann, Wolfgang Naraschewski, M. Steffen, T. Stroup\",\"doi\":\"10.1002/(SICI)1096-9942(1998)4:1<51::AID-TAPO4>3.0.CO;2-A\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Curry-Howard isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit object-oriented structuring mechanisms for veriication, we extend the object-model of Pierce and Turner, based on the higher-order typed-calculus F ! , with a logical component. By enriching the (functional) signature of objects with a speciication, the methods and their correctness proofs are packed together in the objects. The uniform treatment of methods and proofs gives rise in a natural way to object-oriented proving principles | including inheritance of proofs, late binding of proofs, and encapsulation of proofs | as analogues to object-oriented programming principles. We have used Lego, a type-theoretic proof checker, to explore the feasibility of this approach. In particular, we have veriied a small hierarchy of classes. 1. Introduction Many programming languages have been developed to ease modular and structured design of programs. The popularity of powerful structuring techniques, including object-oriented ones, is a convincing argument that those mechanisms support the programming task. Depending on the programming style, they cater to divide-and-conquer strategies for breaking down large programs into abstract data types, modules, objects, or similar. Since the resulting components ideally mirror the decomposition of the problem into conceptually\",\"PeriodicalId\":293061,\"journal\":{\"name\":\"Theory Pract. Object Syst.\",\"volume\":\"4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"11\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Theory Pract. Object Syst.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1002/(SICI)1096-9942(1998)4:1<51::AID-TAPO4>3.0.CO;2-A\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theory Pract. Object Syst.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/(SICI)1096-9942(1998)4:1<51::AID-TAPO4>3.0.CO;2-A","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11

摘要

Curry-Howard同构是许多类型理论共有的一个基本性质,它建立了程序和证明之间的直接对应关系。这表明简化编程的结构化原则也可以用于简化证明。为了利用面向对象的结构机制进行验证,我们扩展了Pierce和Turner的对象模型,基于高阶类型演算F !,其中包含逻辑组件。通过用规范丰富对象的(功能)签名,将方法及其正确性证明打包在对象中。方法和证明的统一处理以一种自然的方式产生了面向对象的证明原则,包括证明的继承、证明的后期绑定和证明的封装,作为面向对象编程原则的类比。我们使用类型理论证明检查器Lego来探索这种方法的可行性。特别是,我们已经验证了一个小的类层次结构。1. 许多编程语言都是为了简化程序的模块化和结构化设计而开发的。强大的结构化技术(包括面向对象技术)的流行是一个令人信服的论据,说明这些机制支持编程任务。根据编程风格的不同,它们采用分而治之的策略,将大型程序分解为抽象数据类型、模块、对象或类似的东西。因为所得到的组件理想地反映了问题在概念上的分解
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Inheritance of Proofs
The Curry-Howard isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit object-oriented structuring mechanisms for veriication, we extend the object-model of Pierce and Turner, based on the higher-order typed-calculus F ! , with a logical component. By enriching the (functional) signature of objects with a speciication, the methods and their correctness proofs are packed together in the objects. The uniform treatment of methods and proofs gives rise in a natural way to object-oriented proving principles | including inheritance of proofs, late binding of proofs, and encapsulation of proofs | as analogues to object-oriented programming principles. We have used Lego, a type-theoretic proof checker, to explore the feasibility of this approach. In particular, we have veriied a small hierarchy of classes. 1. Introduction Many programming languages have been developed to ease modular and structured design of programs. The popularity of powerful structuring techniques, including object-oriented ones, is a convincing argument that those mechanisms support the programming task. Depending on the programming style, they cater to divide-and-conquer strategies for breaking down large programs into abstract data types, modules, objects, or similar. Since the resulting components ideally mirror the decomposition of the problem into conceptually
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
The Electronic Library Project: SGML Document Management System Based on ODBMS A Performance Study of Object Database Management Systems Building CORBA Applications with an Object Database System Object Management for a Visual Data Analysis Tool In the Trenches with ObjectStore
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1