Topics in Theoretical Computer Science: Computable Model Theory Csc 85020 – Autumn 2013 Preliminary Syllabus Class: Tuesdays 6:30 - 8:30 P.M

Total Page:16

File Type:pdf, Size:1020Kb

Topics in Theoretical Computer Science: Computable Model Theory Csc 85020 – Autumn 2013 Preliminary Syllabus Class: Tuesdays 6:30 - 8:30 P.M Topics in Theoretical Computer Science: Computable Model Theory CSc 85020 { Autumn 2013 Preliminary Syllabus Class: Tuesdays 6:30 - 8:30 p.m. (tentative) at the CUNY Graduate Center, room TBA. Lecturer: Prof. Russell Miller, Queens College & CUNY Graduate Center. E-mail: [email protected]. Phone: 718-997-5853. Website: qc.edu/∼rmiller Topics: This course is intended to introduce students to the disciplines of computable model theory and computable algebra, in which one applies the techniques of computability theory to questions from the rest of mathematics. An extremely fruitful interplay between these topics has developed over the past fifty years. It can be seen as part of computer science (since we are asking about the feasibility of writing programs to solve mathematical problems), and also as part of mathematical logic (since all computability results are in some sense proofs, and all non-computability results demonstrate the independence of the given problem from one of the basic axiom systems for mathematics). Computability theory explores the theoretical limits of algorithmic computation. We make this concept exact by defining Turing machines, and examining for which subsets of N such a machine can or cannot compute the characteristic function. Thus we define computable and noncomputable sets. We also extend the definition to encompass an oracle Turing machine, which enables us to assign levels of difficulty (the so-called Turing degrees) to the noncomputable sets and, using these degrees, to rank them according to our ability to compute one such set from another. No previous knowledge of computability or Turing machines is assumed; the first half of the course will be spent familiarizing everyone with these notions and the concepts that follow from them (as detailed on the schedule below). The second half of the schedule is more tentative: many topics are available to us, and we can go in the direction of the participants' interests, whatever those may be. All the branches listed below (computable linear orders, computable fields, etc.) are current areas of research, but others are also available: computable differential fields, for example, or computable Boolean algebras, or computability for uncountable structures. Prof. Miller's research includes all of these topics, and students should feel free to request particular topics. This area of mathematical logic is known by two distinct names: computability theory, and recursion theory. It is one of the four main branches of mathematical logic, along with model theory, set theory, and proof theory, and is a highly active area of current research, both by established scholars and at the doctoral level. It entered the realm of logic when the notion arose that proof-checking should be an automatic process, feasible even by machine, a notion integral to G¨odel'sIncompleteness Theorem. It is closely related to theoretical computer science, particularly to computational complexity, which uses stricter definitions of feasibility but many similar notions of reducibility. At the Graduate Center, computable model theory was the subject of Rebecca Steiner's dissertation; she completed her degree in 2012, and now holds a postdoctoral position through 2015 at Vanderbilt University. The course is intended for doctoral students in computer science and mathematics with interest in these notions. No single course is a prerequisite. In computer science at the Graduate Center, CS 75010, Theoretical Computer Science, would give a student a leg up in understanding Turing computability and reducibility, but it is not necessary. In mathematics, Math 71200, the second half of the introductory logic sequence, often covers the topics from the first two lectures in the schedule below, but usually stops there. Feel free to contact Prof. Miller with any questions about your background. The pace of the course will depend on the background and interests of the participants, but a tentative schedule appears below. This is definitely subject to change before or during the semester. Moreover, the day of the week could yet be changed from Tuesday to another day to suit participants' schedules. Tentative Schedule: Tuesday, September 3 Turing machines and computable functions Tuesday, September 10 Computably enumerable sets. Tuesday, September 17 Recursion Theorem. Tuesday, September 24 1-reducibility and Σ1-completeness. Tuesday, October 1 Turing reducibility and Turing degrees. Tuesday, October 8 Limit Lemma & Modulus Lemma. Tuesday, October 15 (no class { Monday schedule.) Tuesday, October 22 Arithmetical hierarchy & standard Σn-complete sets. Tuesday, October 29 Introduction to computable model theory. Tuesday, November 5 Computable linear orders. Tuesday, November 12 Computable algebraic fields. Tuesday, November 19 Computable categoricity. Tuesday, November 26 Computable fields with transcendentals. Tuesday, December 3 Classic undecidability results: Hilbert's Tenth Problem and/or the Word Problem for finitely presented groups. Tuesday, December 10 Computable groups. 2.
Recommended publications
  • Computability of Fraïssé Limits
    COMPUTABILITY OF FRA¨ISSE´ LIMITS BARBARA F. CSIMA, VALENTINA S. HARIZANOV, RUSSELL MILLER, AND ANTONIO MONTALBAN´ Abstract. Fra¨ıss´estudied countable structures S through analysis of the age of S, i.e., the set of all finitely generated substructures of S. We investigate the effectiveness of his analysis, considering effectively presented lists of finitely generated structures and asking when such a list is the age of a computable structure. We focus particularly on the Fra¨ıss´elimit. We also show that degree spectra of relations on a sufficiently nice Fra¨ıss´elimit are always upward closed unless the relation is definable by a quantifier-free formula. We give some sufficient or necessary conditions for a Fra¨ıss´elimit to be spectrally universal. As an application, we prove that the computable atomless Boolean algebra is spectrally universal. Contents 1. Introduction1 1.1. Classical results about Fra¨ıss´elimits and background definitions4 2. Computable Ages5 3. Computable Fra¨ıss´elimits8 3.1. Computable properties of Fra¨ıss´elimits8 3.2. Existence of computable Fra¨ıss´elimits9 4. Examples 15 5. Upward closure of degree spectra of relations 18 6. Necessary conditions for spectral universality 20 6.1. Local finiteness 20 6.2. Finite realizability 21 7. A sufficient condition for spectral universality 22 7.1. The countable atomless Boolean algebra 23 References 24 1. Introduction Computable model theory studies the algorithmic complexity of countable structures, of their isomorphisms, and of relations on such structures. Since algorithmic properties often depend on data presentation, in computable model theory classically isomorphic structures can have different computability-theoretic properties.
    [Show full text]
  • 31 Summary of Computability Theory
    CS:4330 Theory of Computation Spring 2018 Computability Theory Summary Haniel Barbosa Readings for this lecture Chapters 3-5 and Section 6.2 of [Sipser 1996], 3rd edition. A hierachy of languages n m B Regular: a b n n B Deterministic Context-free: a b n n n 2n B Context-free: a b [ a b n n n B Turing decidable: a b c B Turing recognizable: ATM 1 / 12 Why TMs? B In 1900: Hilbert posed 23 “challenge problems” in Mathematics The 10th problem: Devise a process according to which it can be decided by a finite number of operations if a given polynomial has an integral root. It became necessary to have a formal definition of “algorithms” to define their expressivity. 2 / 12 Church-Turing Thesis B In 1936 Church and Turing independently defined “algorithm”: I λ-calculus I Turing machines B Intuitive notion of algorithms = Turing machine algorithms B “Any process which could be naturally called an effective procedure can be realized by a Turing machine” th B We now know: Hilbert’s 10 problem is undecidable! 3 / 12 Algorithm as Turing Machine Definition (Algorithm) An algorithm is a decider TM in the standard representation. B The input to a TM is always a string. B If we want an object other than a string as input, we must first represent that object as a string. B Strings can easily represent polynomials, graphs, grammars, automata, and any combination of these objects. 4 / 12 How to determine decidability / Turing-recognizability? B Decidable / Turing-recognizable: I Present a TM that decides (recognizes) the language I If A is mapping reducible to
    [Show full text]
  • Computability Theory
    CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2019 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. Other references: \Introduction to the theory of computation" by Michael Sipser, and \Com- putability, Complexity, and Languages" by M. Davis and E. Weyuker. Our first goal is to give a formal definition for what it means for a function on N to be com- putable by an algorithm. Historically the first convincing such definition was given by Alan Turing in 1936, in his paper which introduced what we now call Turing machines. Slightly before Turing, Alonzo Church gave a definition based on his lambda calculus. About the same time G¨odel,Herbrand, and Kleene developed definitions based on recursion schemes. Fortunately all of these definitions are equivalent, and each of many other definitions pro- posed later are also equivalent to Turing's definition. This has lead to the general belief that these definitions have got it right, and this assertion is roughly what we now call \Church's Thesis". A natural definition of computable function f on N allows for the possibility that f(x) may not be defined for all x 2 N, because algorithms do not always halt. Thus we will use the symbol 1 to mean “undefined". Definition: A partial function is a function n f :(N [ f1g) ! N [ f1g; n ≥ 0 such that f(c1; :::; cn) = 1 if some ci = 1. In the context of computability theory, whenever we refer to a function on N, we mean a partial function in the above sense.
    [Show full text]
  • A Short History of Computational Complexity
    The Computational Complexity Column by Lance FORTNOW NEC Laboratories America 4 Independence Way, Princeton, NJ 08540, USA [email protected] http://www.neci.nj.nec.com/homepages/fortnow/beatcs Every third year the Conference on Computational Complexity is held in Europe and this summer the University of Aarhus (Denmark) will host the meeting July 7-10. More details at the conference web page http://www.computationalcomplexity.org This month we present a historical view of computational complexity written by Steve Homer and myself. This is a preliminary version of a chapter to be included in an upcoming North-Holland Handbook of the History of Mathematical Logic edited by Dirk van Dalen, John Dawson and Aki Kanamori. A Short History of Computational Complexity Lance Fortnow1 Steve Homer2 NEC Research Institute Computer Science Department 4 Independence Way Boston University Princeton, NJ 08540 111 Cummington Street Boston, MA 02215 1 Introduction It all started with a machine. In 1936, Turing developed his theoretical com- putational model. He based his model on how he perceived mathematicians think. As digital computers were developed in the 40's and 50's, the Turing machine proved itself as the right theoretical model for computation. Quickly though we discovered that the basic Turing machine model fails to account for the amount of time or memory needed by a computer, a critical issue today but even more so in those early days of computing. The key idea to measure time and space as a function of the length of the input came in the early 1960's by Hartmanis and Stearns.
    [Show full text]
  • Computability Theory
    Computability Theory With a Short Introduction to Complexity Theory – Monograph – Karl-Heinz Zimmermann Computability Theory – Monograph – Hamburg University of Technology Prof. Dr. Karl-Heinz Zimmermann Hamburg University of Technology 21071 Hamburg Germany This monograph is listed in the GBV database and the TUHH library. All rights reserved ©2011-2019, by Karl-Heinz Zimmermann, author https://doi.org/10.15480/882.2318 http://hdl.handle.net/11420/2889 urn:nbn:de:gbv:830-882.037681 For Gela and Eileen VI Preface A beautiful theory with heartbreaking results. Why do we need a formalization of the notion of algorithm or effective computation? In order to show that a specific problem is algorithmically solvable, it is sufficient to provide an algorithm that solves it in a sufficiently precise manner. However, in order to prove that a problem is in principle not computable by an algorithm, a rigorous formalism is necessary that allows mathematical proofs. The need for such a formalism became apparent in the studies of David Hilbert (1900) on the foundations of mathematics and Kurt G¨odel (1931) on the incompleteness of elementary arithmetic. The first investigations in this field were conducted by the logicians Alonzo Church, Stephen Kleene, Emil Post, and Alan Turing in the early 1930s. They have provided the foundation of computability theory as a branch of theoretical computer science. The fundamental results established Turing com- putability as the correct formalization of the informal idea of effective calculation. The results have led to Church’s thesis stating that ”everything computable is computable by a Turing machine”. The the- ory of computability has grown rapidly from its beginning.
    [Show full text]
  • Theory and Applications of Computability
    Theory and Applications of Computability Springer book series in cooperation with the association Computability in Europe Series Overview Books published in this series will be of interest to the research community and graduate students, with a unique focus on issues of computability. The perspective of the series is multidisciplinary, recapturing the spirit of Turing by linking theoretical and real-world concerns from computer science, mathematics, biology, physics, and the philosophy of science. The series includes research monographs, advanced and graduate texts, and books that offer an original and informative view of computability and computational paradigms. Series Editors . Laurent Bienvenu (University of Montpellier) . Paola Bonizzoni (Università Degli Studi di Milano-Bicocca) . Vasco Brattka (Universität der Bundeswehr München) . Elvira Mayordomo (Universidad de Zaragoza) . Prakash Panangaden (McGill University) Series Advisory Board Samson Abramsky, University of Oxford Ming Li, University of Waterloo Eric Allender, Rutgers, The State University of NJ Wolfgang Maass, Technische Universität Graz Klaus Ambos-Spies, Universität Heidelberg Grzegorz Rozenberg, Leiden University and Giorgio Ausiello, Università di Roma, "La Sapienza" University of Colorado, Boulder Jeremy Avigad, Carnegie Mellon University Alan Selman, University at Buffalo, The State Samuel R. Buss, University of California, San Diego University of New York Rodney G. Downey, Victoria Univ. of Wellington Wilfried Sieg, Carnegie Mellon University Sergei S. Goncharov, Novosibirsk State University Jan van Leeuwen, Universiteit Utrecht Peter Jeavons, University of Oxford Klaus Weihrauch, FernUniversität Hagen Nataša Jonoska, Univ. of South Florida, Tampa Philip Welch, University of Bristol Ulrich Kohlenbach, Technische Univ. Darmstadt Series Information http://www.springer.com/series/8819 Latest Book in Series Title: The Incomputable – Journeys Beyond the Turing Barrier Authors: S.
    [Show full text]
  • An Introduction to Computability Theory
    AN INTRODUCTION TO COMPUTABILITY THEORY CINDY CHUNG Abstract. This paper will give an introduction to the fundamentals of com- putability theory. Based on Robert Soare's textbook, The Art of Turing Computability: Theory and Applications, we examine concepts including the Halting problem, properties of Turing jumps and degrees, and Post's Theo- rem.1 In the paper, we will assume the reader has a conceptual understanding of computer programs. Contents 1. Basic Computability 1 2. The Halting Problem 2 3. Post's Theorem: Jumps and Quantifiers 3 3.1. Arithmetical Hierarchy 3 3.2. Degrees and Jumps 4 3.3. The Zero-Jump, 00 5 3.4. Post's Theorem 5 Acknowledgments 8 References 8 1. Basic Computability Definition 1.1. An algorithm is a procedure capable of being carried out by a computer program. It accepts various forms of numerical inputs including numbers and finite strings of numbers. Computability theory is a branch of mathematical logic that focuses on algo- rithms, formally known in this area as computable functions, and studies the degree, or level of computability that can be attributed to various sets (these concepts will be formally defined and elaborated upon below). This field was founded in the 1930s by many mathematicians including the logicians: Alan Turing, Stephen Kleene, Alonzo Church, and Emil Post. Turing first pioneered computability theory when he introduced the fundamental concept of the a-machine which is now known as the Turing machine (this concept will be intuitively defined below) in his 1936 pa- per, On computable numbers, with an application to the Entscheidungsproblem[7].
    [Show full text]
  • Effective Descriptive Set Theory
    Effective Descriptive Set Theory Andrew Marks December 14, 2019 1 1 These notes introduce the effective (lightface) Borel, Σ1 and Π1 sets. This study uses ideas and tools from descriptive set theory and computability theory. Our central motivation is in applications of the effective theory to theorems of classical (boldface) descriptive set theory, especially techniques which have no classical analogues. These notes have many errors and are very incomplete. Some important topics not covered include: • The Harrington-Shore-Slaman theorem [HSS] which implies many of the theorems of Section 3. • Steel forcing (see [BD, N, Mo, St78]) • Nonstandard model arguments • Barwise compactness, Jensen's model existence theorem • α-recursion theory • Recent beautiful work of the \French School": Debs, Saint-Raymond, Lecompte, Louveau, etc. These notes are from a class I taught in spring 2019. Thanks to Adam Day, Thomas Gilton, Kirill Gura, Alexander Kastner, Alexander Kechris, Derek Levinson, Antonio Montalb´an,Dean Menezes and Riley Thornton, for helpful conversations and comments on earlier versions of these notes. 1 Contents 1 1 1 1 Characterizing Σ1, ∆1, and Π1 sets 4 1 1.1 Σn formulas, closure properties, and universal sets . .4 1.2 Boldface vs lightface sets and relativization . .5 1 1.3 Normal forms for Σ1 formulas . .5 1.4 Ranking trees and Spector boundedness . .7 1 1.5 ∆1 = effectively Borel . .9 1.6 Computable ordinals, hyperarithmetic sets . 11 1 1.7 ∆1 = hyperarithmetic . 14 x 1 1.8 The hyperjump, !1 , and the analogy between c.e. and Π1 .... 15 2 Basic tools 18 2.1 Existence proofs via completeness results .
    [Show full text]
  • Basic Computability Theory
    Basic Computability Theory Jaap van Oosten Department of Mathematics Utrecht University 1993, revised 2013 ii Introduction The subject of this course is the theory of computable or recursive functions. Computability Theory and Recursion Theory are two names for it; the former being more popular nowadays. 0.1 Why Computability Theory? The two most important contributions Logic has made to Mathematics, are formal definitions of proof and of algorithmic computation. How useful is this? Mathematicians are trained in understanding and constructing proofs from their first steps in the subject, and surely they can recognize a valid proof when they see one; likewise, algorithms have been an essential part of Mathematics for as long as it exists, and at the most elementary levels (think of long division, or Euclid’s algorithm for the greatest common divisor function). So why do we need a formal definition here? The main use is twofold. Firstly, a formal definition of proof (or algorithm) leads to an analysis of proofs (programs) in elementary reasoning steps (computation steps), thereby opening up the possibility of numerical classification of proofs (programs)1. In Proof Theory, proofs are assigned ordinal numbers, and theorems are classified according to the complexity of the proofs they need. In Complexity Theory, programs are analyzed according to the number of elementary computation steps they require (as a function of the input), and programming problems are classified in terms of these complexity functions. Secondly, a formal definition is needed once one wishes to explore the boundaries of the topic: what can be proved at all? Which kind of problems can be settled by an algorithm? It is this aspect that we will focus on in this course.
    [Show full text]
  • Boolean Algebras and Linear Orders
    Characterizing the Computable Structures: Boolean Algebras and Linear Orders By Asher M. Kach A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Mathematics) at the UNIVERSITY OF WISCONSIN – MADISON 2007 i Abstract A countable structure (with finite signature) is computable if its universe can be identi- fied with ω in such a way as to make the relations and operations computable functions. In this thesis, I study which Boolean algebras and linear orders are computable. Making use of Ketonen invariants, I study the Boolean algebras of low Ketonen depth, both classically and effectively. Classically, I give an explicit characterization of the depth zero Boolean algebras; provide continuum many examples of depth one, rank ω Boolean algebras with range ω + 1; and provide continuum many examples of depth ω, rank one Boolean algebras. Effectively, I show for sets S ⊆ ω + 1 with greatest element, the depth zero Boolean algebras Bu(S) and Bv(S) are computable if and only if 0 S \{ω} is Σn7→2n+3 in the Feiner Σ-hierarchy. Making use of the existing notion of limitwise monotonic functions and the new notion of limit infimum functions, I characterize which shuffle sums of ordinals below ω + 1 have computable copies. Additionally, I show that the notions of limitwise monotonic functions relative to 00 and limit infimum functions coincide. ii Acknowledgements First and foremost, I would like to thank my thesis advisor, Steffen Lempp, for all the time and effort he has spent on my behalf. His insight, advice, and patience have been of tremendous worth to me, both professionally and personally.
    [Show full text]
  • Introduction to the Theory of Complexity
    Introduction to the theory of complexity Daniel Pierre Bovet Pierluigi Crescenzi The information in this book is distributed on an “As is” basis, without warranty. Although every precaution has been taken in the preparation of this work, the authors shall not have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. First electronic edition: June 2006 Contents 1 Mathematical preliminaries 1 1.1 Sets, relations and functions 1 1.2 Set cardinality 5 1.3 Three proof techniques 5 1.4 Graphs 8 1.5 Alphabets, words and languages 10 2 Elements of computability theory 12 2.1 Turing machines 13 2.2 Machines and languages 26 2.3 Reducibility between languages 28 3 Complexity classes 33 3.1 Dynamic complexity measures 34 3.2 Classes of languages 36 3.3 Decision problems and languages 38 3.4 Time-complexity classes 41 3.5 The pseudo-Pascal language 47 4 The class P 51 4.1 The class P 52 4.2 The robustness of the class P 57 4.3 Polynomial-time reducibility 60 4.4 Uniform diagonalization 62 5 The class NP 69 5.1 The class NP 70 5.2 NP-complete languages 72 v vi 5.3 NP-intermediate languages 88 5.4 Computing and verifying a function 92 5.5 Relativization of the P 6= NP conjecture 95 6 The complexity of optimization problems 110 6.1 Optimization problems 111 6.2 Underlying languages 115 6.3 Optimum measure versus optimum solution 117 6.4 Approximability 119 6.5 Reducibility and optimization problems 125 7 Beyond NP 133 7.1 The class coNP
    [Show full text]
  • 15–212: Principles of Programming Basic Computability Theory
    15–212: Principles of Programming Basic Computability Theory Michael Erdmann∗ Spring 2011 1 Introduction Computers can be programmed to perform an impressive variety of tasks, ranging from numerical computations to natural language processing. The computer is surely one of the most versatile tools ever devised, playing a critical role in solving all manner of “real world” problems. Some would argue that computers can solve any problem that a human can solve; some would argue the opposite; and some regard the question as irrelevant. Whatever view one adopts, it is still interesting to consider whether there are any limits to what can be solved by a computer. Any given computer has only a finite memory capacity, so certainly there are problems that are too large for it to solve. We abstract away from these limitations, and consider the question of what can be solved by an ideal computing device, one which is not limited in its memory capacity (but is still required to produce an answer in a finite amount of time). Computability theory is concerned with exploring the limitations of such idealized computing devices. Complexity theory (which we shall not study here) is concerned with calibrating the resources (both time and space) required to solve a problem. Our treatment of computability theory is based on problems pertaining to ML programs. We begin by considering questions about ML functions such as “does the function f yield a value when applied to an input x?” or “are functions f and g equal for all inputs?”. It would be handy to build a debugging package that included ML programs to answer these (and related) questions for us.
    [Show full text]