What does it take to certify a conversion checker?
This paper argues that injectivity properties, rather than normalization, are the crucial and sufficient foundation for certifying decision procedures for definitional equality in dependent type theory, including for fully untyped conversion checkers.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine you are building a digital fortress, a place where you can write down mathematical proofs and be absolutely certain they are true. To keep this fortress safe, you need a tiny, super-strict guard at the gate called a "proof assistant." This guard's only job is to check if the proofs you hand in are valid. If the guard makes a mistake, the whole fortress could crumble, so we need to be 100% sure the guard is doing its job correctly. This is the world of dependent type theory, a branch of computer science and logic where types (like "number" or "list of numbers") can depend on specific values, making them incredibly powerful but also incredibly tricky to manage.
The core problem the guard faces is called conversion checking. Imagine you have two sentences that look different on the surface, like "2 + 2" and "4." To the guard, these need to be recognized as the exact same thing. In the complex world of dependent types, figuring out if two things are "the same" is like trying to untangle a knot of infinite strings. Usually, to prove the guard is working, mathematicians try to prove that the strings will eventually untangle themselves completely (a property called normalization). However, there's a famous rule in logic (Gödel's second incompleteness theorem) that says you can't prove a system is safe from the inside if that proof requires the system to be perfect. It's like trying to lift yourself up by your own bootstraps. So, the big question has been: Can we certify the guard without needing to prove that impossible "perfect untangling"?
This paper, written by Meven Lennon-Bertrand from the University of Cambridge, answers that question with a resounding "yes," but with a twist. Instead of relying on the heavy, often impossible task of proving that everything eventually untangles, the author shows that the guard only needs to be really good at one specific trick: injectivity.
Think of injectivity like a master detective who can look at a complex disguise and instantly know the ingredients. If the guard sees a "function" (a machine that takes an input and gives an output) and two of them look the same, injectivity guarantees that their internal parts (the inputs and the rules) must also be the same. It's the difference between seeing two identical-looking robots and knowing for a fact that they were built with the exact same blueprints, not just that they happen to look alike. The paper proves that if the guard is certified to be a perfect detective for these parts (injectivity), it is enough to certify that the guard is trustworthy for almost everything, even without proving the impossible "perfect untangling."
The author also explores a second, more chaotic version of the guard: one that doesn't look at the "types" (the labels) at all, just the raw shapes of the terms. It's like a guard who ignores the name tags on people and just checks if their shoes and hats match. Surprisingly, the paper finds that this "untyped" guard can also be certified, provided it follows the same detective rules, though the rules for the "shoes and hats" need to be slightly different depending on whether the items are simple or complex.
The paper doesn't just suggest this; it provides a formal, computer-checked proof (using a tool called Rocq) that these ideas work. It shows that by focusing on these "detective" properties (injectivity) rather than the "untangling" properties (normalization), we can build a certified, trustworthy guard. This is a big deal because it means we don't need to solve the unsolvable problem of proving the system is perfectly consistent to have a safe proof assistant. We just need to prove the guard is good at spotting the right ingredients. The paper also notes that while this works for most standard types, there are some very weird, "unit-like" types where things get messy, and the guard might need extra help, but for the vast majority of cases, the detective approach is the key to unlocking certified software.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.