A Lazy, Concurrent Convertibility Checker
Nathanaëlle Courant, Xavier Leroy
摘要
Convertibility checking — determining whether two lambda-terms are equal up to reductions — is a crucial component of proof assistants and dependently-typed languages. Practical implementations often use heuristics to quickly conclude that two terms are convertible, or are not convertible, without reducing them to normal form. However, these heuristics can backfire, triggering huge amounts of unnecessary computation. This paper presents a novel convertibility-checking algorithm that relies crucially on laziness and concurrency . Laziness is used to share computations, while concurrency is used to explore multiple convertibility subproblems in parallel or via fair interleaving. Unlike heuristics-based approaches, our algorithm always finds an easy solution to the convertibility problem, if one exists. The paper describes the algorithm in process calculus style, discusses its complexity, and reports on its mechanized proof of partial correctness and its lightweight experimental evaluation.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper1
相关 Paper
- Algorithmic Conversion with Surjective Pairing: A Syntactic and Untyped ApproachYiyun Liu, Stephanie WeirichPOPL 2026
- Commuting Conversions and Join Points for Call-by-Push-ValueJonathan Chan, Madi Gudin, Annabel Levy, Stephanie WeirichOOPSLA 2026
- Commutativity for Concurrent Program Termination ProofsDanya Lette, Azadeh FarzanCAV 2023 · 被引用 3 次
- Sound sequentialization for concurrent program verificationAzadeh Farzan, Dominik Klumpp, Andreas PodelskiPLDI 2022 · 被引用 24 次
- Normalization for Multimodal Type TheoryDaniel GratzerLICS 2022 · 被引用 23 次
