BCK-Combinators and Linear lambda-Terms have Types
暂无分享,去创建一个
Abstract A λ-term L is linear when each λ-abstract λ x.M in it has at most one free x in M , and each free variable of L occurs free only once. BCK-combinators correspond exactly to linear λ-terms without free variables. The main theorem says that all terms of each kind are stratified, i.e. are typable. This result is not deep; it merely confirms an intuition that non-stratification is caused partly by multiple occurrences of variables. For BCK-combinators it was stated as Theorem 1 by Bunder and Meyer in [1], but the proof in [1] seems to contain a gap; it uses induction on a definition of “level” of a combinator, but omits to show that the level-concept is defined for all BCK-combinators. The proof below proceeds by translating to linear λ-terms, for which the induction becomes simply one on length. (In fact the proof is essentially just an amalgamation of elements from an unpublished proof of M. Coppo and M. Dezani-Ciancaglini, and elements from [1].) The type-schemes of linear λ-terms form a very primitive linear logic, and linear logic is of current interest (see Girard [3]), so we shall set out the basic facts about linear λ-terms and BCK-combinators in some detail. (These basic facts are not new; some appearin Komori [6], for example, and some are implicit in Curry and Feys[2].)
[1] M. Nivat. Fiftieth volume of theoretical computer science , 1988 .
[2] J. Roger Hindley,et al. Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.
[3] Jean-Yves Girard,et al. Linear Logic , 1987, Theor. Comput. Sci..
[4] J. Roger Hindley. Combinatory Reductions and Lambda Reductions Compared , 1977, Math. Log. Q..