
Martin’s Conjecture: A Classification of the Naturally Occurring Turing Degrees S 1 1 0 1 0 0 1 0 1 0 1 1 Antonio Montalb´an This paper is about naturally occurring objects in comput- if it can be calculated using a mechanical, step-by-step al- ability theory, the area inside mathematical logic that stud- gorithm. The informal notion of algorithm was already ies the complexity of infinite countable objects. It is about known to the Greeks two millennia ago. But it was not un- the structure that emerges when we look at almost- til the 1930s that Gödel, Turing, and Church, among oth- everywhere behavior with respect to a measure called Mar- ers, proposed the first formal definitions of computable tin’s measure. Posed in the 1970s, Martin’s conjecture was functions. Conceived before the age of computers, those the first indication of this hidden structure. Martin’s con- three equivalent definitions capture what we still call the jecture is currently one of the main open questions in com- class of computable functions: Let us use ℕℕ to denote the putability theory and is of great foundational importance. set of functions from ℕ to ℕ. Today, we say that a function Progress has been slow, and only recently we have started 푓 ∈ ℕℕ is computable if it can be calculated using a com- to appreciate the extent to which Martin’s measure can be puter program in your favorite programming language.1 used to understand the behavior of naturally occurring ob- Which programming language you use is not important. jects in computability theory. You always get the same class of functions as long as the language has some minimum basic functionality. Some Computability Theory languages might be faster or easier to use for certain types Computability theory is the area of logic that studies the of functions, but the class of computable functions from complexity of infinite countable objects. Computer sci- ℕ to ℕ is independent of the language. The restriction to ence and set theory take care of the finite objects and un- functions on the natural numbers is just for simplicity. It countable objects, respectively—well, not exactly, but is not even a real restriction, as any finite object can be more or less. The main notion in computability theory coded by a natural number—that’s what your computer is that of computable function. A function 푓 is computable does when it encodes everything you see on the screen into numbers written in binary. In our examples below, Antonio Montalb´anis a professor of mathematics at the University of California, we will mention finite objects, like strings of characters or Berkeley. His email address is [email protected]. The author was partially supported by NSF grant DMS-1363310 and by a Si- integer polynomials, and assume they are being encoded mons fellowship. The author would also like to thank Pierre Simon for proof- by natural numbers in some standard way without even reading this paper. mentioning it. Communicated by Notices Associate Editor Stephan Ramon Garcia. A subset 퐴 ⊆ ℕ is computable if its characteristic For permission to reprint this article, please contact: 1We impose no restriction on time spent or memory used so long as, on each [email protected]. input, the program gives an answer after finitely many steps, hence using only DOI: https://doi.org/10.1090/noti1940 finitely much memory. SEPTEMBER 2019 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY 1209 function 휒퐴 ∶ ℕ → {0, 1} is computable. Here are some is to reduce them to the halting problem. For instance, to examples of noncomputable sets. prove that the word problem is noncomputable, we K: The halting problem is the problem of deciding whether produce an algorithm that decides membership in the halt- ing problem using information about which words in an inputless computer program will eventually halt or 4 run forever without halting, maybe because it enters which finitely presented groups become trivial. an infinite loop or something. We represent this prob- Let us focus on this idea of reducing one problem to an- other. Consider a function 푔 ∈ ℕℕ. We say that a function lem by the set K of inputless computer programs that ℕ eventually halt. (Here, programs are being viewed as 푓 ∈ ℕ is 푔-computable, or computable in 푔, and write 푓 ≤푇 strings of characters and coded by a single number.) 푔 if the values of 푓 can be calculated using a computer pro- To solve the halting problem, one could try to run the gram that is allowed to consult values of 푔 during its com- given program and see if it halts. The problem is that putation. For example, this program could contain an in- while a program is running and hasn’t halted yet, we struction of the form: “let x:=17; if 푔(x)>27, can’t tell for sure if it is going to stop later or just keep then do this, else do that.” The function 푔 is on going.2 called the oracle of the computation, as we are not specify- WP: The word problem. Consider finitely presented ing how we are getting the values of 푔; they are just given to groups. These are groups that have finitely many gen- us. The relation ≤푇 is transitive and reflexive, and hence a ℕℕ ≤ erators 푎1, 푎2, ..., 푎푘 that satisfy a finite set of relations preordering on . As any preordering does, 푇 naturally 푓 ≡ 푔 푓 ≤ 푔 of the form 푅푖 = 푒, where 푅1, ..., 푅 are words on the induces an equivalence relation, 푇 if 푇 and ℓ ℕ −1 −1 푔 ≤푇 푓, and a partial ordering on the quotient ℕ / ≡푇. letters 푎1, 푎2, ..., 푎푘, 푎1 , ..., 푎푘 . The word problem is to decide, given such a group presentation and an- The equivalence classes are called Turing degrees, and this ℕ other word 푤, whether 푤 is equivalent to the identity partial ordering (ℕ / ≡푇; ≤푇) is denoted by 풟. Each 푒 of the group or not. We define WP to be the set of Turing degree corresponds to a level of complexity, and 풟 tuples ((푎1, 푎2, ..., 푎푘), (푅1, ..., 푅ℓ), 푤) for which the maps out all complexity levels. The properties of this answer is yes. partial ordering have been widely studied since the 1950s. HTP: Hilbert’s tenth problem. Let HTP be the set of poly- Here are some of them. The first four are quite simple, nomials in ℤ[푦0, 푦1, 푦2, ...] that have an integer solu- while the last two require extremely elaborate proofs. tion. Question ten in Hilbert’s famous 1900 list was • 풟 has a least element, 0, that consists of the equiv- whether there was an algorithm to decide member- alence class of the computable functions. ship in HTP. It was answered negatively in 1970 by • Every two degrees have a least upper bound given Matiyasevich, building on work by Martin Davis, Hi- by 푓 ⊕ 푔, where 푓 ⊕ 푔 is the function ℎ such that lary Putnam, and Julia Robinson. ℎ(2푛) = 푓(푛) and ℎ(2푛 + 1) = 푔(푛). TF: Let 푇퐹 be the set of finite presentations • 풟 has the countable predecessor property; i.e., for ((푎1, 푎2, ..., 푎푘), (푅1, ..., 푅ℓ)) of groups that are every 푔, there are only countably many 푓’s that are torsion-free. ≤푇 푔. This is because there are only countably COF: Let 퐶푂퐹 be the set of polynomials in many programs one can write. ℤ[푥, 푦0, 푦1, 푦2, ...] that have integer solutions for all • In particular, every degree is countable, and hence but at most finitely many values of 푥. 풟 has size continuum. TA: Let TA be the set of 1st-order sentences in the lan- • 풟 is fat: There are continuum-size sets of degrees guage of arithmetic {0, 1, +, ×, ≤} that are true about that are pairwise incomparable. the natural numbers. • 풟 is very rich: Every countable partial ordering WF: Let WF be the set of programs 횙 for which there embeds in 풟 as an initial segment. exists no sequence 푎0, 푎1, 푎2, ... of natural numbers There are many more results showing that 풟 is 3 such that 횙(푎푖+1) = 푎푖 for all 푖 ∈ ℕ. extremely complex. An example of a question that has To prove that any of these examples cannot be decided eluded an answer for decades is whether 풟 has a nontrivial by a computer program, one starts with the halting prob- automorphism. lem. For that, one uses a Cantor-style diagonalization ar- gument to define, under the assumption that K is com- The Linearity Phenomenon putable, a computable function that is different from all We wanted to find a ruler that we can use to measure com- computable functions. For the other examples, the idea plexity, a hierarchy of complexity levels that we can use to classify problems. Instead, we’ve got an ordering, ≤푇, 2 The “K” is for Stephen Kleene. 4This isn’t easy at all. One has to encode the nuts and bolts of a Turing machine 3 The notation 횙(푎) = 푏 means that the program 횙 halts on input 푎 and out- into a presentation of a group in such a way that a certain word is equivalent to puts 푏. the identity if and only if the given Turing machine halts. 1210 NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY VOLUME 66, NUMBER 8 that gives us a way of saying that certain problems are more theory, and up through the large-cardinal hypotheses, are complex than others and that some are incomparable.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages7 Page
-
File Size-