{"title":"Well-Behaved (Co)algebraic Semantics of Regular Expressions in Dafny","authors":"Stefan Zetzsche, Wojciech Rozowski","doi":"arxiv-2409.09889","DOIUrl":null,"url":null,"abstract":"Regular expressions are commonly understood in terms of their denotational\nsemantics, that is, through formal languages -- the regular languages. This\nview is inductive in nature: two primitives are equivalent if they are\nconstructed in the same way. Alternatively, regular expressions can be\nunderstood in terms of their operational semantics, that is, through\ndeterministic finite automata. This view is coinductive in nature: two\nprimitives are equivalent if they are deconstructed in the same way. It is\nimplied by Kleene's famous theorem that both views are equivalent: regular\nlanguages are precisely the formal languages accepted by deterministic finite\nautomata. In this paper, we use Dafny, a verification-aware programming\nlanguage, to formally verify, for the first time, what has been previously\nestablished only through proofs-by-hand: the two semantics of regular\nexpressions are well-behaved, in the sense that they are in fact one and the\nsame, up to pointwise bisimilarity. At each step of our formalisation, we\npropose an interpretation in the language of Coalgebra. We found that Dafny is\nparticularly well suited for the task due to its inductive and coinductive\nfeatures and hope our approach serves as a blueprint for future generalisations\nto other theories.","PeriodicalId":501124,"journal":{"name":"arXiv - CS - Formal Languages and Automata Theory","volume":"195 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Formal Languages and Automata Theory","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.09889","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Regular expressions are commonly understood in terms of their denotational
semantics, that is, through formal languages -- the regular languages. This
view is inductive in nature: two primitives are equivalent if they are
constructed in the same way. Alternatively, regular expressions can be
understood in terms of their operational semantics, that is, through
deterministic finite automata. This view is coinductive in nature: two
primitives are equivalent if they are deconstructed in the same way. It is
implied by Kleene's famous theorem that both views are equivalent: regular
languages are precisely the formal languages accepted by deterministic finite
automata. In this paper, we use Dafny, a verification-aware programming
language, to formally verify, for the first time, what has been previously
established only through proofs-by-hand: the two semantics of regular
expressions are well-behaved, in the sense that they are in fact one and the
same, up to pointwise bisimilarity. At each step of our formalisation, we
propose an interpretation in the language of Coalgebra. We found that Dafny is
particularly well suited for the task due to its inductive and coinductive
features and hope our approach serves as a blueprint for future generalisations
to other theories.