MSFP '10最新文献

筛选
英文 中文
Hybrid: reasoning with higher-order abstract syntax in coq and isabelle 混合:在coq和isabelle中使用高阶抽象语法进行推理
MSFP '10 Pub Date : 2010-09-25 DOI: 10.1145/1863597.1863599
A. Felty
{"title":"Hybrid: reasoning with higher-order abstract syntax in coq and isabelle","authors":"A. Felty","doi":"10.1145/1863597.1863599","DOIUrl":"https://doi.org/10.1145/1863597.1863599","url":null,"abstract":"We present recent work on the Hybrid system, a logical framework for specifying and reasoning about languages and deductive systems. One of the main areas of application of this system is developing formal proofs of properties of programming languages. It is well-known that those languages that are formally proven to be sound can better provide a solid basis for building software systems that are reliable and secure.\u0000 Hybrid is designed to exploit the advantages of higher-order abstract syntax within the well-understood setting of higher-order logic as implemented in a variety of general theorem proving systems. It is currently implemented in both Isabelle/HOL and Coq.\u0000 Hybrid is definitional and introduces no new axioms. In particular, a de Bruijn representation of lambda-terms provides a definitional layer that allows the user to represent object languages using higher-order abstract syntax, while offering tools for reasoning about them at the higher level.\u0000 We describe a variety of features of Hybrid, including two-level reasoning and inductive reasoning about open terms, and we present case studies to illustrate these features. We also discuss both classical and constructive versions of Hybrid.","PeriodicalId":355206,"journal":{"name":"MSFP '10","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129693481","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Hereditarily finite representations of natural numbers and self-delimiting codes 自然数的遗传有限表示和自定界代码
MSFP '10 Pub Date : 2010-09-25 DOI: 10.1145/1863597.1863602
Paul Tarau
{"title":"Hereditarily finite representations of natural numbers and self-delimiting codes","authors":"Paul Tarau","doi":"10.1145/1863597.1863602","DOIUrl":"https://doi.org/10.1145/1863597.1863602","url":null,"abstract":"Using a bijection between natural numbers and hereditarily finite functions we derive a new reversible variable length self-delimiting code through a bitstring representation in a balanced parenthesis language. The code features the ability to encode arbitrarily nested data types, can represent huge (low \"complexity\") numbers, and is decodable from its beginning or its end. Besides its possible practical applications to media stream encodings, a comparison with the well-known Elias omega code and a conjecture about its asymptotic behavior under the Kraft inequality suggest it as an interesting object of study for experimental mathematicians.\u0000 The paper is organized as a self-contained literate Haskell program inviting the reader to explore its content independently. Its code is available at http://logic.cse.unt.edu/tarau/research/2010/selfdelim.hs","PeriodicalId":355206,"journal":{"name":"MSFP '10","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121771002","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Hereditary substitutions for simple types, formalized 简单类型的遗传替换,已形式化
MSFP '10 Pub Date : 2010-09-25 DOI: 10.1145/1863597.1863601
C. Keller, Thorsten Altenkirch
{"title":"Hereditary substitutions for simple types, formalized","authors":"C. Keller, Thorsten Altenkirch","doi":"10.1145/1863597.1863601","DOIUrl":"https://doi.org/10.1145/1863597.1863601","url":null,"abstract":"We analyze a normalization function for the simply typed λ-calculus based on hereditary substitutions, a technique developed by Pfenning et al. The normalizer is implemented in Agda, a total language where all programs terminate. It requires no termination proof since it is structurally recursive which is recognized by Agda's termination checker. Using Agda as an interactive theorem prover we establish that our normalization function precisely identifies Βη-equivalent terms and hence can be used to decide Βη-equality. An interesting feature of this approach is that it is clear from the construction that Βη-equality is primitive recursive.","PeriodicalId":355206,"journal":{"name":"MSFP '10","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124042685","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 19
Type inference in context 上下文中的类型推断
MSFP '10 Pub Date : 2010-09-25 DOI: 10.1145/1863597.1863608
Adam Gundry, Conor McBride, J. McKinna
{"title":"Type inference in context","authors":"Adam Gundry, Conor McBride, J. McKinna","doi":"10.1145/1863597.1863608","DOIUrl":"https://doi.org/10.1145/1863597.1863608","url":null,"abstract":"We consider the problems of first-order unification and type inference from a general perspective on problem-solving, namely that of information increase in the problem context. This leads to a powerful technique for implementing type inference algorithms. We describe a unification algorithm and illustrate the technique for the familiar Hindley-Milner type system, but it can be applied to more advanced type systems. The algorithms depend on well-founded contexts: type variable bindings and type-schemes for terms may depend only on earlier bindings. We ensure that unification yields a most general unifier, and that type inference yields principal types, by advancing definitions earlier in the context only when necessary.","PeriodicalId":355206,"journal":{"name":"MSFP '10","volume":"35 7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125724200","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
Epigram prime: a demonstration 警句:一个示范
MSFP '10 Pub Date : 2010-09-25 DOI: 10.1145/1863597.1863610
Peter Morris
{"title":"Epigram prime: a demonstration","authors":"Peter Morris","doi":"10.1145/1863597.1863610","DOIUrl":"https://doi.org/10.1145/1863597.1863610","url":null,"abstract":"It would not be too much of a stretch to imagine that dependent types will be the next big thing in programming language research. The key benefit is that by allowing types to be indexed by data, it is possible to expose more and more of the structure that lies behind the programs we write. This leads to many pay-offs, especially in refined program control and in program verification. The appearance of GADTs in Haskell has shown that there is an appetite for this kind of type discipline in the functional programming community; we believe, however, that the full benefits will only be seen with a language that is designed from the ground up around the idea of dependent types.\u0000 The Epigram project has been at the fore-front of research in to dependently typed functional programming since 2004 [4]. While its initial prototype implementation proved to be as notorious as it was influential - It nonetheless provided inspiration for many features in the latest version of the Agda programming language [5], and beyond. After a long period of development hell, the Epigram team [2] are well on the way to being able to release a system that will finally put the toys that we've been working on in the hands of people who are impatient to have them, including ourselves. We hope that the real impact of Epigram 2 will, once again, be its influence on other, more mature, languages. The key motivation to Epigram remains that the solution to many of the challenges to writing programs in dependently typed languages lies with the types themselves. By explaining, using the type system, what the problem is, we can then use the system to help us find the solution - this is the power of dependent types at work.\u0000 In this demonstration, I will introduce the current state of the system and will show off some of the new features, which we hope will be of interest the MSFP audience. Of the new elements, the most fundamental change is in the underlying Type Theory, which is based on Observational Type Theory (OTT) [1]. Thanks to OTT, Epigram 2 provides the ability to reason extensionally about programs, while for the first time maintaining decidable type checking. I will also demonstrate how it has been possible to extended the equality to allow certain algebraic properties, for instance the functor laws, to hold definitionally. Our Type Theory also implements a reflective approach to data types [3], we will see how we can use this to write generic programs inductively over the structure of data types.","PeriodicalId":355206,"journal":{"name":"MSFP '10","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130889135","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Arrows are strong monads 箭头是强大的单子
MSFP '10 Pub Date : 2010-09-25 DOI: 10.1145/1863597.1863607
Kazuyuki Asada
{"title":"Arrows are strong monads","authors":"Kazuyuki Asada","doi":"10.1145/1863597.1863607","DOIUrl":"https://doi.org/10.1145/1863597.1863607","url":null,"abstract":"Hughes' arrows were shown, by Jacobs et al., to be roughly monads in the bicategory Prof of profunctors (distributors, modules). However in their work as well as others', the categorical nature of the first operator was not pursued and its formulation remained rather ad hoc. In this paper, we identify first with strength for a monad, therefore: arrows are strong monads in Prof. Strong monads have been widely used in the semantics of functional programming after Moggi's seminal work, therefore our observation establishes categorical canonicity of the notion of arrow.","PeriodicalId":355206,"journal":{"name":"MSFP '10","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123909737","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 19
Foundational program verification in Coq with automated proofs 在Coq中使用自动证明进行基础程序验证
MSFP '10 Pub Date : 2010-09-25 DOI: 10.1145/1863597.1863603
A. Chlipala
{"title":"Foundational program verification in Coq with automated proofs","authors":"A. Chlipala","doi":"10.1145/1863597.1863603","DOIUrl":"https://doi.org/10.1145/1863597.1863603","url":null,"abstract":"Most people who know of the proof assistant Coq associate it with long, manual proofs via tactic scripts. In contrast, classical verification tools, based on automated theorem-provers for first-order logic, are well established as supporting program verification without any manual proof steps. However, there is a price to pay: program verifiers are large, complex bodies of code, and believing their outputs requires believing in much more than the correct implementation of Coq's proof-checking kernel.\u0000 In this tutorial, I will demonstrate how to use the Bedrock Coq library to get the best of both worlds. Our focus will be on the kinds of programs with the most tedious detail and the most opportunity to benefit from automation: namely, those written in assembly language. I will show how to build automated correctness proofs of simple imperative data structures, while dealing with first-class code pointers and producing Coq proof terms for theorems whose statements depend on little beyond operational semantics of machine code.","PeriodicalId":355206,"journal":{"name":"MSFP '10","volume":"15 8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116870517","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信