KIT | KIT-Bibliothek | Impressum | Datenschutz

Using Vampire in Soundness Proofs of Type Systems

Grewe, Sylvia; Erdweg, Sebastian ORCID iD icon 1; Mezini, Mira
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Type systems for programming languages shall detect type errors in programs before runtime. To ensure that a type system meets this requirement, its soundness must be formally verified. We aim at automating soundness proofs of type systems to facilitate the development of sound type systems for domain-specific languages.
Soundness proofs for type systems typically require induction. However, many of the proofs of individual induction cases only require first-order reasoning. For the development of our workbench Veritas, we build on this observation by combining automated first-order theorem provers such as Vampire with automated proof strategies specific to type systems. In this paper, we describe how we encode type soundness proofs in first-order logic using TPTP. We show how we use Vampire to prove the soundness of type systems for the simply-typed lambda calculus and for parts of a typed SQL. We report on which parts of the proofs are handled well by Vampire, and what parts work less well with our current approach.


Download
Originalveröffentlichung
DOI: 10.29007/22x6
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsdatum 23.02.2016
Sprache Englisch
Identifikator ISSN: 2398-7340
KITopen-ID: 1000188557
Erschienen in Proceedings of the 1st and 2nd Vampire Workshops; Berlin, Deutschland, 02.08.2015
Veranstaltung 2nd Vampire Workshop (2015), Berlin, Deutschland, 02.08.2015
Verlag EasyChair
Seiten S. 33–51
Serie EPiC Series in Computing ; 38
Schlagwörter program analysis, type systems, vampire
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page