paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Coinductive Proofs of Regular Expression Equivalence in Zero Knowledge

零知识中正则表达式等价性的余归纳证明
OOPSLA 9(OOPSLA2)2025匹配度 3/10 · 论文属于形式化验证/自动机与零知识证明交叉,使用余归纳和导数构造正则表达式等价性证明,但未涉及用户核心关注的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,因此仅与形式化验证方向有较弱的边缘关联。引用 4 inbox
John C. Kolesar, Shan Ali, Timos Antonopoulos, Ruzica Piskac
crossref: 2026-09-10

AI 速览

一句话:提出首个正则表达式等价性的零知识证明协议 Crêpe,基于导数与余归纳,可在数秒内验证大规模证明。

零知识协议允许开发者在不泄露程序本身的情况下证明程序正确性。正则表达式在软件中广泛使用,已有协议可证明某字符串属于某正则表达式语言,但尚无协议处理更复杂的 PSPACE 完全问题:证明两个正则表达式等价。本文提出 Crêpe,首个编码正则表达式等价性证明的零知识协议,也是首个面向 PSPACE 完全问题的零知识协议。Crêpe 采用基于正则表达式导数和余归纳定制的证明规则演算,并提出一种可靠且完备的算法来生成该格式的证明。作者在包含数百个正则表达式等价性证明的测试集上评估 Crêpe,每个大型证明仅需数秒即可验证。

问题
如何为两个正则表达式等价这一 PSPACE 完全问题构造零知识证明,使证明者不泄露正则表达式或证明细节。
方法
提出 Crêpe,基于正则表达式导数与余归纳设计自定义证明规则演算,并给出可靠且完备的证明生成算法以编码为 ZK 协议。
评估
在包含数百个正则表达式等价性证明的测试集上评估,大型证明可在数秒内完成验证。
原文摘要(Abstract)

Zero-knowledge (ZK) protocols enable software developers to provide proofs of their programs’ correctness to other parties without revealing the programs themselves. Regular expressions are pervasive in real-world software, and zero-knowledge protocols have been developed in the past for the problem of checking whether an individual string appears in the language of a regular expression, but no existing protocol addresses the more complex PSPACE-complete problem of proving that two regular expressions are equivalent. We introduce Crêpe , the first ZK protocol for encoding regular expression equivalence proofs and also the first ZK protocol to target a PSPACE-complete problem. Crêpe uses a custom calculus of proof rules based on regular expression derivatives and coinduction, and we introduce a sound and complete algorithm for generating proofs in our format. We test Crêpe on a suite of hundreds of regular expression equivalence proofs. Crêpe can validate large proofs in only a few seconds each.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3001,
  title = {Coinductive Proofs of Regular Expression Equivalence in Zero Knowledge},
  author = {John C. Kolesar and Shan Ali and Timos Antonopoulos and Ruzica Piskac},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763063}
}