3 - A Logic of Computable Functions
Published online by Cambridge University Press: 17 September 2009
Summary
To understand domain theory, first you should become acquainted with the λ-calculus. Its syntax could hardly be simpler, but its semantics could hardly be more complex. The typed λ-calculus has a simple semantics: each type denotes a set; each lambda expression denotes a function.
Through a careful analysis of nontermination, Dana Scott developed the typed λ-calculus into a Logic for Computable Functions (LCF). In the semantics of this logic, each data type denotes a set whose values are partially ordered with respect to termination properties. A computable function between partially ordered sets is monotonic and continuous. A recursive definition is understood as a fixed point of a continuous function. For reasoning about recursive definitions, Scott introduced the principle of fixed point induction. The resulting logic is ideal for reasoning about recursion schemes and other aspects of computable functions.
The lambda calculus
The λ-calculus has a long and many faceted relationship with computer science. Back in the 1930's, Alonzo Church formulated a notion of ‘effectively computable function’ in terms of functions expressible in the λ-calculus. His notion was shown to give the same set of functions as other models of computation such as the general recursive functions and Turing machines. Church's thesis states that these functions and no others are effectively computable. The λ-calculus influenced the design of the programming language Lisp and is closely reflected in the language ML.
- Type
- Chapter
- Information
- Logic and ComputationInteractive Proof with Cambridge LCF, pp. 53 - 76Publisher: Cambridge University PressPrint publication year: 1987