一句话:在 Isabelle 中以无限 trie 的余归纳表示形式语言,定义正则运算并证明 Kleene 代数公理,证明自动化优于词集合视角。
传统上形式语言被定义为词的集合,而近年来出现了一种余代数/余归纳的替代表示:以按字母表分支的无限 trie(前缀树)来表示语言。该表示已被用于获得语言理论中经典结果的紧凑而优雅的证明。本文在 Isabelle 证明助手中系统研究这一表示:在无限 trie 上定义正则运算,并用余递归与余归纳证明这些运算满足 Kleene 代数公理。通过这一机器化形式化,作者实践了余递归与余归纳技术,并证实余归纳视角在形式化中是有益的——与词的集合视角相比,它在证明自动化方面表现出优势。本文是同名 FSCD 2016 论文的扩展版本。
Traditionally, formal languages are defined as sets of words. More recently, the alternative coalgebraic or coinductive representation as infinite tries, i.e., prefix trees branching over the alphabet, has been used to obtain compact and elegant proofs of classic results in language theory. In this article, we study this representation in the Isabelle proof assistant. We define regular operations on infinite tries and prove the axioms of Kleene algebra for those operations. Thereby, we exercise corecursion and coinduction and confirm the coinductive view being profitable in formalizations, as it improves over the set-of-words view with respect to proof automation.Comment: Extended version of homonymous FSCD 2016 paper