Type soundness of functional languages with subtyping in Lang-n-Prove

IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Matteo Cimini, Joan Montas
{"title":"Type soundness of functional languages with subtyping in Lang-n-Prove","authors":"Matteo Cimini,&nbsp;Joan Montas","doi":"10.1016/j.scico.2025.103380","DOIUrl":null,"url":null,"abstract":"<div><div>Language verification is an important aspect in the cycle of programming language development, especially when such endeavor establishes properties of programming languages with mathematical proofs. Prior work proposed <figure><img></figure>, which is a domain-specific language for expressing language-parameterized proofs, that is, proofs that apply to classes of languages rather than a single language. Such work developed the language-parameterized proofs of type soundness (excluding the substitution lemmas) for a certain class of functional languages. In this paper, we extend that work to include subtyping. We have added new operations to <figure><img></figure> for expressing the proofs that are related to subtyping more naturally. We provide a semantics of our new system based on a compilation into proofs of the Abella proof assistant. Next, we develop language-parameterized proofs of type soundness (excluding the substitution lemmas) for the class of functional languages mentioned above, and of the equivalence between algorithmic and declarative subtyping. Our extended <figure><img></figure> generates Abella proofs that machine-check the type soundness of a nontrivial class of functional languages with declarative and algorithmic subtyping, when just a few simple lemmas are admitted.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103380"},"PeriodicalIF":1.4000,"publicationDate":"2025-08-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Science of Computer Programming","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167642325001194","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

Language verification is an important aspect in the cycle of programming language development, especially when such endeavor establishes properties of programming languages with mathematical proofs. Prior work proposed
, which is a domain-specific language for expressing language-parameterized proofs, that is, proofs that apply to classes of languages rather than a single language. Such work developed the language-parameterized proofs of type soundness (excluding the substitution lemmas) for a certain class of functional languages. In this paper, we extend that work to include subtyping. We have added new operations to
for expressing the proofs that are related to subtyping more naturally. We provide a semantics of our new system based on a compilation into proofs of the Abella proof assistant. Next, we develop language-parameterized proofs of type soundness (excluding the substitution lemmas) for the class of functional languages mentioned above, and of the equivalence between algorithmic and declarative subtyping. Our extended
generates Abella proofs that machine-check the type soundness of a nontrivial class of functional languages with declarative and algorithmic subtyping, when just a few simple lemmas are admitted.

Abstract Image

Lang-n-Prove中子类型函数语言的类型稳健性
语言验证是程序设计语言开发周期中的一个重要方面,特别是当这种努力通过数学证明来建立程序设计语言的特性时。先前提出的工作是,这是一种用于表达语言参数化证明的领域特定语言,也就是说,适用于语言类而不是单一语言的证明。这样的工作为某类函数式语言发展了类型稳健性的语言参数化证明(不包括代换引理)。在本文中,我们将这项工作扩展到包括子类型。我们添加了新的操作来更自然地表达与子类型相关的证明。我们提供了一个语义我们的新系统的基础上编译成证明的Abella证明助理。接下来,我们为上面提到的函数语言类开发类型稳健性(不包括替换引理)的语言参数化证明,以及算法子类型和声明子类型之间的等价性。我们的扩展生成了Abella证明,当只允许一些简单的引理时,机器检查具有声明性和算法子类型的非平凡函数语言类的类型合理性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Science of Computer Programming
Science of Computer Programming 工程技术-计算机:软件工程
CiteScore
3.80
自引率
0.00%
发文量
76
审稿时长
67 days
期刊介绍: Science of Computer Programming is dedicated to the distribution of research results in the areas of software systems development, use and maintenance, including the software aspects of hardware design. The journal has a wide scope ranging from the many facets of methodological foundations to the details of technical issues andthe aspects of industrial practice. The subjects of interest to SCP cover the entire spectrum of methods for the entire life cycle of software systems, including • Requirements, specification, design, validation, verification, coding, testing, maintenance, metrics and renovation of software; • Design, implementation and evaluation of programming languages; • Programming environments, development tools, visualisation and animation; • Management of the development process; • Human factors in software, software for social interaction, software for social computing; • Cyber physical systems, and software for the interaction between the physical and the machine; • Software aspects of infrastructure services, system administration, and network management.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信