an:00046869
Zbl 0697.03004
Krivine, Jean-Louis
Lambda-calcul, types et mod??les. (Lambda calculus, types and models)
FR
??tudes et Recherches en Informatique. Paris etc.: Masson. viii, 176 p. FF 198.00 (1990).
1990
b
03B40 68N01 68Q60 03-01 68-01 68Q65 03D60
pure \(\lambda \) -calculus; combinatory logic; models; type systems
This course in \(\lambda\)-calculus is presented as an introduction to four aspects of the theory: pure \(\lambda\)-calculus, combinatory logic, models and type systems, with the intention of bringing to light their interdependency and the underlying unity of the subject.
All basic results in pure \(\lambda\)-calculus are proved (with streamlined or new proofs) including: the Church-Rosser, B??hm and normalization theorems, the representation of recursive functions and the equivalence of \(\lambda\)-calculus with combinatory logic. Substitution lemmas and variable capture are looked at with great care.
Types appear first in this book as a tool for studying normalization phenomena: left (strong, head, etc.) normalizable terms are characterized in terms of their typeability with respect to Coppo and Dezani's intersection type systems. Types appear also for their own sake and their underlying foundational interest in functional programming ``by proofs'' (Curry-Howard isomorphism). There is a presentation of Girard's system F and a new proof of the fact that a function f is representable in F iff it is provably total in second-order combinatory logic (named \(AF_ 2\) by the author). This result is proved here via: realizability in standard models of \(AF_ 2\), G??del transformation, and simple abstract definitions of data-types. Part of the proof ensures the program correctness of \(AF_ 2\) viewed as a high level programming language: the \(\lambda\)-term extracted from any proof of the totality of f will really compute f.
Thus models of second-order combinatory logic appear as the natural semantic tool for studying F. But the ``model'' side of the book is also represented by a study of models of pure \(\lambda\)-calculus. First a general framework is given, stressing the functional aspects but without any use of category theory. Then the author, whose aim is to provide practical non-categorical tools for building models, concentrates on models S(D) which are the spaces of initial segments of preordered sets (D,\(\leq)\), equipped with an application i: \(D^ f\times D\to D\) suitable for coding in S(D) the space of its Scott-continuous functions \((D^ f\) is the set of finite subsets of D). Classical models of \(\lambda\)- calculus are reconstructed in that way and applications are given to the model-theory of \(\lambda\)-calculus, for example an elegant proof of the consistency of \(\lambda\)-calculus with (strong) surjective pairing.
No specific knowledge is required ``but some practice in mathematical logic''; however a reader with no previous knowledge of the subject may want to combine the reading of this book, which I highly recommend, with that of a more classical book or paper since one finds here very few extra-mathematical comments and motivations outside the short introduction.
C.Berline