1145

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.

Source: arXiv.org:0901.2399

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

Source : ScholeXplorer
IsCitedBy DOI 10.4230/lipics.fscd.2020.22- 10.4230/lipics.fscd.2020.22
Asada, Kazuyuki ; Kobayashi, Naoki ; |

This page has been seen 1710 times.

This article's PDF has been downloaded 700 times.