On the Structure of Turing Universe: The Non-Linear Ordering of Turing Degrees

Size: px
Start display at page:

Download "On the Structure of Turing Universe: The Non-Linear Ordering of Turing Degrees"

Transcription

1 On the Structure of Turing Universe: The Non-Linear Ordering of Turing Degrees Yazan Boshmaf November 22, 2010 Abstract Turing Universe: the final frontier. These are the voyages of five mathematicians. Their ongoing mission: to explore strange new computability problems, to seek out new degrees of unsolvability and new structures, to boldly go where no man has gone before. - Adapted from Star Trek This paper is a study of the Turing Universe, which is a collection of all Turing Degrees. In respect, Turing Degrees are levels of computability naturally arising from the set of natural numbers. We show that there exist incomparable pairs of Turing Degrees as to prove the non-linearity of the Turing Universe. This study focuses on the works of five great mathematicians who had the greatest impact on Computability Theory: Gödel, Church, Turing, Kleene, and Post. Department of Electrical and Computer Engineering, University of British Columbia, Vancouver, Canada. ( boshmaf@ece.ubc.ca) 1

2 Contents 1 Introduction 3 2 Computable Functions Informal Description Formal Definitions Recursive Functions Turing Machines Equivalence of Models Coding and The Universal Turing Machine Gödel Numbering for Turing Machines The Universal Turing Machine Enumerability and Computability 15 5 Comparing Computability Many-One Reducibility The Non-Computable Universe and m-degrees Computing with Oracles Oracle Turing Machines Relativized Computable Functions The Turing Universe Enumerating with Oracles and Jump Operators The Structure of Turing Universe Oracles as Strings Non-Linearity of Turing Universe Conclusion 35 9 References 35 2

3 1 Introduction The goal of this paper is to prove the non-linearity of the Turing universe. The proofs we present are intuitive and simplistic compared to the original ones, and use basic results in computability theory. Let us give some background on Turing universe and its structure. For any two sets A, B N, we say A is Turing reducible to B (written A T B) if the characteristic function of A, χ A, is computable by an oracle Turing machine, ˆT, using an oracle B. An oracle Turing machine is a normal Turing machine with an extended power to query an external information source (called an oracle) concerning set memberships. We call A and B Turing equivalent (written A T B) if they are reducible to each other. The T operator defines an equivalence relation whose class is called a Turing degree or a degree of unsovability. That is, for any set A N a = degree(a) := {X N X T A} is the degree of all sets that are Turing equivalent to A. The Turing universe D is a collection of all Turing degrees. The Turing universe is defined as a partial order that is induced by the operator T over all sets of natural numbers. That is, for any two sets A, B N a b A T B where a and b are the Turing degrees of the sets A and B, respectively. There is an interesting substructure of D that contains the degrees of all sets whose elements can be effectively listed. These sets are called computably enumerable (c.e.) sets and can be viewed as unbounded search problems. For a set A N, we say A is c.e. in B if we can computably enumerate the elements of A using an oracle B. We say the degree a is c.e. in b if some A a is c.e. in B b. Finally, we write E for the collection of all c.e. Turing degrees. The goal of this paper is to prove that D and E are not linearly ordered (the latter case is known as Post s Problem), that is, there exists a pair of Turing degrees that are incomparable. The goal is to prove the following theorem: 3

4 Theorem (Kleene-Post, Friedberg-Muchnik): There exist (c.e.) Turing degrees a and b such that a T b and b T a. We will now summarize the proofs and the rest of the paper. We construct two sets A and B such that A T B and B T A, where a = degree(a) and b = degree(b). The construction involves satisfying two relations which we call requirements. The requirements for constructing the sets A and B are: R 2i : χ A Φ B i R 2i+1 : χ B Φ A i where i N is the construction stage, and Φ S i is the {0,1}-valued output of the i th oracle Turing machine, ˆTi, using the oracle S. In the case of D, we construct A and B as a sequence of binary strings representing their characteristic functions according to some strategy, as shown by Kleene and Post. Satisfying the requirements for E, on the other hand, is more difficult as we cannot use oracles. We use set approximating sequences and define strategies that utilize priorities as a rule for selecting a candidate element for inclusion in either A or B. This method is known as the priority method and was proposed independently by Friedberg and Muchnik. We review all major results in computability theory that are needed to develop the aforementioned methods. So what?, we hear you say. First, we argue that defining a hierarchical structure for complex problems is very important to reveal the dynamic relationships between different levels of abstraction 1. Moreover, putting such a hierarchical structure in a descriptive framework allows us to investigate each level with its local constraint. In respect, this is the underlying power of Turing universe. We can now get a deeper understanding of Gödel s Incompleteness Theorem and potentially leap over the unproved (and perhaps the unprovable) assumptions of incomputability, on which it is based. Second, if we look at computable and incomputable sets as having some computational information content (such as their mathematical description), then the existence of incomparable sets leads us to the fact that these sets hold different kinds of information content; a first result towards understanding the nature 1 This is not surprisingly new. In science, the study of quantum mechanics, atoms, molecules, cells, organism, and so on, revealed many interesting properties between such different levels of abstraction. 4

5 of computability in complex environments, and its relationship to basic science and the empirical observation through algorithmic processes. What a rich and interesting topic! We wish to thank the following people: Bader AlAhmad for his exquisite discussions and interest in the subject matter, Prof. Joel Friedman for introducing us to the beautiful world of theoretical computer science, and for his unparalleled (and addictive) teaching style, the authors of the references for providing the means for this study to materialize, and last but not least, we thank the folks at ICICS Reading Room for the unlimited supply of chocolate bars and candy. 2 Computable Functions What is a computable function? How can we formalize it in a rigorous mathematical model? In this section, we give an informal intuition on how a function can be computed. Then, we formalize the discussion and present two basic models of computation. Finally, we show that all of the accepted models define the same class of computable functions. 2.1 Informal Description An algorithm for a function 2 f : N N is a finite set of instructions which, given an input x N, yields an output y = f(x) in a finite number of steps. Intuitively, such an algorithm must specify how to obtain each step of its calculations from previous steps and its input x. Informally, we say f is a computable function if there is an algorithm that calculates the output f(x) for each input x N. Note that this algorithm halts if f(x) is defined for all x N. Otherwise, it will loop forever, that is, it will not halt. It should be noted that the algorithm of any computable function could be calculated by any modern computer, if one ignores the restrictions on the amount of computing time and storage capacity. 2 In this study, we fix a domain for computable functions which is the set of natural numbers. This is the most basic set we can choose that is capable of expressing a full range of mathematical practice. This, however, can be extended to include rational number by proper enumeration or encoding. 5

6 2.2 Formal Definitions We discuss two formal models of computation. There is, however, a consensus that these and other models give rise to exactly the same class of functions. It is safe to say that all results presented in this study are independent of the chosen formal model of computation Recursive Functions The natural way to devise an algorithm is by stating some logical assertions about how something could be done in a finite number of steps. Accordingly, the language of logic seems very suitable to express such algorithms, and in particular, the logical induction. Charged with this intuition, the great mathematician, Gödel, defined what is called primitive recursive functions as follows. Definition 1 (Primitive Recursive Functions): The class of primitive recursive functions includes all functions that are either initial functions or constructed from initial functions using substitution and primitive recursion rules, as follows: (1) The following initial functions are primitive recursive: (a) The zero function defined by: 0(n) = 0, n N, (b) The successor function defined by: n + = n + 1, n N, (c) The projection functions defined by: U k i ( m) = m i, for each k 1, and i = 1,..., k, (where we write m = m 1,..., m k ). (2) If g, h, h 0,..., h l are primitive recursive then so is f obtained from these preceding functions, by one of the following rules: (a) The substitution rule given by: f( m) = g(h 0 ( m),..., h l ( m)), (b) The primitive recursion rule given by: f( m, 0) = g( m), f( m, n + 1) = h( m, n, f( m, n)). 6

7 Example 1: The function f(x, y) = x + y is primitive recursive. This is clear once we apply the rules in Definition 1 as follows: f(m, 0) = U 1 1 (m) = m, f(m, n + 1) = (f(m, n)) + = (U 3 3 (m, n, f(m, n)) + = (m + n) + 1. So far, based on our definition of primitive recursive functions, we intuitively insist that there exist some algorithms that compute such functions. This, however, is not enough as the class of primitive recursive functions does not include all computable functions. The general argument is that there exist some recursive functions that are not primitive but are computable. This can be shown by a simple diagonalization of all primitive recursive functions (which are total functions), and then one can define a recursive function that is not primitive. This function turns out to be partial. This demands that we extend the class to include all partial recursive functions. But first, let us define what we mean by total and partial functions. Definition 2 (Total and Partial Functions): We say that a function f : A B is total if f(x) is defined (written f(x) ) for every x A. Otherwise, if f(x) is undefined (written f(x) ) for some x A, we say that f is partial. Now, let us extend the class of primitive recursive functions to include all partial recursive functions as follows. Definition 3 (Partial Recursive Functions): A function f is partial recursive (written p.r.) if f can be defined using initial functions and a finite number of applications of the rules in Definition 1, in addition to one other rule called the minimalization rule, defined by: If g( n, m) is p.r., then so is f( n) = µm[g( n, m) = 0], where µm[p (m)] means the minimal value of m such that P (m) is true. Moreover, we call a p.r. function, f, recursive if it is total. The µ-operator can be viewed as a search operation where the algorithm that computes f( n) computes g( n, 0), g( n, 1), g( n, 2)... and stops whenever g( n, m 0 ) = 0 at which m = m 0. This computation can never halt as well. Again, we still insist that all (partial) recursive functions are computable based on the intuitive idea of logical induction. Luckily, Church was working 7

8 on his, yet equivalent, λ-calculus and conjectured the following which we accept as true as many experts in the field did. Thesis 1 (Church): The following are equivalent for any function f: (1) f is recursive f is total and effectively computable. (2) f is p.r. f is effectively computable. What is meant by f being effectively computable is that there exists some description of an algorithm, in some language, which can be used to compute any value f(x) in a finite number of steps for which f(x). Based on Thesis 1, we can extend our discussion of computability to include sets and relations. This is done by defining a characteristic function for each set or relation, and then call such a set or relation computable if their corresponding characteristic functions are computable, as follows. Definition 4 (Recursive Relations and Sets): Let S be any set, and R be any relation. We define their computability as follows. (1) First, define the characteristic { function of S and R by: 1, if x S, χ S (x) = 0, if x S, { 1, if R( x) is true, χ R ( x) = 0, if R( x) is false, (2) We say S or R are recursive, if χ S (x) or χ R ( x) are recursive as well. Example 2: The relation < is recursive (or efficiently computable). We show this by showing that n < m is primitive recursive. Let γ(m) be the predecessor function defined by: { m 1, if m > 0, γ(m) = 0, if m = 0, 8

9 This function is primitive recursive as γ(0) = 0(n) and γ(m + 1) = U1 2 (m, γ(m)). Now, let diff(m, n) be the recursive difference function defined as follows: { m n, if m n, diff(m, n) = 0, if m < n, The function f is primitive recursive as diff(m, 0) = U1 1 (m) = m and diff(m, n+1) = γ(u3 3 (m, n, diff(m, n))). Finally, let ztest(m) be the zerotest function defined as follows: { 0, if m = 0, ztest(m) = 1, if m 0, It is clear that this function is also primitive recursive as ztest(0) = 0(n) and ztest(m + 1) = (U 2 2 (m, ztest(m))) +. Now, we have χ < (n, m) = ztest(diff(m, n)) = ztest diff(m, n), and hence, the relation n < m is primitive recursive. Here is another useful result that simplifies our use of the µ-operator. Proposition 1 (Minimalization and Recursive Relations): If R( m, n) is a recursive relation, then f defined by f( m) = µn[r( m, n)] := the least n such that R( m, n) holds, is partial recursive as well. Proof: Notice that the χ R ( m, n) = diff(1, χ R ( m)), which is primitive recursive. Now, by Definition 3, f( m) = µn[χ R ( m, n)], and hence, f( m) is primitive recursive. Finally, we propose the following useful recursive function that we will use in the upcoming sections to effectively list pairs of natural numbers. Proposition 2 (The Recursive Pairing Function): There exists a bijective recursive pairing function.,. : N N N. Proof: We use Thesis 1. First, we construct and array of all pairs of natural 9

10 numbers. After that, we list the pairs in the array algorithmically in a carefully selected order such that we do not go in a direction that is infinite before listing other previous pairs. This defines the required function. Alternatively, we can define x, y = 2 x 3 y, which is primitive recursive 3, injective, and well-defined. Hence,.,. is recursive Turing Machines Turing machines, named after their inventor Alan Turing, are by far the strongest model of computation because they are a true measure of how difficult it is to carry out a particular type of computation. Hence, they became the standard model in the study of computational complexity. We will consider the classical Turing machine in this study, which has many equivalent variants (see Sipser s book for a proper treatment). The hardware of a Turing machine consists of a tape, divided into cells, which is infinitely extendable in both directions, and a read/write head. When talking about a Turing machine, T, we actually mean its program. Turing programs are the internal states of T (Turing refers to them as the human states of mind ). We describe T as follows: 1. The tape symbols, called the tape alphabet, are the symbols that are allowed to be written on the tape, where each tape cell contains exactly one symbol. We refer to the tape symbols as the set Σ = {0, 1}, where 0 represents an empty (or blank) cell. 2. An infinite list of internal states, represented by the set Ω = {q 0, q 1,... }. At the start of any given computation, T always starts in one state, q The action symbols, represented by the set Γ = {0, 1, L, R}, where 1 means write 1, 0 means write 0 or erase current cell, L means move head one cell to the left, and R means move head one cell to the right. 4. The Turing program, P = {Q 1,..., Q n }, is formed from a set of instructions, called quadruples. Any quadruple Q k is in the form q i SAq j, which means if T is currently at state q i Ω reading tape symbol S Σ, then perform action A Γ and go to the new state q i Ω. 3 By showing that both exp(x) = c x and mult(x, y) = xy are primitive recursive for some constant c, then it follows that x, y = 2 x 3 y is primitive recursive as well. 10

11 Definition 5 (Turing Machines Input Convention): To input n N to a Turing machine, T, place n + 1 consecutive 1 s on the tape and then set the reading head in q 0 reading the leftmost 1. Definition 6 (Turing Machines Output Convention): If a Turing machine, T, halts its computation on input n N (i.e., there are applicable quadruple in T ), output the number ϕ T (n) of 1 s left-printed on the tape. Note that we input n + 1 consecutive 1 s for uniformity all computations, even those with input 0, start with the head reading the leftmost 1. Definition 7 (Turing Computable Functions): A function f(n) is Turing computable if f(n) = ϕ T (n) for all n N on some Turing machine T. Example 3: The successor function is Turing computable. Let T have a Turing program P = (the empty program). Then ϕ T (n) = n+1 for all n N. Example 4: The zero function is Turing computable. Let T have the following Turing program P : q 0 10q 1 := quadruple for deleting 1 s, q 1 0Rq 0 := quadruple for moving right, Hence, ϕ T (n) = 0 = 0(n) for all n N. Definition 8 (Extended Turing Machines Input/Output): We associate with a Turing machine, T, a partial function ϕ (k) T of k variables, by making ϕ (k) T ( n) the output when T is run on the input n = n 1,..., n k. We input n as n n nk +1, and setting the reading head is state q 0 reading the leftmost Equivalence of Models We have finished outlining the two classical models of computation. As promised, we will combine all the definitions of computable functions into a single thesis. Fortunately, this is the work of Church and Turing. 11

12 Thesis 2 (Turing): Every function for which there is an intuitively effective process for computing its values can be shown to be Turing computable. This thesis had immediate support by the research community, which supported Church s thesis. In belated recognition of Turing s contribution, people usually refer to Church s famous thesis as Church-Turing thesis. Thesis 3 (Church-Turing): The following are equivalent for a function f: (1) f is effectively computable. (2) f is recursive or partial recursive (p.r.). (3) f is Turing computable. And finally, we use Thesis 3 to define a unified definition for computable functions as follows. Definition 9 (Computable Functions): A function f is computable if it is either recursive, partial recursive, effectively computable, or Turing computable. 3 Coding and The Universal Turing Machine Given a Turing machine T and a computable function f over N, how can T be converted into a number e N, such that all Turing programs could be effectively listed? What does it mean to feed e to T and compute f(e)? In respect, we first discuss Gödel numbering for Turing machines and then show the existence of a Turing machine that takes its own description (and others) as an input. 3.1 Gödel Numbering for Turing Machines We use Gödel-style coding to get an effective listing of all Turing machines. Given a set of all Turing programs P, there is an encoding Enc : P N such that with some little adjustment we can get a decoding Dec : N P by a computable inverse the Enc 1. This will enable us to enumerate any program in P with a non-negative integer, and hence, call up other Turing programs by their index just as a modern computer system does. 12

13 Before we do so, let us consider the set S = {x x N is a prime}. It can be shown that S is primitive recursive. Let p 0, p 1,... be a list of all prime numbers in an increasing order, then any x N can be uniquely represented by the following: x = p x 0 0 p x 1 1 p x p xn n..., for finitely many x i 0. Now, it can be shown that the function (x) i := the exponent x i of the prime p i, is a primitive recursive function of x. This function is very useful because for any countable set of non-negative integers {a 0, a 1,... }, there is a code number, a = p a 0 0 p a , such that a i = (a) i is computed primitively recursively from a. This is usually referred to as multiplicative encoding. Now given such an encoding, we apply it to Turing machines and start by encoding the tape symbols, action symbols, and internal states. Let Enc(L) = 2 (the 0 th prime number p 0 ) Enc(R) = 3 (the 1 st prime number p 1 ) Enc(q i ) = p 2+(2i) (the (2 + 2i) th prime number) Enc(S i ) = p 2+(2i+1) We can then encode any quadruple Q. For Q = q i SAq i, let Enc(Q) = 2 Enc(q 1) 3 Enc(S) 5 Enc(A) 7 Enc(q j) And finally, for any Turing program P = {Q 0,..., Q n }, let Enc(P ) = 2 Enc(Q 0) 3 Enc(Q 1) p Enc(Qn) n be a Gödel number e N for P. We can now define the following. Definition 10 (The Turing Machine Code): The e th Turing machine P e is defined by { P, if Dec(e) = some Turing program P, P e =, otherwise (the empty program), and we say P e has an index e. 13

14 Now, we can simplify our notation ϕ (k) T in Definition 8 by using the index of T as follows. Definition 11 (The Indexed Turing Machine): For a Turing machine T with index e N, let ϕ (k) T := the k-place partial function computed by P e. We call ϕ T = ϕ (1) T the e th partial computable (p.c.) function. Now, it is clear that the list ϕ 0, ϕ 1,... is an enumeration or effective listing of all Turing machines (or programs). This gives us the following theorem. Theorem 1 (The Enumeration Theorem): The ϕ z (x) is a p.c. function of x, z N such that for each e N, ϕ e is the e th (unary) p.c. function. Proof: We only need to describe how to compute ϕ z (x): (1) Find P z by computing Dec(z). (2) Run P z on input x and wait until P z halts. (3) At this point, set the output to ϕ z (x). The rest of the theorem follows from Definitions 10 and The Universal Turing Machine What was special about Turing s 1936 paper is not the description of the Turing machine itself as a model of computation (as some equivalent models were proposed independently at the same time such as Post machines), but the existence and the description of a universal Turing machine the basis of the stored program concept. Theorem 2 (The Universal Turing Machine): There exists a Turing machine, U, which when given the input (e, x), simulates the e th Turing machine on the input x N. That is, ϕ 2 U (e, x) = ϕ e(x). We call U the universal Turing machine. Proof: Using Theorem 1 and Thesis 2, choose U which computes ϕ z (x). Finally, it is useful to consider whether ϕ e (x) or ϕ e (x) = y is a computable relation of e, x, y N. 14

15 Definition 12 (Computable Approximation): We write ϕ e,s (x) = y to state that for x, y, e < s, the output y of ϕ e (x) is computed in less than s computational steps of P e. The bound on the number of computational steps is the one which ensures computability by truncating infinite searches. Corollary 1: The following statements are true: (1) ϕ e,s (x) and ϕ e,s (x) = y are computable relations 4 of s, e, x, y N. (2) ϕ e (x) ( s)[ϕ e,s (x) ]. (3) ϕ e (x) = y ( s)[ϕ e,s (x) = y]. 4 Enumerability and Computability What does it mean to effectively list or enumerate elements of a set? How does that affect its computability? We now present a new standpoint of computable sets by rigorously stating how one can list their elements, and show how computability and enumeration relate to each other. We start with the following definition of computably enumerable (c.e.) sets. Definition 13 (Computably Enumerable Sets): A set A N is computably enumerable (written c.e.) if there is an effective process for enumerating (listing) all the elements of A. In other words, A is c.e. if A =, or there is a computable function f such that A = {f(0), f(1),... } = range(f). In Proposition 2, we showed that there is a recursive pairing function,.,. : N N N, that maps any pair of natural numbers to a unique natural number. Now for a computable set A N N, it is easy to see that the function.,. is computable and effectively enumerates A. This is quite interesting as it shows us the relationship between computable sets and computably enumerable sets. Theorem 3 (Computable Sets and Enumeration): If A N is computable, then A is computably enumerable. 4 Pun is consciously intended. 15

16 Proof: Given A is computable, then we can effectively decide whether x A or not for any given x N. Hence, we can effectively enumerate A by asking, in turn, is x A?, and each time we get a yes, we enumerate (or list) x into A. We know that if a Turing program P e with an index e halts on input x with an output ϕ e (x), this means that ϕ e (x) and x domain(ϕ e ). What can be said about the set W e of all x N such that P e (x) halts? Definition 14 (The Halting Problem): Let W e = domain(ϕ e ) for each e N, then we say that P e has the halting set W e. We also say that the halting problem for the e th Turing machine is said to be solvable is W e is a computable set. Using Definition 12, we can write a computable approximation to the halting set W e, using those for the p.c. function ϕ e as follows. Definition 15 (Computable Approximation of The Halting Set): We write W e,s = domain(ϕ e,s ) for each e, s N. Corollary 2 (The Normal Form of C.E. Sets): The following are equivalent for a set A N: (1) A is c.e. (2) A = domain(ϕ e ) for the e th computable function ϕ e. (3) A = {x ϕ e (x) } (4) A = W e for some e N. (so that W e = the e th c.e. set) Moreover, we can use computable approximation of sets to define approximation sequences that are useful in the coming sections. Definition 16 (C.E. Approximating Sequences): For a c.e. set X = W e, we write X s = W e,s and call the sequence {X s } s 0 a standard c.e. approximating sequence. Moreover, we say that the sequence X 0 X 1... X s... is a c.e. approximating sequence of X where X = s 0 Xs. 16

17 Now, we are ready to construct a c.e. counterpart of the universal Turing machine as follows. Theorem 4 (The Enumeration of C.E. Sets): There is a c.e. set K 0 such that for each e N, we have the e th c.e. set W e = {x x, e K 0 }. Proof: Define K 0 = { x, e x W e }. Then, x, e K 0 x W e ( s)[x W e,s ] ( s)[ϕ e,s (x) ], from which we conclude that K 0 is c.e. by Corollary 2. Now, we show that there exists a c.e. set that is incomputable and prove that the halting problem is incomputable as a corollary. Theorem 5 (Incomputable C.E. Sets): There exists a computably enumerable set which is incomputable. Proof: We define a set K which is c.e. but not computable as follows. Let K = {x x W x } It is clear that K is c.e. (see the proof of Theorem 4) since x K x W x ( s)[x W x,s ]. Now, we show that K is incomputable by contradiction. Assume K is computable. This means that its characteristic function χ K (x) in computable. Then we can construct the follwing function { ϕ x (x) + 1, if x K, f(x) =, if x K, which is incomputable as f(x) ϕ x (x) for all x N (by diagonalization). This is a contradiction. Hence, K is c.e. but incomputable. Corollary 3 (Unsolvability of The Halting Problem): There exists a Turing machine with unsolvable halting problem. Moreover, The halting problem of the universal Turing machine, U, is unsolvable. 17

18 Proof: Since K is c.e. but incomputable, then there exists a halting set W e = K for some e N. Hence, the halting problem for the corresponding Turing program, P e, is unsolvable. Now, for a universal Turing machine U, let (x, e) be its input. This means that ϕ 2 U (e, x) = ϕ e(x). Hence, the halting problem for U is unsolvable. 5 Comparing Computability How incomputable phenomena arise and interrelate? Are there different sorts of incomputable sets? How do we mathematically model situations involving interactions between incomputable phenomena? In respect, we explore the concept of computational reduction, called many-one reducibility, and present a glimpse of the structure of incomputable (and computable) sets along with their basic interaction. 5.1 Many-One Reducibility We start by the natural way of comparing two computable (and incomputable) sets of numbers. Definition 17 (Many-One Reducibility): For two sets A and B, we say A is many-one reducible or m-reducible to B (written A m B) if, and only if, there is a computable function f such that for all x N x A f(x) B It is easy to show that the ordering m is both reflexive and transitive. Moreover, this ordering has an intuition that says if A m B then A is at least as computable as B. This intuition is formalized as follows. Theorem 6 (Computability and m-reducibility): The following statements are true: (1) If A m B and B is computable, then A is computable. (2) If A m B and B is c.e., then A is c.e. Proof: Say A m B via a computable function f, then: 18

19 (1) B is computable, then χ A = χ B f, which is computable. Hence, it follows that A is computable. (2) B is c.e., then for all x B ( y)[r(x, y)] for some computable R(x, y). This means that for all x A ( y)[r(f(x), y)]. Hence, A is computably enumerable. 5.2 The Non-Computable Universe and m-degrees It is natural to gather collections of sets which cannot be distinguished from each other using only m-reducibility. We will see, however, that m- reducibility is not general enough to model the algorithmic content of computationally complex environments. Definition 18 (Many-One Equivalence): We say A is many-one equivalent to B (written A m B) if A m B and B m A. It is easy to show that the operator m is an equivalence relation (that is, it is reflexive, symmetric, and transitive). This means that all interesting properties about the order of m-reducibility can be discovered by focusing on the structure it induces on the equivalence classes under m. Definition 19 (m-degrees): An equivalence class under m is called an m-degree or many-one degree. We write (1) a m = degree m (A) = {X N A m X}, (2) D m = {a m a m is an m-degree} = the set of all m-degrees, and (3) a m b m if, and only if, A m B for some A a m, B b m. It should be noted that we exclude and N as members of m-degrees. A deeper look at over D m shows that the ordering is a partial ordering on D m (that is, it is reflexive, transitive, and anti-symmetric). Now, it is natural to ask: does D m have a least or greatest element? We establish an answer in what follows. But before doing so, let us prove a useful lemma that will come in handy later on. 19

20 Lemma 1: Let A N be computable. Then for each non-empty set B N, we have A m B. Proof: Given a computable set A, then χ A is computable. To show that A m B, we want to define a computable function f such that χ A = χ B f. To achieve this, choose any elements y B and z B such that χ B (y) = 1 and χ B (z) = 0. Now define the reduction f by { y, if χ A (x) = 1, f(x) = z, if χ A (x) = 0, It is clear that f is computable as χ A is computable. Hence, A m B. Theorem 7 (The 0 m Degree): D m has a least element, 0 m, that consists of all computable sets (other than and N). Proof: We start by defining: 0 m = {A N A is computable and A, N} Let A, B 0 m, then by Lemma 1, A m B and B m A. This means that 0 m is certainly contained in some m-degree. Now, if A m B and B 0 m, then A m B, and hence by Theorem 6, A is computable. Since A, N, then A 0 m. This means that 0 m degree m (B). We conclude that 0 m by itself is an m-degree. Now, we show that 0 m is the least element in D m. Given any m-degree a m = degree m (A), then B m A for each B a m by Lemma 1. But then, by the definition of on D m, we have 0 m a m. So far, we have seen that D m has a least element 0 m. We claim that there is no greatest element of D m, and delay the proof to a later section when we introduce Turing reducability. Claim 1: D m has no greatest element. There are important substructures of D m which do have a greatest element. Such substructures are the c.e. m-degrees, as defined below. 20

21 Definition 20 (Computably Enumerable m-degrees): We say a m is computably enumerable if there exists a c.e. set A a m. We write E m for the set of all c.e. m-degrees. Theorem 8 (The 0 m Degree): E m has a greatest c.e. m-degree, 0 m = degree m (K 0 ), such that 0 m > 0 m and a m 0 m for all c.e. a m. Proof: First, we show that for any A N that is c.e. A m K 0. We have already seen that K 0 is c.e., so for each x N x A x W x x, x K 0 So, A m K 0 via x x, x, which is computable as x, x is computable. We also know that K is incomputable, and hence by Theorem 6, K 0 is incomputable. Now, the task is to translate this fact about reducibility into a degreetheoretic one. This is achieved as follows. a m is c.e. A c.e. a m A a m with A m K 0 And hence, a m degree m (K 0 ) = 0 m. Finally, it should be noted that all apparent variety of unsolvable problems found by Church, Turing, and others are to be found exclusively in 0 m (they all are reducible from an incomputable set called the creative set, which is in 0 m). Moreover, the m-reducibility seems inadequate to base our model of the incomputable universe. The m-reducibility is not general enough to model the algorithmic content of computationally complex environments. For instance, a basic intuition is that if a set A can be computed, then so is its complement A. However, it can be shown that in general, A m A (by letting A = K, then K m K since otherwise, K would be computable). This demands that we extend this model with something that is more natural of the real-world. This is were the notion of oracle Turing machine comes in handy. 6 Computing with Oracles What is a natural and more general model to explore the world of incomputability? How does this model structure the inherent difficultly of computation? How can we safely go beyond Gödel s Incompleteness Theorem and 21

22 make judgments on theories and algorithms? In answering these questions, we get a deeper meaning of Gödel s theorem and enhance our understanding of the computable and incomputable universe. We start the discussion with the more powerful reducibility of Turing. After that, we build the degree universe based on Turing s model. Finally, we present essential results related to the structure of this universe. 6.1 Oracle Turing Machines Oracle Turing machines contain a new sort of quadruples that enables them to use information form the real-world. Such usage is provided by an oracle, or by an information source that is external to the machine context. The intuition behind oracle Turing machines is as follows: Let A, B N be two sets of numbers. We want A to be computable from B (that is, A is computable relative to B). This can be achieved, in one way, by answering the question is x A? using an algorithm whose computation from input x uses finitely many pieces of information about the membership of numbers in B it answers queries such as is y 0 B?, is y 1 B?,..., is y k B?. We introduce an oracle B to the usual Turing machine, T, by a new quadruple ˆQ = q i S k q j q l, which is called the query quadruple. This new Turing machine is now called an oracle Turing machine, ˆT, and it works as follows: ˆT computes as usual on input n, except that when it applies ˆQ (that is, ˆT is in state qi reading symbol S k ), it counts the number of 1 s on the tape (say n), asks the oracle B is n B?, and if the answer is yes, it goes into state q j. Otherwise, it goes into state q l. Definition 20 (Relative Turing Computability): A function ψ (possibly partial) is B-Turing computable if ψ is computable by an oracle Turing machine ˆT with oracle B. Similarly, a set A is B-Turing computable (written A T B), or Turing reducible to B, if χ A is B-Turing computable. It should be noted that Turing reducibility is a generalization of m- reducibility. This means A m B = A T B. Moreover, the Turing reducibility T is reflexive, transitive, and can be extended to relations and functions. 22

23 6.2 Relativized Computable Functions We now relativize the theory of computable functions and c.e. sets to any given oracle based on Turing reducibility. Definition 21 (Relativized Church-Turing Thesis): All formalizations of A computable from B which are sufficiently reasonable and sufficiently general are equivalent to the intuitive one above, and so can be written as A T B. We will call any ψ which is Turing computable from oracle B either B- computable (if it is total) or B-partial computable (B-p.c.) otherwise. Definition 22 (The Oracle Turing Machine Code): The e th oracle Turing machine ˆP e is defined by { ˆP, if Dec(e) = some oracle Turing program ˆP, ˆP e =, otherwise. (the empty program) Note that we think of ˆP e as having arguments n (the input, which could be n) and B (the oracle). So, in a sense, ˆP e computes a functional 5 Φ instead of ψ. This is reflected in the following definition. Definition 23 (Partial Computable Functionals): We write Φ for the functional corresponding to the e th oracle Turing machine ˆP e, were Φ B e (n) = ztest(the output of ˆP e on input n and oracle B). Note that Φ B e is 0-1 valued function (possibly partial) which equals 0 if the output of ˆP e on input n and oracle B is 0, and equals 1 otherwise (see Example 2 for the definition of the primitive recursive function ztest). 6.3 The Turing Universe Turing reducibility that is considered over all sets of numbers is called Turing universe. We formalize this idea below. 5 Such a functional is a mapping whose arguments are functions or sets but not numbers. Such a functional is also known as Lachlan functional. 23

24 Definition 24 (Turing Equivalence): For two sets of numbers A and B, we say A is Turing equivalent to B (written A T B) if A T B and B T A. Definition 25 (Degrees of Unsolvability): For a set A N, we define the degree of unsolvablity or the Turing degree of A as degree(a) := {X N X T A}. Definition 26 (Turing Universe): The Turing universe D is the collection of all Turing degrees. The Turing universe is defined on the ordering that is induced by T on D by degree(a) degree(b) A T B. A natural question is: what is the size of Turing universe? We prove the following theorem about basic cardinal properties of D. Theorem 9 (Basic Cardinal Properties of D): For a set A N, we write a = degree(a). The following statements are true: (1) a = ℵ 0 for every Turing degree a. (2) {b b a} ℵ 0 for every Turing degrees a and b. (3) D > ℵ 0. Proof: We prove each property separately as follows. (1) This property means that each Turing degree is countably infinite: Let a = degree(a) be some Turing degree. Then, a = {X X T A} {X X T A} {Φ A i Φ A i is total} {Φ A i i 0} So a is a subset of countable set, and so is countable. To see that a is also infinite, we write A i = { A {i}, if i A, A {i}, otherwise. 24

25 Then for each i j, we have A i (i) A j (i) = A(i). Hence, A i A j. Now, it is easy to see that each A i T A. So, a contains A 0, A 1,..., which is infinite and distinct. (2) This property means that the set of degrees that is smaller than a given degree is countable: Write D( a) = {b b a}, and let A a. Then, D( a) = {degree(x) X T A} = {Φ A i Φ A i is total} {Φ A i i 0}. So, D( a) is countable. (3) This property means that the Turing universe is uncountable: Given that any Turing degree a has a cardinality ℵ 0 = N, then D = 2 N > ℵ 0. Hence, D is uncountable (note that R = 2 N, and R is uncountable by Cantor s Theorem). This completes the proof. Similar to many-one reducibility, D has a least element but no greatest element. We prove this in the following. Corollary 4: D has no greatest element. Proof: We prove this by contradiction. Assume that D has a greatest element. Then, there exists a D such that b a for all b D. Let A a. The set of all A-computable sets is countable. Therefore, the set of Turing degrees less than A is also countable. However, the set of Turing degrees less than A is D. By Theorem 9 (property 3), we get a contradiction. Hence, there is no greatest element in D. Note that the proof of Claim 1 in Section 5.2 follows from Corollary 4 as A m B = A T B. Lemma 2: Let A N be computable. Then for each non-empty set B N, we have A T B. Proof: In order to show that A T B, we need to show that there exists a computable function f which uses B as an oracle. Since A is computable, χ A is a computable function. Then, we can let B be an oracle for f = χ A, but compute χ A the exact same way. Thus, A T B. 25

26 Theorem 10 (The 0 Degree): D has a least element, 0 = degree( ), that consists of all computable sets (other than and N). Proof: Let X be a computable set and A N. Then by Lemma 2, X T A. Since X 0, then 0 degree(a) for all A N. 6.4 Enumerating with Oracles and Jump Operators Relativizing what we have found out about computably enumerable sets is surprisingly revealing. This is a first indication on the deep intimate relationship between Turing degrees and their structural interrelationship. Definition 27 (Turing Recducability and C.E. Sets): For a set A N, we say that A is computably enumerable in B (written B-c.e.) if we can computably enumerate the elements of A using the oracle B. We also say that the degree a is computable enumerable in b if some A a is c.e. in B b. Finally, a degree a is computably enumerable if it contains a c.e. set. We write E for the set of all c.e. Turing degree. Proposition 3: For a set A N, A is B-c.e. if, and only if, A is the domain of an B-p.c. function. That is, we can write We B = domain(φ B e ) for each e N such that {We B } e N is a listing of all B-c.e. sets. Proof: We start with the forward direction. Assume that A is B-c.e. Then, we can define the semi-characteristic function of A as follows: { 1, if n A, S A (n) =, if n A. It is easy to see that S A is B-partial computable. To compute S A (n), just enumerate the elements of A using the help of B by setting S A (n) to 1 if we observe n enumerated into A. This means that domain(s A ) = B. Now, for the reverse direction, let A be the domain of B-p.c. function ψ. Then, we can enumerate the elements of A with the help of B by successively going through the computations ψ(0), ψ(1),..., and enumerating into A any n for which we observe the computation of ψ(n) terminates. 26

27 It is now the time to use the concealed power of these relativizations. We now define a jump operator by relativizing the definition of K 0 (see the proof of Theorem 4 for the definition of K 0 ). The jump operator has many useful applications; it can be used to draw a link between first-order arithmetic and degrees of unsolvability. We use it here, however, to answer the natural question of: does D? = E for all c.e. degrees? Definition 28 (The Jump Operator): Let the jump B of a set B be B := { x, y x W B y } = K B 0. Moreover, let the (n + 1) th jump of B be B (n+1) := (B (n) ). The jump operator on sets have many interesting properties. some of them here as a definition. We list Definition 29 (Jump Properties on Sets): For any two sets of numbers A and B, the following are true: (1) B is B-c.e. (2) A is B-c.e. A T B and B T B. (3) B T B. (4) If A T B, then A T B. Property (4) above gives us a special kind of jumps. It allow us to perform jumps on Turing degrees, which is sometimes referred to as Turing jumps. Definition 30 (Turing Jumps): For a set B, the Turing jump b of b = degree(b) is given by: b := degree(b ). Moreover, the (n + 1) th jump b (n+1) of Turing degree b is given by: b (n+1) := (b (n) ) = degree(b (n+1) ). Now, based on Definitions 29 and 30, we get the following property of the Turing jump. Definition 31 (Turing Jumps Properties): The following order is valid: 27

28 b < b < b < < b (n) <... where b (n+1) is c.e. in b (n) for each n 0. Finally, by letting b = 0 = degree( ), we get the ascending sequence 0 < 0 < 0 <..., which shows that D E for all c.e. degrees. 7 The Structure of Turing Universe The hierarchical structure reveals the dynamic relationships between different levels of abstraction. In science, for instance, the study of quantum mechanics, atoms, molecules, cells, organisms, and so on, revealed many interesting properties between these different levels. Putting such a structured hierarchy in a descriptive framework allows the investigation of each level with its local constraint, and possibly, discover a unified theory that covers all such levels. In this section, we start with the early work of Kleene and Post and show some basic results about the structure of D. After that, we extend out discussion and consider the structure of E and introduce the priority method; the highly celebrated technique in degree theory. 7.1 Oracles as Strings One way to represent characteristic functions is through strings of 0 s and 1 s. This allows us to look at the string as an oracle with finite information about memberships that is enough to answer queries. Definition 32 (Strings): A string σ is a finite sequence of 0 s and 1 s. The string σ is 0-indexed, that is, the 1 st element of σ has an index 0, the 2 nd element has an index 1, and so on. We write σ(x) = 0 or 1 if the (x + 1) th element is 0 or 1, respectively. Finally, the length of the string σ (written σ ) is the number of elements in σ, that is, the least x such that σ(x). Example 5: Let σ = Then, σ has a length σ = 6, where it starts with σ(0) = 1 and ends with σ(5) = 0. Definition 33 (Properties and Operations of Strings): We define the following properties and operations on any two strings σ and τ: 28

29 (1) Concatenation: The concatenation of σ and τ (written σ τ) consists of σ s elements followed by τ s elements. (2) Extension: τ is an extension of σ (written σ τ) if for all x < σ, we have σ(x) τ(x) σ(x). In other words, σ is a substring of τ. (3) Beginning: σ is the beginning of a set A (written σ A) if σ is an initial segment of χ A. (4) Compatibility: σ is compatible with τ if they are extensions of each other, that is, σ τ and τ σ. Otherwise, we say σ and τ are incompatible (written σ τ). If σ τ, we write y(σ, τ) = µy[σ(y) τ(y)]. (5) Special strings/sets: The string is the empty string and the set S is the set of all string. (6) Lexicographical ordering: The lexicographical ordering of S is given by σ τ σ τ and σ(y(σ, τ)) < τ(y(σ, τ)), or σ τ Example 6: Let σ = 0101 and τ = Then, σ τ = , σ τ, and σ is a beginning of A = {x x N, x is odd}, where χ A = is the first 8-element segment of A s characteristic function. Moreover, σ τ where σ(4) = and τ(4) = 0. Proposition 4: For an oracle Turing machine ˆT e, we write Φ σ e (x) = y for the computation of the program ˆP e on input x with output y, during which all oracle queries are answered by σ concerning any number n < σ. Proof: This proposition directly follows from Definitions 32 and 33. It should be noted that strings can be extended from binary numbers to other more general strings such as sequence of numbers in N. This suggest that we extend our definition of beginnings as follows: a string σ is a beginning of a set A if σ is an initial segment of any function f : N N (that is, not just of χ A ). We write 2 <w for binary strings and w <w for the more general kind. 7.2 Non-Linearity of Turing Universe Degree theory is vast and beautiful! We have already seen the limitations of m-reducibility as a model of the computable and incomputable universe. 29

30 Our objective here is to show the details of two main theories that show the richness of Turing universe. In specific, we will show that D and E are not linearly ordered, that is, there are incomparable pairs of Turing degrees. But first, please try to contain your own excitement for a moment, and let use define some useful notations. Definition 34 (Notations in Approximations): We use the following notations for an expression A involving computable approximations: (1) We write A[s] for A evaluated at stage s. Then, for Φ B i (x), we write Φ B i (x)[s] = Φ Bs i,s (x) where B s is a c.e. approximating sequence. (2) Let A B be an expression whose computation involves k queries of the form is n i B?, to an oracle B. Then let the use of the computation of A B be max{n i 0 i k}. (3) For a set A, we write A n if χ A (x) is restricted to x < n. (4) We write δ B i (x) for the use of Φ B i (x). Accordingly, let z = δ B i (x), then z = µz[φ B z i (x) ]. We assume that δ B i,s(x) < s. We hope the above notations will be excused once we start proving the following two theorems! Theorem 10 (Kleene-Post, 1954): D is not linearly ordered There exist Turing degrees a and b such that a b and b a. Proof: We need to construct two sets A and B such that A T B and B T A, where a = degree(a) and b = degree(b). To achieve this, we define the following relations that must be satisfied for A and B to exist (call them requirements): R 2i : χ A Φ B i R 2i+1 : χ B Φ A i To do so, we start by defining the following sequences of strings: σ 0 σ 1 σ 2... τ 0 τ 1 τ 2... Then, we define the characteristic functions of A and B as follows: 30

31 χ A = i N σ i χ B = i N τ i Now, we assert that in order to satisfy the requirements at stage i + 1, we need to define two string σ i+1 and τ i+1 such that the i th requirement is satisfied. We divide the construction of A and B into stages as follows. Stage 0: Define σ 0 = τ 0 =. Stage i+1: Let this stage be (2e + 1) for e 0. We specifically handle requirement R 2e and leave R 2e+1 to the reader as the process is exactly the same. Now, assume the following are already defined: σ 0 σ 1 σ 2 σ i τ 0 τ 1 τ 2 τ i and let x i = σ i. We are looking for a string τ τ i such that Φ τ e(x i ). There are two cases: Case I (τ exists): Then, computably choose a τ and let k = Φ τ e(x i ). Next, define the following strings: σ i+1 = σ i (1 k) τ i+1 = τ We now show that Φ B e (x i ) = Φ τ e(x i ) by contradiction: Assume Φ B e (x i ) Φ τ e(x i ). Then, since τ is the beginning of the characteristic function of B, τ and B match up to τ. Therefore, there must exist k N such that k > τ, and the k th element of B changes the output Φ B e (x i ) so that it is not equal to Φ τ e(x i ). Then, Φ τ e(x i ) must query the k th element of τ as well. However, as τ is not defined at this index, Φ τ e(x i ). This is a contradiction. Therefore, Φ B e (x i ) = Φ τ e(x i ), and so Φ B e (x i ) = Φ τ e(x i ) = k (1 k) = σ i+1 (x i ) = χ A (x i ). Case II (τ does not exist): Then define the following string: σ i+1 = σ i 0 τ i+1 = τ i 0 31

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER JASPER DEANTONIO Abstract. This paper is a study of the Turing Degrees, which are levels of incomputability naturally arising from sets of natural numbers.

More information

CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

More information

Computability Theory

Computability Theory CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.

More information

GENERIC COMPUTABILITY, TURING DEGREES, AND ASYMPTOTIC DENSITY

GENERIC COMPUTABILITY, TURING DEGREES, AND ASYMPTOTIC DENSITY GENERIC COMPUTABILITY, TURING DEGREES, AND ASYMPTOTIC DENSITY CARL G. JOCKUSCH, JR. AND PAUL E. SCHUPP Abstract. Generic decidability has been extensively studied in group theory, and we now study it in

More information

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES ANDREW E.M. LEWIS 1. Introduction This will be a course on the Turing degrees. We shall assume very little background knowledge: familiarity with

More information

Degrees that are not degrees of categoricity

Degrees that are not degrees of categoricity Degrees that are not degrees of categoricity Bernard A. Anderson Department of Mathematics and Physical Sciences Gordon State College banderson@gordonstate.edu www.gordonstate.edu/faculty/banderson Barbara

More information

Lecture 2: Universality

Lecture 2: Universality CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal

More information

Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011. Lecture 1 Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

More information

There is no degree invariant half-jump

There is no degree invariant half-jump There is no degree invariant half-jump Rod Downey Mathematics Department Victoria University of Wellington P O Box 600 Wellington New Zealand Richard A. Shore Mathematics Department Cornell University

More information

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. 3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem

More information

The Halting Problem is Undecidable

The Halting Problem is Undecidable 185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine

More information

Turing Degrees and Definability of the Jump. Theodore A. Slaman. University of California, Berkeley. CJuly, 2005

Turing Degrees and Definability of the Jump. Theodore A. Slaman. University of California, Berkeley. CJuly, 2005 Turing Degrees and Definability of the Jump Theodore A. Slaman University of California, Berkeley CJuly, 2005 Outline Lecture 1 Forcing in arithmetic Coding and decoding theorems Automorphisms of countable

More information

INTRODUCTORY SET THEORY

INTRODUCTORY SET THEORY M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,

More information

This chapter is all about cardinality of sets. At first this looks like a

This chapter is all about cardinality of sets. At first this looks like a CHAPTER Cardinality of Sets This chapter is all about cardinality of sets At first this looks like a very simple concept To find the cardinality of a set, just count its elements If A = { a, b, c, d },

More information

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

More information

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Computational Models Lecture 8, Spring 2009

Computational Models Lecture 8, Spring 2009 Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown Univ. p. 1 Computational Models Lecture 8, Spring 2009 Encoding of TMs Universal Turing Machines The Halting/Acceptance

More information

3515ICT Theory of Computation Turing Machines

3515ICT Theory of Computation Turing Machines Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation

More information

Turing Machines: An Introduction

Turing Machines: An Introduction CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,

More information

Introduction to Theory of Computation

Introduction to Theory of Computation Introduction to Theory of Computation Prof. (Dr.) K.R. Chowdhary Email: kr.chowdhary@iitj.ac.in Formerly at department of Computer Science and Engineering MBM Engineering College, Jodhpur Tuesday 28 th

More information

Turing Machines, Part I

Turing Machines, Part I Turing Machines, Part I Languages The $64,000 Question What is a language? What is a class of languages? Computer Science Theory 2 1 Now our picture looks like Context Free Languages Deterministic Context

More information

Chapter 7 Uncomputability

Chapter 7 Uncomputability Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction

More information

The Classes P and NP

The Classes P and NP The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

More information

Properties of Stabilizing Computations

Properties of Stabilizing Computations Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA

More information

Biinterpretability up to double jump in the degrees

Biinterpretability up to double jump in the degrees Biinterpretability up to double jump in the degrees below 0 0 Richard A. Shore Department of Mathematics Cornell University Ithaca NY 14853 July 29, 2013 Abstract We prove that, for every z 0 0 with z

More information

Kolmogorov Complexity and the Incompressibility Method

Kolmogorov Complexity and the Incompressibility Method Kolmogorov Complexity and the Incompressibility Method Holger Arnold 1. Introduction. What makes one object more complex than another? Kolmogorov complexity, or program-size complexity, provides one of

More information

Regular Languages and Finite Automata

Regular Languages and Finite Automata Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

More information

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity

More information

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

More information

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

CSE 135: Introduction to Theory of Computation Decidability and Recognizability CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing

More information

DEGREES OF ORDERS ON TORSION-FREE ABELIAN GROUPS

DEGREES OF ORDERS ON TORSION-FREE ABELIAN GROUPS DEGREES OF ORDERS ON TORSION-FREE ABELIAN GROUPS ASHER M. KACH, KAREN LANGE, AND REED SOLOMON Abstract. We construct two computable presentations of computable torsion-free abelian groups, one of isomorphism

More information

CODING TRUE ARITHMETIC IN THE MEDVEDEV AND MUCHNIK DEGREES

CODING TRUE ARITHMETIC IN THE MEDVEDEV AND MUCHNIK DEGREES CODING TRUE ARITHMETIC IN THE MEDVEDEV AND MUCHNIK DEGREES PAUL SHAFER Abstract. We prove that the first-order theory of the Medvedev degrees, the first-order theory of the Muchnik degrees, and the third-order

More information

Universality in the theory of algorithms and computer science

Universality in the theory of algorithms and computer science Universality in the theory of algorithms and computer science Alexander Shen Computational models The notion of computable function was introduced in 1930ies. Simplifying (a rather interesting and puzzling)

More information

THE DEGREES OF BI-HYPERHYPERIMMUNE SETS

THE DEGREES OF BI-HYPERHYPERIMMUNE SETS THE DEGREES OF BI-HYPERHYPERIMMUNE SETS URI ANDREWS, PETER GERDES, AND JOSEPH S. MILLER Abstract. We study the degrees of bi-hyperhyperimmune (bi-hhi) sets. Our main result characterizes these degrees

More information

CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

More information

Introduction to computer science

Introduction to computer science Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.

More information

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information

More information

EMBEDDING COUNTABLE PARTIAL ORDERINGS IN THE DEGREES

EMBEDDING COUNTABLE PARTIAL ORDERINGS IN THE DEGREES EMBEDDING COUNTABLE PARTIAL ORDERINGS IN THE ENUMERATION DEGREES AND THE ω-enumeration DEGREES MARIYA I. SOSKOVA AND IVAN N. SOSKOV 1. Introduction One of the most basic measures of the complexity of a

More information

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set.

Cardinality. The set of all finite strings over the alphabet of lowercase letters is countable. The set of real numbers R is an uncountable set. Section 2.5 Cardinality (another) Definition: The cardinality of a set A is equal to the cardinality of a set B, denoted A = B, if and only if there is a bijection from A to B. If there is an injection

More information

1 Definition of a Turing machine

1 Definition of a Turing machine Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 2-16, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,

More information

Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

More information

Automata and Formal Languages

Automata and Formal Languages Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,

More information

CAs and Turing Machines. The Basis for Universal Computation

CAs and Turing Machines. The Basis for Universal Computation CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.

More information

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move. CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write

More information

CLASSES, STRONG MINIMAL COVERS AND HYPERIMMUNE-FREE DEGREES

CLASSES, STRONG MINIMAL COVERS AND HYPERIMMUNE-FREE DEGREES Π 0 1 CLASSES, STRONG MINIMAL COVERS AND HYPERIMMUNE-FREE DEGREES ANDREW E.M. LEWIS Abstract. We investigate issues surrounding an old question of Yates as to the existence of a minimal degree with no

More information

Global Properties of the Turing Degrees and the Turing Jump

Global Properties of the Turing Degrees and the Turing Jump Global Properties of the Turing Degrees and the Turing Jump Theodore A. Slaman Department of Mathematics University of California, Berkeley Berkeley, CA 94720-3840, USA slaman@math.berkeley.edu Abstract

More information

Hypercomputation: computing more than the Turing machine

Hypercomputation: computing more than the Turing machine Hypercomputation: computing more than the Turing machine Abstract: Toby Ord Department of Philosophy * The University of Melbourne t.ord@pgrad.unimelb.edu.au In this report I provide an introduction to

More information

An example of a computable

An example of a computable An example of a computable absolutely normal number Verónica Becher Santiago Figueira Abstract The first example of an absolutely normal number was given by Sierpinski in 96, twenty years before the concept

More information

JOINING UP TO THE GENERALIZED HIGH DEGREES

JOINING UP TO THE GENERALIZED HIGH DEGREES PROCEEDINGS OF THE AMERICAN MATHEMATICAL SOCIETY Volume 138, Number 8, August 2010, Pages 2949 2960 S 0002-9939(10)10299-8 Article electronically published on March 29, 2010 JOINING UP TO THE GENERALIZED

More information

8 Divisibility and prime numbers

8 Divisibility and prime numbers 8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express

More information

COFINAL MAXIMAL CHAINS IN THE TURING DEGREES

COFINAL MAXIMAL CHAINS IN THE TURING DEGREES COFINA MAXIMA CHAINS IN THE TURING DEGREES WEI WANG, IUZHEN WU, AND IANG YU Abstract. Assuming ZF C, we prove that CH holds if and only if there exists a cofinal maximal chain of order type ω 1 in the

More information

Chapter 1. Computation theory

Chapter 1. Computation theory Chapter 1. Computation theory In this chapter we will describe computation logic for the machines. This topic is a wide interdisciplinary field, so that the students can work in an interdisciplinary context.

More information

Reading 13 : Finite State Automata and Regular Expressions

Reading 13 : Finite State Automata and Regular Expressions CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

More information

Hilberts Entscheidungsproblem, the 10th Problem and Turing Machines

Hilberts Entscheidungsproblem, the 10th Problem and Turing Machines Hilberts Entscheidungsproblem, the 10th Problem and Turing Machines Nitin Saxena (Hausdorff Center for Mathematics, Bonn) [Happy] [100 th ] [Alan] [Mathison] [Turing!][][][]... **all pictures are works

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

How To Understand The Theory Of Computer Science

How To Understand The Theory Of Computer Science Theory of Computation Lecture Notes Abhijat Vichare August 2005 Contents 1 Introduction 2 What is Computation? 3 The λ Calculus 3.1 Conversions: 3.2 The calculus in use 3.3 Few Important Theorems 3.4 Worked

More information

Introduction to Turing Machines

Introduction to Turing Machines Automata Theory, Languages and Computation - Mírian Halfeld-Ferrari p. 1/2 Introduction to Turing Machines SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Automata Theory, Languages and Computation

More information

MA651 Topology. Lecture 6. Separation Axioms.

MA651 Topology. Lecture 6. Separation Axioms. MA651 Topology. Lecture 6. Separation Axioms. This text is based on the following books: Fundamental concepts of topology by Peter O Neil Elements of Mathematics: General Topology by Nicolas Bourbaki Counterexamples

More information

A single minimal complement for the c.e. degrees

A single minimal complement for the c.e. degrees A single minimal complement for the c.e. degrees Andrew Lewis Leeds University, April 2002 Abstract We show that there exists a single minimal (Turing) degree b < 0 s.t. for all c.e. degrees 0 < a < 0,

More information

4.6 The Primitive Recursive Functions

4.6 The Primitive Recursive Functions 4.6. THE PRIMITIVE RECURSIVE FUNCTIONS 309 4.6 The Primitive Recursive Functions The class of primitive recursive functions is defined in terms of base functions and closure operations. Definition 4.6.1

More information

DEGREES OF CATEGORICITY AND THE HYPERARITHMETIC HIERARCHY

DEGREES OF CATEGORICITY AND THE HYPERARITHMETIC HIERARCHY DEGREES OF CATEGORICITY AND THE HYPERARITHMETIC HIERARCHY BARBARA F. CSIMA, JOHANNA N. Y. FRANKLIN, AND RICHARD A. SHORE Abstract. We study arithmetic and hyperarithmetic degrees of categoricity. We extend

More information

Embeddability and Decidability in the Turing Degrees

Embeddability and Decidability in the Turing Degrees ASL Summer Meeting Logic Colloquium 06. Embeddability and Decidability in the Turing Degrees Antonio Montalbán. University of Chicago Nijmegen, Netherlands, 27 July- 2 Aug. of 2006 1 Jump upper semilattice

More information

C H A P T E R Regular Expressions regular expression

C H A P T E R Regular Expressions regular expression 7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun

More information

1 if 1 x 0 1 if 0 x 1

1 if 1 x 0 1 if 0 x 1 Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

More information

Cartesian Products and Relations

Cartesian Products and Relations Cartesian Products and Relations Definition (Cartesian product) If A and B are sets, the Cartesian product of A and B is the set A B = {(a, b) :(a A) and (b B)}. The following points are worth special

More information

Factoring & Primality

Factoring & Primality Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

More information

Introduction to Automata Theory. Reading: Chapter 1

Introduction to Automata Theory. Reading: Chapter 1 Introduction to Automata Theory Reading: Chapter 1 1 What is Automata Theory? Study of abstract computing devices, or machines Automaton = an abstract computing device Note: A device need not even be a

More information

How To Compare A Markov Algorithm To A Turing Machine

How To Compare A Markov Algorithm To A Turing Machine Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also

More information

SECTION 10-2 Mathematical Induction

SECTION 10-2 Mathematical Induction 73 0 Sequences and Series 6. Approximate e 0. using the first five terms of the series. Compare this approximation with your calculator evaluation of e 0.. 6. Approximate e 0.5 using the first five terms

More information

Turing Oracle Machines, Online Computing, and Three Displacements in Computability Theory

Turing Oracle Machines, Online Computing, and Three Displacements in Computability Theory Turing Oracle Machines, Online Computing, and Three Displacements in Computability Theory Robert I. Soare January 3, 2009 Contents 1 Introduction 4 1.1 Terminology: Incompleteness and Incomputability......

More information

Proseminar on Semantic Theory Fall 2013 Ling 720. Problem Set on the Formal Preliminaries : Answers and Notes

Proseminar on Semantic Theory Fall 2013 Ling 720. Problem Set on the Formal Preliminaries : Answers and Notes 1. Notes on the Answers Problem Set on the Formal Preliminaries : Answers and Notes In the pages that follow, I have copied some illustrative answers from the problem sets submitted to me. In this section,

More information

(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.

(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine. (LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,

More information

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

More information

This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.

This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements. 3. Axioms of Set theory Before presenting the axioms of set theory, we first make a few basic comments about the relevant first order logic. We will give a somewhat more detailed discussion later, but

More information

Local periods and binary partial words: An algorithm

Local periods and binary partial words: An algorithm Local periods and binary partial words: An algorithm F. Blanchet-Sadri and Ajay Chriscoe Department of Mathematical Sciences University of North Carolina P.O. Box 26170 Greensboro, NC 27402 6170, USA E-mail:

More information

Any set with a (unique) η-representation is Σ 3, and any set with a strong η-representation is

Any set with a (unique) η-representation is Σ 3, and any set with a strong η-representation is η-representation OF SETS AND DEGREES KENNETH HARRIS Abstract. We show that a set has an η-representation in a linear order if and only if it is the range of a 0 -computable limitwise monotonic function.

More information

Low upper bound of ideals, coding into rich Π 0 1 classes

Low upper bound of ideals, coding into rich Π 0 1 classes Low upper bound of ideals, coding into rich Π 0 1 classes Antonín Kučera the main part is a joint project with T. Slaman Charles University, Prague September 2007, Chicago The main result There is a low

More information

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called

More information

God created the integers and the rest is the work of man. (Leopold Kronecker, in an after-dinner speech at a conference, Berlin, 1886)

God created the integers and the rest is the work of man. (Leopold Kronecker, in an after-dinner speech at a conference, Berlin, 1886) Chapter 2 Numbers God created the integers and the rest is the work of man. (Leopold Kronecker, in an after-dinner speech at a conference, Berlin, 1886) God created the integers and the rest is the work

More information

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity. 7 Catalan Numbers Thomas A. Dowling, Department of Mathematics, Ohio State Uni- Author: versity. Prerequisites: The prerequisites for this chapter are recursive definitions, basic counting principles,

More information

A BASIS THEOREM FOR Π 0 1 CLASSES OF POSITIVE MEASURE AND JUMP INVERSION FOR RANDOM REALS ROD DOWNEY AND JOSEPH S. MILLER

A BASIS THEOREM FOR Π 0 1 CLASSES OF POSITIVE MEASURE AND JUMP INVERSION FOR RANDOM REALS ROD DOWNEY AND JOSEPH S. MILLER A BASIS THEOREM FOR Π 0 1 CLASSES OF POSITIVE MEASURE AND JUMP INVERSION FOR RANDOM REALS ROD DOWNEY AND JOSEPH S. MILLER Abstract. We extend the Shoenfield jump inversion theorem to the members of any

More information

OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012

OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012 276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the

More information

How To Know If A Domain Is Unique In An Octempo (Euclidean) Or Not (Ecl)

How To Know If A Domain Is Unique In An Octempo (Euclidean) Or Not (Ecl) Subsets of Euclidean domains possessing a unique division algorithm Andrew D. Lewis 2009/03/16 Abstract Subsets of a Euclidean domain are characterised with the following objectives: (1) ensuring uniqueness

More information

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]

CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] File Structures A file is a collection of data stored on mass storage (e.g., disk or tape) Why on mass storage? too big to fit

More information

NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

More information

4. CLASSES OF RINGS 4.1. Classes of Rings class operator A-closed Example 1: product Example 2:

4. CLASSES OF RINGS 4.1. Classes of Rings class operator A-closed Example 1: product Example 2: 4. CLASSES OF RINGS 4.1. Classes of Rings Normally we associate, with any property, a set of objects that satisfy that property. But problems can arise when we allow sets to be elements of larger sets

More information

Turing Machines and Understanding Computational Complexity

Turing Machines and Understanding Computational Complexity Turing Machines and Understanding Computational Complexity Paul M.B.Vitányi CWI, Science Park 123, 1098XG Amsterdam The Netherlands 1. Introduction A Turing machine refers to a hypothetical machine proposed

More information

Lecture notes on the Turing degrees, AII Graduate Summer School in Logic Singapore, 28 June - 23 July 2010

Lecture notes on the Turing degrees, AII Graduate Summer School in Logic Singapore, 28 June - 23 July 2010 Lecture notes on the Turing degrees, AII Graduate Summer School in Logic Singapore, 28 June - 23 July 2010 Richard A. Shore 1 Department of Mathematics Cornell University Ithaca NY 14853 January 3, 2012

More information

Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011. Lecture 1 Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

More information

How many numbers there are?

How many numbers there are? How many numbers there are? RADEK HONZIK Radek Honzik: Charles University, Department of Logic, Celetná 20, Praha 1, 116 42, Czech Republic radek.honzik@ff.cuni.cz Contents 1 What are numbers 2 1.1 Natural

More information

Mathematical Induction. Lecture 10-11

Mathematical Induction. Lecture 10-11 Mathematical Induction Lecture 10-11 Menu Mathematical Induction Strong Induction Recursive Definitions Structural Induction Climbing an Infinite Ladder Suppose we have an infinite ladder: 1. We can reach

More information

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis

MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,

More information

Set Theory Basic Concepts and Definitions

Set Theory Basic Concepts and Definitions Set Theory Basic Concepts and Definitions The Importance of Set Theory One striking feature of humans is their inherent need and ability to group objects according to specific criteria. Our prehistoric

More information

x < y iff x < y, or x and y are incomparable and x χ(x,y) < y χ(x,y).

x < y iff x < y, or x and y are incomparable and x χ(x,y) < y χ(x,y). 12. Large cardinals The study, or use, of large cardinals is one of the most active areas of research in set theory currently. There are many provably different kinds of large cardinals whose descriptions

More information

The Banach-Tarski Paradox

The Banach-Tarski Paradox University of Oslo MAT2 Project The Banach-Tarski Paradox Author: Fredrik Meyer Supervisor: Nadia S. Larsen Abstract In its weak form, the Banach-Tarski paradox states that for any ball in R, it is possible

More information

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along

More information

Universal Turing Machine: A Model for all Computational Problems

Universal Turing Machine: A Model for all Computational Problems Universal Turing Machine: A Model for all Computational Problems Edward E. Ogheneovo Lecturer I, Dept of Computer Science, University of Port Harcourt, Port Harcourt Nigeria. ABSTRACT: Turing machines

More information

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the

More information

A Beginner s Guide to Modern Set Theory

A Beginner s Guide to Modern Set Theory A Beginner s Guide to Modern Set Theory Martin Dowd Product of Hyperon Software PO Box 4161 Costa Mesa, CA 92628 www.hyperonsoft.com Copyright c 2010 by Martin Dowd 1. Introduction..... 1 2. Formal logic......

More information

A CONSTRUCTION OF THE UNIVERSAL COVER AS A FIBER BUNDLE

A CONSTRUCTION OF THE UNIVERSAL COVER AS A FIBER BUNDLE A CONSTRUCTION OF THE UNIVERSAL COVER AS A FIBER BUNDLE DANIEL A. RAMRAS In these notes we present a construction of the universal cover of a path connected, locally path connected, and semi-locally simply

More information