μ Operator
   HOME

TheInfoList



OR:

In
computability 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 e ...
, the μ-operator, minimization operator, or unbounded search operator searches for the least
natural number In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called ''Cardinal n ...
with a given property. Adding the μ-operator to the five
primitive recursive 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 can be determined ...
operators makes it possible to define all
computable function Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithms, in the sense that a function is computable if there exists an algorithm that can do ...
s.


Definition

Suppose that R(''y'', ''x''1, ..., ''x''''k'') is a fixed (''k''+1)-ary relation on the
natural numbers In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called ''cardinal n ...
. The μ-operator "μ''y''", in either the unbounded or bounded form, is a "number theoretic function" defined from the natural numbers to the natural numbers. However, "μ''y''" contains a ''
predicate Predicate or predication may refer to: * Predicate (grammar), in linguistics * Predication (philosophy) * several closely related uses in mathematics and formal logic: **Predicate (mathematical logic) **Propositional function **Finitary relation, o ...
'' over the natural numbers that delivers ''true'' when the predicate is satisfied and ''false'' when it is not. The ''bounded'' μ-operator appears earlier in Kleene (1952) ''Chapter IX Primitive Recursive Functions, §45 Predicates, prime factor representation'' as: :"\mu y_ R(y). \ \ \mbox \ y" (p. 225)
Stephen Kleene Stephen Cole Kleene ( ; January 5, 1909 – January 25, 1994) was an American mathematician. One of the students of Alonzo Church, Kleene, along with Rózsa Péter, Alan Turing, Emil Post, and others, is best known as a founder of the branch of ...
notes that any of the six inequality restrictions on the range of the variable ''y'' is permitted, i.e. ''y'' < ''z'', ''y'' ≤ ''z'', ''w'' < ''y'' < ''z'', ''w'' < ''y'' ≤ ''z'', ''w'' ≤ ''y'' < ''z'' and ''w'' ≤ ''y'' ≤ ''z''. "When the indicated range contains no ''y'' such that R(''y'') s "true" the value of the "μ''y''" expression is the cardinal number of the range" (p. 226); this is why the default "''z''" appears in the definition above. As shown below, the bounded μ-operator "μ''y''''y''<''z''" is defined in terms of two primitive recursive functions called the finite sum Σ and finite product Π, a predicate function that "does the test" and a representing function that converts to . In Chapter XI §57 General Recursive Functions, Kleene defines the ''unbounded'' μ-operator over the variable ''y'' in the following manner, :"(\exists y) \mu y R(y) = \" (p. 279, where "(\exists y)" means "there exists a ''y'' such that...") In this instance R itself, or its representing function, delivers ''0'' when it is satisfied (i.e. delivers ''true''); the function then delivers the number ''y''. No upper bound exists on ''y'', hence no inequality expressions appear in its definition. For a given R(''y'') the unbounded μ-operator μ''y''R(''y'') (note no requirement for "(E''y'')" ) is a
partial function In mathematics, a partial function from a set to a set is a function from a subset of (possibly itself) to . The subset , that is, the domain of viewed as a function, is called the domain of definition of . If equals , that is, if is de ...
. Kleene makes it as a
total function In mathematics, a partial function from a set to a set is a function from a subset of (possibly itself) to . The subset , that is, the domain of viewed as a function, is called the domain of definition of . If equals , that is, if is d ...
instead (cf. p. 317): \varepsilon yR(x,y) = \begin \text y \text R(x,y), &\text (Ey)R(x,y)\\ 0, &\text. \end The total version of the unbounded μ-operator is studied in ''higher-order''
reverse mathematics Reverse mathematics is a program in mathematical logic that seeks to determine which axioms are required to prove theorems of mathematics. Its defining method can briefly be described as "going backwards from the theorems to the axioms", in cont ...
() in the following form: (\exists \mu^2)(\forall f^1)\big( (\exists n^0)(f(n)=0) \rightarrow f(\mu(f))=0 \big), where the superscripts mean that ''n'' is zeroth-order, ''f'' is first-order, and μ is second-order. This axiom gives rise to the Big Five system ACA0 when combined with the usual base theory of higher-order reverse mathematics.


Properties

(i) In context of the
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 can be determined ...
, where the search variable ''y'' of the μ-operator is bounded, e.g. ''y'' < ''z'' in the formula below, if the predicate R is primitive recursive (Kleene Proof #E p. 228), then : μ''y''''y''<''z''R(''y'', ''x''1, ..., ''x''n) is a primitive recursive function. (ii) In the context of the (total) recursive functions, where the search variable ''y'' is ''unbounded'' but guaranteed to exist for ''all'' values ''x''''i'' of the total recursive predicate R's parameters, :(''x''1),...,(''x''''n'') (Ey) R(''y'', ''x''''i'', ..., ''x''''n'') implies that μ''y''R(''y'', ''x''''i'', ..., ''x''''n'') is a
total recursive function In mathematical logic and computer science, a general recursive function, partial recursive function, or μ-recursive function is a partial function from natural numbers to natural numbers that is "computable" in an intuitive sense – as well as i ...
. :Here (''x''''i'') means "for all ''x''''i''" and E''y'' means "there exists at least one value of ''y'' such that..." (cf Kleene (1952) p. 279.) then the five primitive recursive operators plus the unbounded-but-total μ-operator give rise to what Kleene called the "general" recursive functions (i.e. total functions defined by the six recursion operators). (iii) In the context of the
partial recursive function In mathematical logic and computer science, a general recursive function, partial recursive function, or μ-recursive function is a partial function from natural numbers to natural numbers that is "computable" in an intuitive sense – as well as i ...
s: Suppose that the relation R holds if and only if a partial recursive function converges to zero. And suppose that that partial recursive function converges (to something, not necessarily zero) whenever μ''y''R(''y'', ''x''1, ..., ''x''''k'') is defined and ''y'' is μ''y''R(''y'', ''x''1, ..., ''x''''k'') or smaller. Then the function μ''y''R(''y'', ''x''1, ..., ''x''''k'') is also a partial recursive function. The μ-operator is used in the characterization of the computable functions as the μ recursive functions. In
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 ...
, the unbounded search operator is related to
Markov's principle Markov's principle, named after Andrey Markov Jr, is a conditional existence statement for which there are many equivalent formulations, as discussed below. The principle is logically valid classically, but not in intuitionistic constructive m ...
.


Examples


Example 1: The bounded μ-operator is a primitive recursive function

:''In the following'' x ''represents the string'' ''x''''i'', ..., ''x''''n''. The ''bounded'' μ-operator can be expressed rather simply in terms of two primitive recursive functions (hereafter "prf") that also are used to define the CASE function—the product-of-terms Π and the sum-of-terms Σ (cf Kleene #B page 224). (As needed, any boundary for the variable such as ''s'' ≤ ''t'' or ''t'' < ''z'', or 5 < ''x'' < 17 etc. is appropriate). For example: :*Π''s''≤''t'' f''s''(x, ''s'') = f0(x, 0) × f1(x, 1) × ... × ft(x, ''t'') :*Σ''t''<''z'' g''t''(x, ''t'') = g0(x, 0) + g1(x, 1) + ... + gz-1(x, ''z''-1) Before we proceed we need to introduce a function ψ called "the representing function" of predicate R. Function ψ is defined from inputs (t = "truth", f = "falsity") to outputs (0, 1) (''note the order!''). In this case the input to ψ. i.e. . is coming from the output of R: :* ψ(R = t) = 0 :* ψ(R = f) = 1 Kleene demonstrates that μ''y''''y''<''z''R(''y'') is defined as follows; we see the product function Π is acting like a Boolean OR operator, and the sum Σ is acting somewhat like a Boolean AND but is producing rather than just : : μ''y''''y''<''z''R(''y'') = Σ''t''<''z''Π''s''≤''t'' ψ(R(x, ''t'', ''s'')) = : ˆ(x, 0, 0)+ : ˆ(x, 1, 0) × ψ(x, 1, 1)+ : ˆ(x, 2, 0) × ψ(x, 2, 1) × ψ(x, 2, 2)+ : ... + : ˆ(x, ''z''-1, 0) × ψ(x, ''z''-1, 1) × ψ(x, ''z''-1, 2) × . . . × ψ (x, ''z''-1, ''z''-1) :Note that ''Σ is actually a primitive recursion with the base'' Σ(x, 0) = 0 ''and the induction step'' Σ(x, ''y''+1) = Σ(x, ''y'') + Π( x, ''y''). ''The product Π is also a primitive recursion with base step'' Π(x, 0) = ψ(x, 0) ''and induction step'' Π(x, ''y''+1) = Π(x, ''y'') × ψ(x, ''y''+1)''. The equation is easier if observed with an example, as given by Kleene. He just made up the entries for the representing function ψ(R(''y'')). He designated the representing functions χ(''y'') rather than ψ(x, ''y''):


Example 2: The unbounded μ-operator is not primitive-recursive

The unbounded μ-operator—the function μ''y''—is the one commonly defined in the texts. But the reader may wonder why the unbounded μ-operator is searching for a function R(x, ''y'') to yield ''zero'', rather than some other natural number. :''In a footnote Minsky does allow his operator to terminate when the function inside produces a match to the parameter'' "''k''"; ''this example is also useful because it shows another author's format:'' ::"For μ''t'' †(''t'') = ''k'' (p. 210) The reason for ''zero'' is that the unbounded operator μ''y'' will be defined in terms of the function "product" Π with its index ''y'' allowed to "grow" as the μ-operator searches. As noted in the example above, the product Π''x''<''y'' of a string of numbers ψ(x, 0) *, ..., * ψ(x, ''y'') yields zero whenever one of its members ψ(x, ''i'') is zero: :Π''s''<''y'' = ψ(x, 0) * , ..., * ψ(x, ''y'') = 0 if any ψ(x, ''i'') = 0 where 0≤''i''≤''s''. Thus the Π is acting like a Boolean AND. The function μ''y'' produces as "output" a single natural number ''y'' = . However, inside the operator one of a couple "situations" can appear: (a) a "number-theoretic function" χ that produces a single natural number, or (b) a "predicate" R that produces either . (And, in the context of ''partial'' recursive functions Kleene later admits a third outcome: "μ = undecided".pp. 332ff) Kleene splits his definition of the unbounded μ-operator to handle the two situations (a) and (b). For situation (b), before the predicate R(x, ''y'') can serve in an arithmetic capacity in the product Π, its output must first be "operated on" by its ''representing function χ'' to yield . And for situation (a) if one definition is to be used then the ''number theoretic function χ'' must produce zero to "satisfy" the μ-operator. With this matter settled, he demonstrates with single "Proof III" that either types (a) or (b) together with the five primitive recursive operators yield the (total) recursive functions, with this proviso for a
total function In mathematics, a partial function from a set to a set is a function from a subset of (possibly itself) to . The subset , that is, the domain of viewed as a function, is called the domain of definition of . If equals , that is, if is d ...
: : ''For all parameters'' x, ''a demonstration must be provided to show that a ''y'' exists that satisfies (a)'' μ''y''ψ(x, ''y'')'' or (b)'' μ''y''R(x, ''y''). Kleene also admits a third situation (c) that does not require the demonstration of "for all x a ''y'' exists such that ψ(x, ''y'')." He uses this in his proof that more total recursive functions exist than can be enumerated''; c.f. footnote Total function demonstration. Kleene's proof is informal and uses an example similar to the first example, but first he casts the μ-operator into a different form that uses the "product-of-terms" Π operating on function χ that yields a natural number ''n'', which can be any natural number, and 0 in the instance when the u-operator's test is "satisfied". :The definition recast with the Π-function: :μ''y''''y''<''z''χ(''y'') = :*(i): π(x, ''y'') = Π''s''<''y''χ(x, ''s'') :*(ii): φ(x) = τ(π(x, ''y''), π(x, ''y' ''), ''y'') :*(iii): τ(''z' '', 0, ''y'') = ''y'' ;τ(''u'', ''v'', ''w'') is undefined for ''u'' = 0 or ''v'' > 0. This is subtle. At first glance the equations seem to be using primitive recursion. But Kleene has not provided us with a base step and an induction step of the general form: :* base step: φ(0, x) = φ(x) :* induction step: φ(0, x) = ψ(y, φ(0,x), x) To see what is going on, we first have to remind ourselves that we have assigned a parameter (a natural number) to every variable ''x''''i''. Second, we do see a successor-operator at work iterating ''y'' (i.e. the ''y' ''). And third, we see that the function μ''y'' ''y''<''z''χ(''y'', x) is just producing instances of χ(''y'',x) i.e. χ(0,x), χ(1,x), ... until an instance yields 0. Fourth, when an instance χ(''n'', x) yields 0 it causes the middle term of τ, i.e. v = π(x, ''y' '') to yield 0. Finally, when the middle term ''v'' = 0, μ''y''''y''<''z''χ(''y'') executes line (iii) and "exits". Kleene's presentation of equations (ii) and (iii) have been exchanged to make this point that line (iii) represents an ''exit''—an exit taken only when the search successfully finds a ''y'' to satisfy χ(''y'') and the middle product-term π(x, ''y' '') is 0; the operator then terminates its search with τ(''z' '', 0, ''y'') = ''y''. : τ(π(x, ''y''), π(x, ''y' ''), ''y''), i.e.: :* τ(π(x, 0), π(x, 1), 0), :* τ(π(x, 1), π(x, 2), 1) :* τ(π(x, 2), π(x, 3), 2) :* τ(π(x, 3), π(x, 4), 3) :* ... until a match occurs at ''y''=''n'' and then: :* τ(''z' '', 0, ''y'') = τ(''z' '', 0, ''n'') = ''n'' and the μ-operator's search is done. For the example Kleene "...consider any fixed values of (''x''''i'', ..., ''x''''n'') and write simply 'χ(''y'')' for 'χ(''x''''i'', ..., ''x''''n''), ''y'')'":


Example 3: Definition of the unbounded μ-operator in terms of an abstract machine

Both Minsky (1967) p. 21 and Boolos-Burgess-Jeffrey (2002) p. 60-61 provide definitions of the μ-operator as an abstract machine; see footnote Alternative definitions of μ. The following demonstration follows Minsky without the "peculiarity" mentioned in the footnote. The demonstration will use a "successor"
counter machine A counter machine is an abstract machine used in a formal logic and theoretical computer science to model of computation, model computation. It is the most primitive of the four types of register machines. A counter machine comprises a set of one o ...
model closely related to the
Peano Axioms In mathematical logic, the Peano axioms, also known as the Dedekind–Peano axioms or the Peano postulates, are axioms for the natural numbers presented by the 19th century Italian mathematician Giuseppe Peano. These axioms have been used nearly ...
and the
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 can be determined ...
s. The model consists of (i) a finite state machine with a TABLE of instructions and a so-called 'state register' that we will rename "the Instruction Register" (IR), (ii) a few "registers" each of which can contain only a single natural number, and (iii) an instruction set of four "commands" described in the following table: :''In the following, the symbolism " r " means "the contents of", and " →r " indicates an action with respect to register r.'' The algorithm for the minimization operator μ''y'' †(x, ''y'')will, in essence, create a sequence of instances of the function φ(x, ''y'') as the value of parameter ''y'' (a natural number) increases; the process will continue (see Note † below) until a match occurs between the output of function φ(x, ''y'') and some pre-established number (usually 0). Thus the evaluation of φ(x, ''y'') requires, at the outset, assignment of a natural number to each of its variables x and an assignment of a "match-number" (usually 0) to a register "''w''", and a number (usually 0) to register ''y''. :''Note †: The ''unbounded'' μ-operator will continue this attempt-to-match process ad infinitum or until a match occurs. Thus the "''y''" register must be unbounded -- it must be able to "hold" a number of arbitrary size. Unlike a "real" computer model, abstract machine models allow this. In the case of a ''bounded'' μ-operator, a lower-bounded μ-operator would start with the contents of ''y'' set to a number other than zero. An upper-bounded μ-operator would require an additional register "ub" to contain the number that represents the upper bound plus an additional comparison operation; an algorithm could provide for both lower- and upper bounds.'' In the following we are assuming that the Instruction Register (IR) encounters the μ''y'' "routine" at instruction number "''n''". Its first action will be to establish a number in a dedicated "''w''" register—an "example of" the number that function φ(x, ''y'') must produce before the algorithm can terminate (classically this is the number zero, but see the footnote about the use of numbers other than zero). The algorithm's next action at instructiton "''n''+1" will be to clear the "''y''" register -- "''y''" will act as an "up-counter" that starts from 0. Then at instruction "''n''+2" the algorithm evaluates its function φ(x, ''y'') -- we assume this takes ''j'' instructions to accomplish—and at the end of its evaluation φ(x, y) deposits its output in register "φ". At the (''n''+''j''+3)rd instruction the algorithm compares the number in the "''w''" register (e.g. 0) to the number in the "φ" register—if they are the same the algorithm has succeeded and it escapes through ''exit''; otherwise it increments the contents of the "''y''" register and ''loops'' back with this new y-value to test function φ(x, ''y'') again.


See also

* McCarthy Formalism


Footnotes


Total function demonstration

What is ''mandatory'' if the function is to be a
total function In mathematics, a partial function from a set to a set is a function from a subset of (possibly itself) to . The subset , that is, the domain of viewed as a function, is called the domain of definition of . If equals , that is, if is d ...
is a demonstration ''by some other method'' (e.g.
induction Induction, Inducible or Inductive may refer to: Biology and medicine * Labor induction (birth/pregnancy) * Induction chemotherapy, in medicine * Induced stem cells, stem cells derived from somatic, reproductive, pluripotent or other cell t ...
) that for each and every combination of values of its parameters ''x''''i'' some natural number ''y'' will satisfy the μ-operator so that the algorithm that represents the calculation can terminate: :"...we must always hesitate to assume that a system of equations really defines a general-recursive (i.e. total) function. We normally require auxiliary evidence for this, e.g. in the form of an inductive proof that, for each argument value, the computation terminates with a unique value." (Minsky (1967) p.186) :"In other words, we should not claim that a function is effectively calculable on the ground that it has been shown to be general (i.e. total) recursive, unless the demonstration that it is general recursive is effective."(Kleene (1952) p.319) For an example of what this means in practice see the examples at
mu recursive function In mathematical logic and computer science, a general recursive function, partial recursive function, or μ-recursive function is a partial function from natural numbers to natural numbers that is "computable" in an intuitive sense – as well as i ...
s—even the simplest truncated subtraction algorithm "''x'' - ''y'' = ''d''" can yield, for the undefined cases when ''x'' < ''y'', (1) no termination, (2) no numbers (i.e. something wrong with the format so the yield is not considered a natural number), or (3) deceit: wrong numbers in the correct format. The "proper" subtraction algorithm requires careful attention to all the "cases" :(''x'', ''y'') = . But even when the algorithm has been shown to produce the expected output in the instances , we are left with an uneasy feeling until we can devise a "convincing demonstration" that the cases (''x'', ''y'') = (''n'', ''m'') ''all'' yield the expected results. To Kleene's point: is our "demonstration" (i.e. the algorithm that is our demonstration) convincing enough to be considered ''effective''?


Alternative abstract machine models of the unbounded μ-operator from Minsky (1967) and Boolos-Burgess-Jeffrey (2002)

The unbounded μ-operator is defined by Minsky (1967) p. 210 but with a peculiar flaw: the-operator will not yield ''t''=0 when its predicate (the IF-THEN-ELSE test) is satisfied; rather it yields ''t''=2. In Minsky's version the counter is "''t''", and the function φ(''t'', x) deposits its number in register φ. In the usual μ definition register ''w'' will contain 0, but Minsky observes that it can contain any number ''k''. Minsky's instruction set is equivalent to the following where "JNE" = Jump to z if Not Equal: : The unbounded μ-operator is also defined by Boolos-Burgess-Jeffrey (2002) p. 60-61 for a counter machine with an instruction set equivalent to the following: : In this version the counter "y" is called "r2", and the function f( x, r2 ) deposits its number in register "r3". Perhaps the reason Boolos-Burgess-Jeffrey clear r3 is to facilitate an unconditional jump to ''loop''; this is often done by use of a dedicated register "0" that contains "0":


References

*
Stephen Kleene Stephen Cole Kleene ( ; January 5, 1909 – January 25, 1994) was an American mathematician. One of the students of Alonzo Church, Kleene, along with Rózsa Péter, Alan Turing, Emil Post, and others, is best known as a founder of the branch of ...
(1952) ''Introduction to Metamathematics'', North-Holland Publishing Company, New York, 11th reprint 1971: (2nd edition notes added on 6th reprint). * * Marvin L. Minsky (1967), ''Computation: Finite and Infinite Machines'', Prentice-Hall, Inc. Englewood Cliffs, N.J. :On pages 210-215 Minsky shows how to create the μ-operator using the
register machine In mathematical logic and theoretical computer science a register machine is a generic class of abstract machines used in a manner similar to a Turing machine. All the models are Turing equivalent. Overview The register machine gets its name from ...
model, thus demonstrating its equivalence to the general recursive functions. *
George Boolos George Stephen Boolos (; 4 September 1940 – 27 May 1996) was an American philosopher and a mathematical logician who taught at the Massachusetts Institute of Technology. Life Boolos is of Greek-Jewish descent. He graduated with an A.B. i ...
, John Burgess,
Richard Jeffrey Richard Carl Jeffrey (August 5, 1926 – November 9, 2002) was an American philosopher, logician, and probability theorist. He is best known for developing and championing the philosophy of radical probabilism and the associated heuristic of pr ...
(2002), ''Computability and Logic: Fourth Edition'', Cambridge University Press, Cambridge, UK. Cf pp. 70–71. {{DEFAULTSORT:Mu-operator Computability theory