From Program Logics to Language Logics
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 where , 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 , a language logic that can be used to analyze language definitions on various aspects of language design. We illustrate to the analysis of some selected aspects of a programming language. We have also implemented an automated prover for , and we confirm that the tool repeats these analyses. Ultimately, 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.
Cite
@article{arxiv.2408.01515,
title = {From Program Logics to Language Logics},
author = {Matteo Cimini},
journal= {arXiv preprint arXiv:2408.01515},
year = {2024}
}
Comments
This is a very close version of a paper under submission at SEFM 2024