<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Primitive_recursive_functional</id>
	<title>Primitive recursive functional - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Primitive_recursive_functional"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Primitive_recursive_functional&amp;action=history"/>
	<updated>2026-10-26T04:14:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Primitive_recursive_functional&amp;diff=8308965&amp;oldid=prev</id>
		<title>imported&gt;Bumpf: /* Background */ Spelling/grammar/punctuation/typographical correction</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Primitive_recursive_functional&amp;diff=8308965&amp;oldid=prev"/>
		<updated>2024-12-09T02:32:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Background: &lt;/span&gt; Spelling/grammar/punctuation/typographical correction&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{confuse|Primitive recursive function}}&lt;br /&gt;
&lt;br /&gt;
In [[mathematical logic]], the &amp;#039;&amp;#039;&amp;#039;primitive recursive functionals&amp;#039;&amp;#039;&amp;#039; are a generalization of [[primitive recursive functions]] into higher [[type theory]]. They consist of a collection of functions in all pure finite types.&lt;br /&gt;
&lt;br /&gt;
The primitive recursive functionals are important in [[proof theory]] and [[constructive mathematics]]. They are a central part of the [[Dialectica interpretation]] of intuitionistic arithmetic developed by [[Kurt Gödel]].&lt;br /&gt;
&lt;br /&gt;
In [[recursion theory]], the primitive recursive functionals are an example of higher-type computability, as primitive recursive functions are examples of Turing computability.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; of natural numbers.&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;) = &amp;#039;&amp;#039;n&amp;#039;&amp;#039;+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 &amp;#039;&amp;#039;functions&amp;#039;&amp;#039; and objects that take inputs of type other than 0 are called &amp;#039;&amp;#039;functionals&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;A&amp;#039;&amp;#039; takes as inputs a function &amp;#039;&amp;#039;f&amp;#039;&amp;#039; from &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;#039;, and a natural number &amp;#039;&amp;#039;n&amp;#039;&amp;#039;, and returns &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;). Then &amp;#039;&amp;#039;A&amp;#039;&amp;#039; has type (0 × (0→0))→0.  This type can also be written as 0→(0→0)→0, by [[currying]].&lt;br /&gt;
&lt;br /&gt;
The set of (pure) &amp;#039;&amp;#039;finite types&amp;#039;&amp;#039; 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 &amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;τ&amp;lt;/sup&amp;gt; is assumed to have a certain type τ; the superscript may be omitted when the type is clear from context.&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
&lt;br /&gt;
The primitive recursive functionals are the smallest collection of objects of finite type such that:&lt;br /&gt;
* The constant function &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;) = 0 is a primitive recursive functional&lt;br /&gt;
* The successor function &amp;#039;&amp;#039;g&amp;#039;&amp;#039;(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;) = &amp;#039;&amp;#039;n&amp;#039;&amp;#039; + 1 is a primitive recursive functional&lt;br /&gt;
* For any type σ×τ, the functional K(&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;σ&amp;lt;/sup&amp;gt;, &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;τ&amp;lt;/sup&amp;gt;) = &amp;#039;&amp;#039;x&amp;#039;&amp;#039; is a primitive recursive functional&lt;br /&gt;
* For any types ρ, σ, τ, the functional&lt;br /&gt;
*::S(&amp;#039;&amp;#039;r&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;ρ→σ→τ&amp;lt;/sup&amp;gt;,&amp;#039;&amp;#039;s&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;ρ→σ&amp;lt;/sup&amp;gt;, &amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sup&amp;gt;ρ&amp;lt;/sup&amp;gt;) = (&amp;#039;&amp;#039;r&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;))(&amp;#039;&amp;#039;s&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;))&lt;br /&gt;
*:is a primitive recursive functional&lt;br /&gt;
* For any type τ, and &amp;#039;&amp;#039;f&amp;#039;&amp;#039; of type τ, and any &amp;#039;&amp;#039;g&amp;#039;&amp;#039; of type 0→τ→τ, the functional &amp;#039;&amp;#039;R&amp;#039;&amp;#039;(&amp;#039;&amp;#039;f&amp;#039;&amp;#039;,&amp;#039;&amp;#039;g&amp;#039;&amp;#039;)&amp;lt;sup&amp;gt;0→τ&amp;lt;/sup&amp;gt; defined recursively as &lt;br /&gt;
*::&amp;#039;&amp;#039;R&amp;#039;&amp;#039;(&amp;#039;&amp;#039;f&amp;#039;&amp;#039;,&amp;#039;&amp;#039;g&amp;#039;&amp;#039;)(0) = &amp;#039;&amp;#039;f&amp;#039;&amp;#039;,&lt;br /&gt;
*::&amp;#039;&amp;#039;R&amp;#039;&amp;#039;(&amp;#039;&amp;#039;f&amp;#039;&amp;#039;,&amp;#039;&amp;#039;g&amp;#039;&amp;#039;)(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;+1) = &amp;#039;&amp;#039;g&amp;#039;&amp;#039;(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;,&amp;#039;&amp;#039;R&amp;#039;&amp;#039;(&amp;#039;&amp;#039;f&amp;#039;&amp;#039;,&amp;#039;&amp;#039;g&amp;#039;&amp;#039;)(&amp;#039;&amp;#039;n&amp;#039;&amp;#039;))&lt;br /&gt;
*: is a primitive recursive functional&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Dialectica interpretation]]&lt;br /&gt;
* [[Higher-order function]]&lt;br /&gt;
* [[Primitive recursive function]]&lt;br /&gt;
* [[Simply typed lambda calculus]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* {{cite book&lt;br /&gt;
| title = Gödel&amp;#039;s functional (&amp;quot;Dialectica&amp;quot;) interpretation&lt;br /&gt;
| url = http://math.stanford.edu/~feferman/papers/dialectica.pdf&lt;br /&gt;
| author = [[Jeremy Avigad]] and [[Solomon Feferman]]&lt;br /&gt;
| publisher =  in S. Buss ed., The Handbook of Proof Theory, North-Holland&lt;br /&gt;
| year = 1999&lt;br /&gt;
| pages = 337&amp;amp;ndash;405&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Proof theory]]&lt;br /&gt;
[[Category:Computability theory]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Bumpf</name></author>
	</entry>
</feed>