William Blum ; C. -H. Luke Ong - The Safe Lambda Calculus

lmcs:1145 - Logical Methods in Computer Science, February 19, 2009, Volume 5, Issue 1 - https://doi.org/10.2168/LMCS-5(1:3)2009
The Safe Lambda CalculusArticle

Authors: William Blum ; C. -H. Luke Ong

    Safety is a syntactic condition of higher-order grammars that constrains occurrences of variables in the production rules according to their type-theoretic order. In this paper, we introduce the safe lambda calculus, which is obtained by transposing (and generalizing) the safety condition to the setting of the simply-typed lambda calculus. In contrast to the original definition of safety, our calculus does not constrain types (to be homogeneous). We show that in the safe lambda calculus, there is no need to rename bound variables when performing substitution, as variable capture is guaranteed not to happen. We also propose an adequate notion of beta-reduction that preserves safety. In the same vein as Schwichtenberg's 1976 characterization of the simply-typed lambda calculus, we show that the numeric functions representable in the safe lambda calculus are exactly the multivariate polynomials; thus conditional is not definable. We also give a characterization of representable word functions. We then study the complexity of deciding beta-eta equality of two safe simply-typed terms and show that this problem is PSPACE-hard. Finally we give a game-semantic analysis of safety: We show that safe terms are denoted by `P-incrementally justified strategies'. Consequently pointers in the game semantics of safe lambda-terms are only necessary from order 4 onwards.


    Volume: Volume 5, Issue 1
    Published on: February 19, 2009
    Imported on: April 22, 2008
    Keywords: Computer Science - Programming Languages,Computer Science - Computer Science and Game Theory,F.3.2,F.4.1

    Classifications

    10 Documents citing this article

    Consultation statistics

    This page has been seen 2751 times.
    This article's PDF has been downloaded 878 times.