• Tidak ada hasil yang ditemukan

1 Introduction. Intuitive Computability

Dalam dokumen Yu. I. Manin (Halaman 188-192)

the earlier domf) is called the domain of definition off;f is defined at a point x∈ X if x∈D(f);f is nowhere defined ifD(f) is empty; and there exists a unique nowhere defined partial function.

We letZ+={1,2,3, . . .}denote the set of natural numbers,excluding zero.

(It is not necessary, only convenient, to exclude zero.) If n 1, we let (Z+)n denote then-fold direct product ofZ+with itself, i.e., the set of orderedn-tuples x1, . . . , xn, xi Z+. It is convenient to let (Z+)0 denote the set consisting of an arbitrary element, denoted by “·”. The basic objects of our concern will be partial functions from (Z+)m to (Z+)n for variousmandn. When we clas- sify these functions according to their computability, the reader can think of the word “program” as referring to a program for a universal computer that is written without regard to time or memory limitations. Here every program for computing a function has a special “blank space” in which to insert the value of the argument.

1.3. The basic informal definitions. (a) A partial function f from (Z+)m to (Z+)n is called computableif there exists a “program” that, whenever a vector x∈(Z+)mis entered in the input, gives as output

f(x), ifx∈D(f);

0, ifx∈D(f).

Here 0 merely indicates thatf is not defined at x; we could allow the output in this case to be anythingnot in (Z+)n.

(b) A partial function f from (Z+)m to (Z+)n is called semicomputable if there exists a “program” that, whenever a vectorx∈(Z+)mis entered in the input, gives f(x) as output if x∈ D(f), and either gives 0 as output or else works infinitely long without stopping ifx∈D(f).

In particular, computable functions are semicomputable, and everywhere defined semicomputable functions are computable.

(c) A partial function f is called noncomputable if it does not satisfy condition (b) (and a fortiori (a)).

1.4. Comments

(a) The most basic of these three concepts is semicomputability, since computability reduces to this property. In fact, to determine whether a semi-computable function is computable, we proceed as follows.

LetX ⊂Y be two sets. By the characteristic functionofX in Y we mean the function χX:Y Z+ such that

χX(x) =

1, ifx∈X; 2, ifx∈X.

Note that χX is everywhere defined onY.

Now letf be a semicomputable function from (Z+)m to (Z+)n. If f were computable as well, then the characteristic function of D(f) would also be

computable: simply add to the program that computes f the instructions

“send 0 to 2, and anything not 0 to 1, and print as output.” Conversely, if χD(f)is computable, then so is f: in front of the program that semicomputes f, put the program that computesχD(f) and then the instruction to give 0 as output immediately if χD(f)(x) = 2 and to continue with the program forf with x as the argument if χD(f)(x) = 1. Thus, since the everywhere defined functionχD(f) is computable if and only if it is semicomputable, we havef is computable⇔f is semicomputable andχD(f)semicomputable. Later, we shall first formalize the concept of semicomputability, and then take the right side of this equivalence as the formalization of computability.

(b) There exist noncomputable functions. In fact, any program is a finite text in a finite alphabet, so that the set of programs is countable, while the set of all functions Z+ Z+ is uncountable. (For a critical discussion of this argument, see 1.5 below.)

An example of a noncomputable function. We consider the language of arithmetic SAr, which was described in §10 of Chapter II, and number the formulas of this language as explained in§11 of Chapter II. We define a function f by stipulating that

f(x)

⎧⎪

⎪⎨

⎪⎪

= 1, if the xth formula is true in the standard interpretation;

is not defined, if the xth formula is false.

The functionf is noncomputable. In Chapter VII we shall see that this follows because the set D(f) is not definable in arithmetic, by Tarski’s theorem.

In other words, it is impossible (even in principle) to distinguish the set of all number-theoretic truths by writing a single program (even a very long and complicated one) that could tell from a statement’s formulation whether it is true. Of course, to prove this result requires a much deeper analysis of the concept of computability.

(c) There exist functions that are semicomputable but not computable.

We first give a typical example of a program that semicomputes a function.

We consider the following functionf fromZ+ toZ+, which is defined in terms of Fermat’s problem:

f(n)

⎧⎪

⎪⎩

= 1, if there existx, y, z∈Z+ for which xn+2+yn+2=zn+2;

is not defined, otherwise.

Here is a program that semicomputesf: after enteringnin the input, run through all vectors x, y, z in a suitable order. (For example, according to increasingx+y+z, and for givenx+y+z, in lexicographic order.) For each such vector verify whether xn+2+yn+2 =zn+2. If this equation holds, give 1 as output; otherwise, go on to the next x, y, z.

Hence, f is semicomputable. But it is not known whether f is computable. According to Fermat’s conjecture, f is nowhere defined (and

hence computable!). The strongest theoretical results known concerningf—the so-called criteria of Kummer, Wieferich, Vandiver, and others—may be regarded as a sort of approximation to proving thatfiscomputable, not thatf is nowhere defined. That is, in order to verify the Fermat conjecture successively for vari- ous values of n, we must perform a (machine) computation (whose size grows rapidly with n) to determineχD(f)at the pointn, when this determination is possible.1

There is an analogous example of a semicomputable function that we actually know is not computable. In Chapter VI we prove that there exists a polynomialP(t, x1, . . . , xn) with integer coefficients such that the function

g(t)

⎧⎨

= 1, if the equationP(t, x1, . . . , xn) = 0 is solvable withx1, . . . , xnZq;

is not defined, otherwise,

is not computable. This function is semicomputable by the same argument as in the case of the function connected with Fermat’s equation.

1.5. Critical discussion of the above proofs. Before proceeding further, we consider from a more critical point of view, for example, the argument in 1.4(b).

The first weak point that catches our attention is that we did not say precisely what a program is. But this is not essential; for any fixed definition we choose, a program must in any case be a text in a finite alphabet if it at all corresponds to our intuitive notions, and there are countably many such texts. A much stronger objection to the argument goes roughly as follows: what justification do we have for working with just one definition of what a program is? Could there perhaps exist an increasing hierarchy of precisely describable “methods of computation,” so that for every function from Z+ to Z+ we could choose a corresponding program that could compute this function?

A fundamental discovery in the theory of computability was that this last question has a negative answer. We now have a unique and final formal notion that corresponds to the intuitive idea of semicomputability. It can be stated as follows:

1.6. Church’s Thesis(weakest form). It is possible to give explicitly:

(a) a family of basic semicomputable functions;

(b) a family of elementary operations that, starting from any semicomputable functions, allow new semicomputable functions to be constructed;

with the property that any semicomputable function can be obtained in a finite number of steps, where each step consists in applying one of the elementary operations to the functions constructed before and those in the family(a).

1 Since the publication of the first Edition, Fermat’s conjecture was proved by Wiles, so now we know thatfis computable and empty. The reader may wish to replace in our discussionf by another function, say characteristic function of the set of numbers n of such primes pn that pn+1 = pn+2. This is another old number- theoretic problem. It remains unsolved.

1.7. Comment.Church’s thesis will be given a precise formulation in the next section: the basic functions and the elementary operations will be given exp- licitly. The exact mathematical theory of computability begins at that point.

But it seemed important to indicate first the general significance of the discovery that such families of functions and operations exist at all and can even be given explicitly, a result that is far from obvious.

This is an experimental fact, one of the most important discovered by logic.

In the next section we discuss evidence of its value and usefulness. Now we merely note that this fact is related to the finiteness of the basic logical and set- theoretic principles of mathematics (implicit, for example, in L1Set), but is not identical to this finiteness.

Dalam dokumen Yu. I. Manin (Halaman 188-192)