Μ-recursive function

The class Pr of the μ - recursive functions or partial recursive functions plays in the recursion theory, a branch of theoretical computer science, an important role. According to the Church - Turing thesis describes the set of all functions that are computable in the intuitive sense. An important proper subset of the μ - recursive functions are the primitive recursive functions.

The class of μ - recursive functions is consistent with the class of Turing - computable functions as well as other equally powerful predictability models such as the lambda calculus, register machines and WHILE programs.

The primitive recursive functions from simple basic functions (constant 0 function, projections to an argument and successor function ) by composition and primitive recursion built. This always gives total functions, ie functions in the proper sense. The μ - recursive functions are partial functions other hand, can be formed of the same constructs, and in addition by the application of the μ - operator. By the application of the μ - operator is inserted partiality. However, not every μ - recursive function non-totally. For example, all primitive recursive functions are also μ - recursive. An example of a non- primitive recursive, total, μ - recursive function is the Ackermann function.

Definition of the μ - operator

For a partial function and natural numbers is the set of

Retained, that is the total of all such a way that at the location identical to 0 and disappears is also defined for all points.

It should be noted that, as a set of natural numbers has a minimum if and only if it is not empty. ( cf. well-ordering )

By applying the operator to now arises the partial function defined by:

In particular, the operator so one - digit partial function on one - digit partial function maps.

For predictable the program for the calculation of can be understood as a while loop that counts up, and therefore does not have to terminate:

Parameters:. Set on; As long as to increase; Result:. Definition of μ - recursive functions

The class of μ - recursive functions (from) includes the following basic functions:

The μ - recursive functions is obtained as the completion of basic functions concerning the three following operations:

Equivalence of μ - recursive functions with the Turing machine

It can be proved that a Turing Machine ( TM) can be simulated by μ - recursive functions. It can be demonstrated also that the amount of μ - recursive functions is exactly the set of Turing - computable functions.

Proof sketch for the simulation of the TM with μ - recursive functions

One can show that the configuration of a TM can by three numbers represent. Just such a function ( a bijective mapping ) can be defined, which is a suitable encoding of the TM.

So let's assume a primitive recursive function

The appropriate coding of the TM provides for input by calculating steps,

And a second primitive recursive function

Which provides for an encoding as a result of 0 if a final state represents the TM, and otherwise 1

It then follows

The number of the steps required to calculate a TM to the end. So we get with

The calculation of the TM in a final state when typing.

Remark

  • The predictability of a μ - recursive function refers to values ​​from their domain. There is no general method which returns all values ​​that do not belong to the domain of a μ - recursive function.
  • The μ - operator implements a search process that if and aborts if the search value exists.

Examples

  • All primitive recursive functions are μ - recursive.
  • The Ackermann function and the Sudan function are total μ - recursive functions.
  • The function Hardworking beaver (busy beaver ) is not μ - recursive.
  • The sequence of the digits of the holding probability ( Chaitinsche constant) is not μ - recursive. Holding the probability is defined by, a retaining program and indicates the length of the program bits.
18056
de