Primitive recursive functional
   HOME

TheInfoList



OR:

In
mathematical logic Mathematical logic is the study of Logic#Formal logic, formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory (also known as computability theory). Research in mathematical logic com ...
, the primitive recursive functionals are a generalization of
primitive recursive functions In computability theory, a primitive recursive function is, roughly speaking, a function that can be computed by a computer program whose loops are all "for" loops (that is, an upper bound of the number of iterations of every loop is fixed befor ...
into higher
type theory In mathematics and theoretical computer science, a type theory is the formal presentation of a specific type system. Type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a foundation of ...
. They consist of a collection of functions in all pure finite types. The primitive recursive functionals are important in
proof theory Proof theory is a major branchAccording to , proof theory is one of four domains mathematical logic, together with model theory, axiomatic set theory, and recursion theory. consists of four corresponding parts, with part D being about "Proof The ...
and
constructive mathematics In the philosophy of mathematics, constructivism asserts that it is necessary to find (or "construct") a specific example of a mathematical object in order to prove that an example exists. Contrastingly, in classical mathematics, one can prove th ...
. They are a central part of the Dialectica interpretation of intuitionistic arithmetic developed by
Kurt Gödel Kurt Friedrich Gödel ( ; ; April 28, 1906 – January 14, 1978) was a logician, mathematician, and philosopher. Considered along with Aristotle and Gottlob Frege to be one of the most significant logicians in history, Gödel profoundly ...
. In
recursion theory Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has since ex ...
, the primitive recursive functionals are an example of higher-type computability, as primitive recursive functions are examples of Turing computability.


Background

Every primitive recursive functional has a type, which says what kind of inputs it takes and what kind of output it produces. An object of type 0 is simply a natural number; it can also be viewed as a constant function that takes no input and returns an output in the set N of natural numbers. For any two types σ and τ, the type σ→τ represents a function that takes an input of type σ and returns an output of type τ. Thus the function ''f''(''n'') = ''n''+1 is of type 0→0. The types (0→0)→0 and 0→(0→0) are different; by convention, the notation 0→0→0 refers to 0→(0→0). In the jargon of type theory, objects of type 0→0 are called ''functions'' and objects that take inputs of type other than 0 are called ''functionals''. For any two types σ and τ, the type σ×τ represents an ordered pair, the first element of which has type σ and the second element of which has type τ. For example, consider the functional ''A'' takes as inputs a function ''f'' from N to N, and a natural number ''n'', and returns ''f''(''n''). Then ''A'' has type (0 × (0→0))→0. This type can also be written as 0→(0→0)→0, by
currying In mathematics and computer science, currying is the technique of translating a function that takes multiple arguments into a sequence of families of functions, each taking a single argument. In the prototypical example, one begins with a functi ...
. The set of (pure) ''finite types'' is the smallest collection of types that includes 0 and is closed under the operations of × and →. A superscript is used to indicate that a variable ''x''τ is assumed to have a certain type τ; the superscript may be omitted when the type is clear from context.


Definition

The primitive recursive functionals are the smallest collection of objects of finite type such that: * The constant function ''f''(''n'') = 0 is a primitive recursive functional * The successor function ''g''(''n'') = ''n'' + 1 is a primitive recursive functional * For any type σ×τ, the functional K(''x''σ, ''y''τ) = ''x'' is a primitive recursive functional * For any types ρ, σ, τ, the functional *::S(''r''ρ→σ→τ,''s''ρ→σ, ''t''ρ) = (''r''(''t''))(''s''(''t'')) *:is a primitive recursive functional * For any type τ, and ''f'' of type τ, and any ''g'' of type 0→τ→τ, the functional ''R''(''f'',''g'')0→τ defined recursively as *::''R''(''f'',''g'')(0) = ''f'', *::''R''(''f'',''g'')(''n''+1) = ''g''(''n'',''R''(''f'',''g'')(''n'')) *: is a primitive recursive functional


See also

* Dialectica interpretation *
Higher-order function In mathematics and computer science, a higher-order function (HOF) is a function that does at least one of the following: * takes one or more functions as arguments (i.e. a procedural parameter, which is a parameter of a procedure that is itself ...
*
Primitive recursive function In computability theory, a primitive recursive function is, roughly speaking, a function that can be computed by a computer program whose loops are all "for" loops (that is, an upper bound of the number of iterations of every loop is fixed befor ...
*
Simply typed lambda calculus The simply typed lambda calculus (), a form of type theory, is a typed interpretation of the lambda calculus with only one type constructor () that builds function types. It is the canonical and simplest example of a typed lambda calculus. The ...


References

* {{cite book , title = Gödel's functional ("Dialectica") interpretation , url = http://math.stanford.edu/~feferman/papers/dialectica.pdf , author = Jeremy Avigad and
Solomon Feferman Solomon Feferman (December 13, 1928July 26, 2016) was an American philosopher and mathematician who worked in mathematical logic. In addition to his prolific technical work in proof theory, computability theory, and set theory, he was known for h ...
, publisher = in S. Buss ed., The Handbook of Proof Theory, North-Holland , year = 1999 , pages = 337–405 Proof theory Computability theory