From Program Logics to Language Logics

Matteo Cimini
{"title":"From Program Logics to Language Logics","authors":"Matteo Cimini","doi":"arxiv-2408.01515","DOIUrl":null,"url":null,"abstract":"Program logics are a powerful formal method in the context of program\nverification. Can we develop a counterpart of program logics in the context of\nlanguage verification? This paper proposes language logics, which allow for\nstatements of the form $\\{P\\}\\ \\mathcal{X}\\ \\{Q\\}$ where $\\mathcal{X}$, the\nsubject of analysis, can be a language component such as a piece of grammar, a\ntyping rule, a reduction rule or other parts of a language definition. To\ndemonstrate our approach, we develop $\\mathbb{L}$, a language logic that can be\nused to analyze language definitions on various aspects of language design. We\nillustrate $\\mathbb{L}$ to the analysis of some selected aspects of a\nprogramming language. We have also implemented an automated prover for\n$\\mathbb{L}$, and we confirm that the tool repeats these analyses. Ultimately,\n$\\mathbb{L}$ cannot verify languages. Nonetheless, we believe that this paper\nprovides a strong first step towards adopting the methods of program logics for\nthe analysis of languages.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-08-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.01515","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Program logics are a powerful formal method in the context of program verification. Can we develop a counterpart of program logics in the context of language verification? This paper proposes language logics, which allow for statements of the form $\{P\}\ \mathcal{X}\ \{Q\}$ where $\mathcal{X}$, the subject of analysis, can be a language component such as a piece of grammar, a typing rule, a reduction rule or other parts of a language definition. To demonstrate our approach, we develop $\mathbb{L}$, a language logic that can be used to analyze language definitions on various aspects of language design. We illustrate $\mathbb{L}$ to the analysis of some selected aspects of a programming language. We have also implemented an automated prover for $\mathbb{L}$, and we confirm that the tool repeats these analyses. Ultimately, $\mathbb{L}$ cannot verify languages. Nonetheless, we believe that this paper provides a strong first step towards adopting the methods of program logics for the analysis of languages.
从程序逻辑到语言逻辑
在程序验证中,程序逻辑是一种强大的形式化方法。我们能否在语言验证中发展出与程序逻辑相对应的呢?本文提出了语言逻辑,它允许以 $\{P\}\mathcal{X}}\{Q\}$ 的形式陈述,其中 $\mathcal{X}$ 作为分析对象,可以是一个语言组件,如语法片段、分类规则、还原规则或语言定义的其他部分。为了演示我们的方法,我们开发了$\mathbb{L}$,这是一种语言逻辑,可以用来分析语言设计中各个方面的语言定义。我们将 $\mathbb{L}$ 用于分析编程语言的某些选定方面。我们还实现了$\mathbb{L}$的自动求证器,并确认该工具可以重复这些分析。最终,$\mathbb{L}$ 无法验证语言。尽管如此,我们相信本文为采用程序逻辑方法分析语言迈出了坚实的第一步。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
文献相关原料
公司名称 产品信息 采购帮参考价格
×
引用
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学术文献互助群
群 号:481959085
Book学术官方微信