Download PDFOpen PDF in browserA Minimalist Approach to Trustworthy Programming with Precise Types using Small Inversions19 pages•Published: October 23, 2026AbstractPattern-matching is the primary programming construct used to analyze the contents of algebraic data types in statically typed functional languages. Additionally, dependent types allow us to benefit from very precise information about data being processed. However, pattern-matching on dependent types turned out to raise surprisingly complex challenges, that have required more than two decades of intensive research to produce current implementations in Agda, Epigram and the Equations plugin of Rocq. Another popular tool among Rocq users is the historical inversion tactic which solves many use cases at the cost of a loss of control over the form of the programs obtained and some reliability issues. Both approaches in Rocq rely on intermediate equalities to produce a well-typed term in the underlying type theory, many of which turn out to be unnecessary.Alongside those tools, we believe that there is room for a complementary minimalist approach based on recent improvements of small inversions that generates explicit terms that are more readable and explainable. We present here this approach and its current automation implemented in MetaRocq. Keyphrases: calculus of inductive constructions, dependent types, pattern matching, rocq In: Erika Ábrahám, Nikolaj Bjørner and Michael Rawson (editors). Proceedings of the 26th Conference on Logic for Programming, Artificial Intelligence, and Reasoning, vol 112, pages 271-289.
|

