Step-Indexed Normalization for a Language with General Recursion

Author: Adam Chlipala, Adam Chlipala, Amal Ahmed, Amal Ahmed, Andrew K. Wright, Andrew W. Appel, Aquinas Hobor, Benjamin C. Pierce, Chris Casinghino, Garrin Kimmell, Hiroshi Nakano, James Chapman, Jean-Yves Girard, Karl Crary, Lars Birkedal, Limin Jia, Neelakantan Krishnaswami, Neelakantan Krishnaswami, Nils Anders Danielsson, Nils Anders Danielsson, Paul Blain Levy, Robert Dockins, Robert L. Constable, Stephanie Weirich, The Coq Development Team, The Coq Development Team, Thierry Coquand, VII Tom Murphy, VII Tom Murphy, Ulf Norell, Venanzio Capretta, Vilhelm Sjöberg, William W. Tait
Publisher: Open Publishing Association

ABOUT BOOK

The Trellys project has produced several designs for practical dependently typed languages. These languages are broken into two fragments-a_logical_fragment where every term normalizes and which is consistent when interpreted as a logic, and a_programmatic_fragment with general recursion and other convenient but unsound features. In this paper, we present a small example language in this style. Our design allows the programmer to explicitly mention and pass information between the two fragments. We show that this feature substantially complicates the metatheory and present a new technique, combining the traditional Girard-Tait method with step-indexed logical relations, which we use to show normalization for the logical fragment.Comment: In Proceedings MSFP 2012, arXiv:1202.240

Powered by: