Formalizing Representation Theorems for a Logical Framework with Rewriting
By: Thomas Traversié, Florian Rabe
Potential Business Impact:
Makes computer code translations easier to check.
Representation theorems for formal systems often take the form of an inductive translation that satisfies certain invariants, which are proved inductively. Theory morphisms and logical relations are common patterns of such inductive constructions. They allow representing the translation and the proofs of the invariants as a set of translation rules, corresponding to the cases of the inductions. Importantly, establishing the invariants is reduced to checking a finite set of, typically decidable, statements. Therefore, in a framework supporting theory morphisms and logical relations, translations that fit one of these patterns become much easier to formalize and to verify. The $\lambda\Pi$-calculus modulo rewriting is a logical framework designed for representing and translating between formal systems that has previously not systematically supported such patterns. In this paper, we extend it with theory morphisms and logical relations. We apply these to define and verify invariants for a number of translations between formal systems. In doing so, we identify some best practices that enable us to obtain elegant novel formalizations of some challenging translations, in particular type erasure translations from typed to untyped languages.
Similar Papers
Linearization via Rewriting (Long Version)
Logic in Computer Science
Makes computer math proofs simpler and faster.
A Modular Lean 4 Framework for Confluence and Strong Normalization of Lambda Calculi with Products and Sums
Logic in Computer Science
Proves math rules for computer programs perfectly.
A Function-Set Framework: General Properties and Applications to Modal Logic
Logic in Computer Science
Lets different math ideas work together easily.