Computable topology is a discipline in mathematics that studies the topological and algebraic structure of
computation
Computation is any type of arithmetic or non-arithmetic calculation that follows a well-defined model (e.g., an algorithm).
Mechanical or electronic devices (or, historically, people) that perform computations are known as ''computers''. An es ...
. Computable topology is not to be confused with algorithmic or ''
computational topology'', which studies the application of computation to topology.
Topology of lambda calculus
As shown by
Alan Turing and
Alonzo Church, the
λ-calculus is strong enough to describe all mechanically computable functions (see
Church–Turing thesis
In computability theory, the Church–Turing thesis (also known as computability thesis, the Turing–Church thesis, the Church–Turing conjecture, Church's thesis, Church's conjecture, and Turing's thesis) is a thesis about the nature of comp ...
). Lambda-calculus is thus effectively a programming language, from which other languages can be built. For this reason when considering the
topology of computation it is common to focus on the topology of λ-calculus. Note that this is not necessarily a complete description of the topology of computation, since functions which are equivalent in the Church-Turing sense may still have different topologies.
The
topology of λ-calculus is the
Scott topology, and when restricted to
continuous function
In mathematics, a continuous function is a function such that a continuous variation (that is a change without jump) of the argument induces a continuous variation of the value of the function. This means that there are no abrupt changes in value ...
s the type free λ-calculus amounts to a
topological space reliant on the
tree topology. Both the Scott and Tree topologies exhibit continuity with respect to the
binary operators
In mathematics, a binary operation or dyadic operation is a rule for combining two elements (called operands) to produce another element. More formally, a binary operation is an operation of arity two.
More specifically, an internal binary ope ...
of application ( f ''applied to'' a = fa ) and abstraction ((λx.t(x))a = t(a)) with a modular equivalence relation based on a
congruency. The λ-algebra describing the algebraic structure of the lambda-calculus is found to be an extension of the
combinatory algebra, with an element introduced to accommodate abstraction.
Type free
λ-calculus treats functions as rules and does not differentiate functions and the objects which they are applied to, meaning λ-calculus is
type
Type may refer to:
Science and technology Computing
* Typing, producing text via a keyboard, typewriter, etc.
* Data type, collection of values used for computations.
* File type
* TYPE (DOS command), a command to display contents of a file.
* Ty ...
free. A by-product of type free λ-calculus is an
effective computability equivalent to
general recursion and
Turing machines.
[Barendregt, H.P., The Lambda Calculus Syntax and Semantics. North-Holland Publishing Company. 1981.] The set of λ-terms can be considered a functional topology in which a function space can be
embedded, meaning λ mappings within the space X are such that λ:X → X.
[D. S. Scott. Models for the λ-calculus. Informally distributed, 1969. Notes, December 1969, Oxford Univ.] Introduced November 1969,
Dana Scott's untyped set theoretic model constructed a proper topology for any λ-calculus model whose function space is limited to continuous functions.
The result of a
Scott continuous In mathematics, given two partially ordered sets ''P'' and ''Q'', a function ''f'': ''P'' → ''Q'' between them is Scott-continuous (named after the mathematician Dana Scott) if it preserves all directed suprema. That is, for every directed subse ...
λ-calculus topology is a function space built upon a programming semantic allowing fixed point combinatorics, such as the
Y combinator, and data types. By 1971, λ-calculus was equipped to define any sequential computation and could be easily adapted to parallel computations. The reducibility of all computations to λ-calculus allows these λ-topological properties to become adopted by all programming languages.
Computational algebra from λ-calculus algebra
Based on the operators within
lambda calculus
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation ...
, application and abstraction, it is possible to develop an algebra whose group structure uses application and abstraction as binary operators. Application is defined as an operation between
lambda terms producing a λ-term, e.g. the application of λ onto the lambda term ''a'' produces the lambda term ''λa''. Abstraction incorporates undefined variables by denoting λx.t(x) as the function assigning the variable ''a'' to the lambda term with value ''t(a)'' via the operation ((λ x.t(x))a = t(a)). Lastly, an
equivalence relation
In mathematics, an equivalence relation is a binary relation that is reflexive, symmetric and transitive. The equipollence relation between line segments in geometry is a common example of an equivalence relation.
Each equivalence relation ...
emerges which identifies λ-terms modulo convertible terms, an example being
beta normal form
In the lambda calculus, a term is in beta normal form if no ''beta reduction'' is possible. A term is in beta-eta normal form if neither a beta reduction nor an ''eta reduction'' is possible. A term is in head normal form if there is no ''beta-red ...
.
Scott topology
The Scott topology is essential in understanding the topological structure of computation as expressed through the λ-calculus. Scott found that after constructing a function space using λ-calculus one obtains a
Kolmogorov space, a
topological space which exhibits
pointwise convergence, in short the
product topology.
[D. S. Scott. "Continuous Lattices." Oxford University Computing Laboratory August, 1971.] It is the ability of self homeomorphism as well as the ability to embed every space into such a space, denoted
Scott continuous In mathematics, given two partially ordered sets ''P'' and ''Q'', a function ''f'': ''P'' → ''Q'' between them is Scott-continuous (named after the mathematician Dana Scott) if it preserves all directed suprema. That is, for every directed subse ...
, as previously described which allows Scott's topology to be applicable to logic and recursive function theory. Scott approaches his derivation using a
complete lattice
In mathematics, a complete lattice is a partially ordered set in which ''all'' subsets have both a supremum (join) and an infimum (meet). A lattice which satisfies at least one of these properties is known as a ''conditionally complete lattice.'' ...
, resulting in a topology dependent on the lattice structure. It is possible to generalise Scott's theory with the use of
complete partial orders. For this reason a more general understanding of the computational topology is provided through complete partial orders. We will re-iterate to familiarize ourselves with the notation to be used during the discussion of Scott topology.
Complete partial orders are defined as follows:
First, given the
partially ordered set D=(D,≤), a nonempty subset ''X'' ⊆ ''D'' is ''directed'' if ∀ ''x,y'' ∈ ''X'' ∃ ''z'' ∈ ''X'' where ''x''≤ ''z'' & ''y'' ≤ ''z''.
''D'' is a
complete partial order (cpo) if:
::· Every directed X ⊆D has a
supremum
In mathematics, the infimum (abbreviated inf; plural infima) of a subset S of a partially ordered set P is a greatest element in P that is less than or equal to each element of S, if such an element exists. Consequently, the term ''greatest l ...
, and:
::∃ ''bottom'' element ⊥ ∈ ''D'' such that ∀ ''x'' ∈ ''D'' ⊥ ≤ ''x''.
We are now able to define the Scott topology over a cpo (D, ≤ ).
''O'' ⊆ ''D'' is ''open'' if:
::# for x ∈ O, and x ≤ y, then y ∈ O, i.e. O is an
upper set.
::# for a directed set X ⊆ D, and
supremum
In mathematics, the infimum (abbreviated inf; plural infima) of a subset S of a partially ordered set P is a greatest element in P that is less than or equal to each element of S, if such an element exists. Consequently, the term ''greatest l ...
(X) ∈ O, then X ∩ O ≠∅.
Using the Scott topological definition of open it is apparent that all topological properties are met.
::·âˆ… and D, i.e. the empty set and whole space, are open.
::·Arbitrary unions of open sets are open:
:::: ''Proof'': Assume
is open where i ∈ I, I being the index set. We define U = ∪. Take ''b'' as an element of the upper set of U, therefore a ≤ ''b'' for some ''a'' ∈ U It must be that ''a'' ∈
for some i, likewise ''b'' ∈ upset(
). U must therefore be upper as well since
∈ U.
::::Likewise, if D is a directed set with a supremum in U, then by assumption sup(D) ∈
where
is open. Thus there is a ''b'' ∈ D where b ∈
. The union of open sets
is therefore open.
::·Open sets under intersection are open:
::::''Proof'': Given two open sets, ''U'' and ''V'', we define ''W'' = ''U''∩''V''. If ''W'' = ∅ then ''W'' is open. If non-empty say ''b'' ∈ upset(W) (the upper set of W), then for some ''a'' ∈ ''W'', ''a'' ≤ ''b''. Since ''a'' ∈ ''U''∩''V'', and ''b'' an element of the upper set of both ''U'' and ''V'', then ''b'' ∈ ''W''.
::::Finally, if ''D'' is a directed set with a supremum in ''W'', then by assumption sup(''D'') ∈
. So there is ''a'' ∈
and ''b'' ∈
. Since ''D'' is directed there is ''c'' ∈ ''D'' with
; and since ''U'' and ''V'' are upper sets, ''c'' ∈
as well.
Though not shown here, it is the case that the map
is continuous if and only if ''f''(sup(''X'')) = sup(''f''(''X'')) for all directed ''X''⊆''D'', where ''f''(''X'') = and the second supremum in
.
Before we begin explaining that application as common to λ-calculus is continuous within the Scott topology we require a certain understanding of the behavior of supremums over continuous functions as well as the conditions necessary for the product of spaces to be continuous namely
:# With