constructive mathematics, realizability, computability
propositions as types, proofs as programs, computational trinitarianism
natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
An algorithm is a computational system that, for a given class of mathematical problems, allows one to arrive at a solution “record” from a problem condition record . The process from to is an entirely mechanical, determined sequence of operations.
see Turing 1937
The following is meant to be a digest of Kolmogorov & Uspénski 1958.
We define as a naturally ordered set of classes . The states of the algorithm are constructed from the “elements” of which these classes consist; each class has what is described as an “unlimited volume,” that is, infinitely many elements of that type. These classes are mutually disjoint, and we denote the union of these classes simply as , that is, .
We also say that an element of class is an element of “type ” and we denote this (prototypical) element as a circle with the number within it: ⓘ.
We define a “complex over the set ” as an “ordinary one-dimensional complex with vertices from .” Explicitly, given to be a finite set consisting of certain elements from (corresponding to the complex’s vertices) and to be a finite set consisting of pairs of elements from (corresponding to the “segments” of the complex), we may define a complex over the set as the union .
Given that is a complex as defined above, we define the “active part” to be the subcomplex of consisting of all vertices and segments belonging to chains of length which contain/start from the initial vertex ( is an arbitrarily fixed number for a given algorithm ).
States are constructed as complexes over , wherein calculations, step-by-step, physically alter the active part of the state strictly based on predefined immediate processing rules, a finite list of graph transformation rules determining explicitly how operates on to transform it into subsequent .
The rules are specified with a fixed set of paired states: . Each of the algorithm’s conditions, each , is a valid active part, i.e., (the operator does not alter or remove anything from its argument). To make sure the algorithm is deterministic, we must have that for all . Each state replacement, each (arbitrary) , replaces its corresponding active part . Each pair (, ) has a corresponding isomorphism where denotes a certain, specific subcomplex of (i.e., ). denotes the boundary of where denotes the external part of , the subcomplex of consisting of vertices that cannot be connected to initial vertex by chains shorter than (i.e., chains ), as well as segments that enter the chains of length that contain the initial vertex.
Finally, we may formally define an algorithm (à la Kolmogorov and Uspenskii): an algorithm is a state transition operator , from a computational state to a subsequent state .
For a (current) state , checks if for some (some predefined complex in the fixed rule set of paired states); if a match is found, then we now have that the state is within the domain of the algorithm, denoted . Since the complexes, and , are connected, the isomorphism induces a unique isomorphism . The algorithm will then create a new complex (); however, the paper does not provide a step-by-step process for this complex, instead positing that “obviously, one can form a complex isomorphic to complex ” with the following conditions:
The final stage of the algorithm, upon the definition of using the previous conditions, defines the subsequent state of the current state : .
Original hostorical formulations of the notion of algorithms:
A. M. Turing: On Computable Numbers, with an Application to the Entscheidungs problem, Proceedings of the London Mathematical Society 2 42 (1937) 230–265 [pdf]
A. N. Kolmogorov, V. A. Uspénski: On the definition of an algorithm, American Mathematical Society Translations, Series II 29 (1963) 217–245
original in: Uspehi Mat. Nauk. 13 (1958) 3–28 [math-net.ru]
JSL review by Elliott Mendelson: jstor:2272011.
See also:
Last revised on September 26, 2026 at 15:58:53. See the history of this page for a list of all contributions to it.