| Lecturer | Prof. Dr. Gerhard Jäger |
| Lecture Number | S6083 |
| ECTS credits | 5 |
| Start | February 22, 2012 |
| Time |
|
| Venue | Lecture Room A97 |
| Content | Arguably, the (untyped) lambda calculus is the simplest programming language in which all computable number-theoretic functions can be represented and evaluated. It is based on two elementary concepts only: application and abstraction. The lambda calculus provides the abstract foundations of all functional programming languages (e.g., Lisp, Scheme, Haskell). The first part of these lectures is about the untyped lambda calculus. We introduce its syntax and semantics, discuss a series of data types within this framework, and study some central properties (for example: fixed-point theorem, Church-Rosser theorem). Later we present applicative structures and applicative theories as possible axiomatic alternatives. Time permitting, we will also briefly turn to the simply-typed lambda calculus, its connections to propositional logic, and the famous Curry-Howard isomorphism. |
| Remarks | This lecture is well suited for students who are interested in logic and in the |
| Requirements | Basic knowledge in mathematical logic and/or theoretical computer science. |
| References | To be announced. |
| Repetition | From time to time. |