Invited Talk: Automated Reasoning about Type Systems by Compilation to First-Order Logic
The correct definition and implementation of non-trivial type systems is difficult and requires expert knowledge, which is not available to developers of domain-specific languages and specialized APIs in practice. We present Veritas, a workbench that simplifies the development of sound type systems. Veritas provides a single, high-level specification language for type systems, from which it automatically tries to derive soundness proofs and efficient and correct type-checking algorithms. For verification, Veritas combines off-the-shelve automated first-order theorem provers with automated proof strategies specific to type systems. For deriving efficient type checkers, Veritas provides a collection of optimization strategies whose applicability to a given type system is checked through verification on a case-by-case basis. We have developed a prototypical implementation of Veritas and used it to verify type soundness of the simply-typed lambda calculus and of parts of typed SQL. Veritas is work in progress. Currently, we systematically study encodings of type systems in first-order logic.
(Joint work with Sylvia Grewe and Mira Mezini)
Mon 18 Jan
|10:30 - 11:15|
|11:15 - 12:00|