programming languages

What does it take to certify a conversion checker?

arXiv:2502.15500 · doi:10.4230/LIPIcs.FSCD.2025.27

summary

The paper investigates how to formally certify conversion (definitional equality) checkers in dependent type theory, emphasizing injectivity properties as sufficient for correctness and extending the analysis to untyped checkers.

Abstract

We report on a detailed exploration of the properties of conversion (definitional equality) in dependent type theory, with the goal of certifying decision procedures for it. While in that context the property of normalisation has attracted the most light, we instead emphasize the importance of injectivity properties, showing that they alone are both crucial and sufficient to certify most desirable properties of conversion checkers. We also explore the certification of a fully untyped conversion checker, with respect to a typed specification, and show that the story is mostly unchanged, although the exact injectivity properties needed are subtly different.

Topics & keywords

#dependent type theory#conversion checking#injectivity#certified decision procedures#formal verificationconversion checkerdefinitional equalityinjectivity propertiesnormalisationtype theory certification
What does it take to certify a conversion checker? · wovepaper