Lambda Calculus with Types

This handbook with exercises reveals in formalisms, hitherto mainly used for hardware and software design and verification, unexpected mathematical beauty. The lambda calculus forms a prototype universal programming language, which in its untyped version is related to Lisp, and was treated in the fi...

Celý popis

Uloženo v:
Podrobná bibliografie
Hlavní autoři: Barendregt, Henk, Dekkers, Wil, Statman, Richard
Médium: E-kniha Kniha
Jazyk:angličtina
Vydáno: Cambridge Association for Symbolic Logic 20.06.2013
New York Cambridge University Press
Vydání:1
Edice:Perspectives in Logic
Témata:
ISBN:9780521766142, 0521766141, 1107471311, 9781107471313
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Obsah:
  • Intro -- Lambda Calculus with Types -- Contents -- Preface -- Contributors -- Our Founders -- Introduction -- Part I: Simple Types lambda rightarrow mathbb A -- 1 The Simply Typed Lambda Calculus -- 1.1 The systems lambda rightarrow mathbb A -- 1.2 First properties and comparisons -- 1.3 Normal inhabitants -- 1.4 Representing data types -- 1.5 Exercises -- 2 Properties -- 2.1 Normalization -- 2.2 Proofs of strong normalization -- 2.3 Checking and finding types -- 2.4 Checking inhabitation -- 2.5 Exercises -- 3 Tools -- 3.1 Semantics of lambda rightarrow -- 3.2 Lambda theories and term models -- 3.3 Syntactic and semantic logical relations -- 3.4 Type reducibility -- 3.5 The five canonical term-models -- 3.6 Exercises -- 4 Definability, unification and matching -- 4.1 Undecidability of lambda-definability -- 4.2 Undecidability of unification -- 4.3 Decidability of matching of rank 3 -- 4.4 Decidability of the maximal theory -- 4.5 Exercises -- 5 Extensions -- 5.1 Lambda delta -- 5.2 Surjective pairing -- 5.3 Gödel's system mathcal T: higher-order primitive recursion -- 5.4 Spector's system mathcal B: bar recursion -- 5.5 Platek's system mathcal Y: fixed point recursion -- 5.6 Exercises -- 6 Applications -- 6.1 Functional programming -- 6.2 Logic and proof-checking -- 6.3 Proof theory -- 6.4 Grammars, terms and types -- Part II: Recursive Types lambda = mathcal A -- 7 The Systems lambda = mathcal A -- 7.1 Type algebras and type assignment -- 7.2 More on type algebras -- 7.3 Recursive types via simultaneous recursion -- 7.4 Recursive types via mu-abstraction -- 7.5 Recursive types as trees -- 7.6 Special views on trees -- 7.7 Exercises -- 8 Properties of Recursive Types -- 8.1 Simultaneous recursions vs mu-types -- 8.2 Properties of mu-types -- 8.3 Properties of types defined by a simultaneous recursion -- 8.4 Exercises
  • 9 Properties of Terms with Types -- 9.1 First properties of lambda = mathcal A -- 9.2 Finding and inhabiting types -- 9.3 Strong normalization -- 9.4 Exercises -- 10 Models -- 10.1 Interpretations of type assignments in lambda = mathcal A -- 10.2 Interpreting Pi mu and Pi mu * -- 10.3 Type interpretations in systems with explicit typing -- 10.4 Exercises -- 11 Applications -- 11.1 Subtyping -- 11.2 The principal type structures -- 11.3 Recursive types in programming languages -- 11.4 Further reading -- 11.5 Exercises -- Part III: Intersection Types lambda cap mathcal S -- 12 An Example System -- 12.1 The type assignment system lambda cap BCD -- 12.2 The filter model mathcal F BCD -- 12.3 Completeness of type assignment -- 13 Type Assignment Systems -- 13.1 Type theories -- 13.2 Type assignment -- 13.3 Type structures -- 13.4 Filters -- 13.5 Exercises -- 14 Basic Properties of Intersection Type Assignment -- 14.1 Inversion lemmas -- 14.2 Subject reduction and expansion -- 14.3 Exercises -- 15 Type and Lambda Structures -- 15.1 Meet semi-lattices and algebraic lattices -- 15.2 Natural type structures and lambda structures -- 15.3 Type and zip structures -- 15.4 Zip and lambda structures -- 15.5 Exercises -- 16 Filter Models -- 16.1 Lambda models -- 16.2 Filter models -- 16.3 mathcal D infty models as filter models -- 16.4 Other filter models -- 16.5 Exercises -- 17 Advanced Properties and Applications -- 17.1 Realizability interpretation of types -- 17.2 Characterizing syntactic properties -- 17.3 Approximation theorems -- 17.4 Applications of the approximation theorem -- 17.5 Undecidability of inhabitation -- 17.6 Exercises -- References -- Indices -- Index of terms -- Index of Citations -- Index of symbols