Theory of Computation Class Notes1

Total Page:16

File Type:pdf, Size:1020Kb

Theory of Computation Class Notes1 Theory of Computation Class Notes1 1based on the books by Sudkamp and by Hopcroft, Motwani and Ullman ii Contents 1 Introduction 1 1.1 Sets . 1 1.2 Functions and Relations . 3 1.3 Countable and uncountable sets . 5 1.4 Proof Techniques . 5 2 Languages and Grammars 9 2.1 Languages . 9 2.2 Regular Expressions . 12 2.3 Grammars . 13 2.4 Classification of Grammars and Languages . 18 2.5 Normal Forms of Context-Free Grammars . 19 2.5.1 Chomsky Normal Form (CNF) . 19 2.5.2 Greibach Normal Form (GNF) . 19 3 Finite State Automata 21 iii iv CONTENTS List of Figures 2.1 Derivation tree . 15 v vi LIST OF FIGURES Chapter 1 Introduction 1.1 Sets A set is a collection of elements. To indicate that x is an element of the set S, we write x S. The statement that x is not in S is written as x = S. A set is specified by enclosing some description2 of its elements in curly braces; for example, the2set of all natural numbers 0; 1; 2; is denoted by · · · = 0; 1; 2; 3; : N f · · ·g We use ellipses (i.e.,: : :) when the meaning is clear, thus n = 1; 2; 3; ; n represents the set of all natural numbers from 1 to n. J f · · · g When the need arises, we use more explicit notation, in which we write S = i i 0; i is even f j ≥ g for the last example. We read this as \S is the set of all i, such that i is greater than zero, and i is even." Considering a \universal set" U; the complement S¯ of S is defined as S¯ = x x U x = S f j 2 ^ 2 g The usual set operations are union ( ), intersection ( ), and difference( ), defined as [ \ − S S = x x S x S 1 [ 2 f j 2 1 _ 2 2g S S = x x S x S 1 \ 2 f j 2 1 ^ 2 2g S S = x x S x = S 1 − 2 f j 2 1 ^ 2 2g The set with no elements, called the empty set is denoted by . It is obvious that ; S = S = S [ ; − ; S = \ ; ; ¯ = U ; S¯ = S A set S1 is said to be a subset of S if every element of S1 is also an element of S. We write this as S S 1 ⊆ If S1 S, but S contains an element not in S1, we say that S1 is a proper subset of S; we write this as ⊆ S S 1 ⊂ 1 2 CHAPTER 1. INTRODUCTION The following identities are known as the de Morgan's laws, 1. S S = S S ; 1 [ 2 1 \ 2 2. S S = S S ; 1 \ 2 1 [ 2 1. S S = S S ; 1 [ 2 1 \ 2 x S S 2 1 [ 2 x U and x = S S , 2 2 1 [ 2 x U and (x S or x S ) (def:union) , 2 : 2 1 2 2 x U and ( (x S ) and (x S )) (negation of disjunction) , 2 : 2 1 : 2 2 x U and (x = S and x = S ) , 2 2 1 2 2 (x U and x = S ) and (x U and x = S ) , 2 2 1 2 2 2 (x S and x S ) (def:complement) , 2 1 2 2 x S S (def:intersection) , 2 1 \ 2 If S1 and S2 have no common element, that is, S S = ; 1 \ 2 ; then the sets are said to be disjoint. A set is said to be finite if it contains a finite number of elements; otherwise it is infinite. The size of a finite set is the number of elements in it; this is denoted by S (or #S). A set may have many subsets. The set of all subsets of a setj Sj is called the power set of S and is denoted by 2S or P (S). Observe that 2S is a set of sets. Example 1.1.1 If S is the set 1; 2; 3 , then its power set is f g 2S = ; 1 ; 2 ; 3 ; 1; 2 ; 1; 3 ; 2; 3 ; 1; 2; 3 f; f g f g f g f g f g f g f gg Here S = 3 and 2S = 8. This is an instance of a general result, if S is finite, then j j j j 2S = 2jSj j j Proof: (By induction on the number of elements in S). Basis: S = 1 2S = ; S 2S = 21 = 2 j j ) f; g ) j j Induction Hypothesis: Assume the property holds for all sets S with k elements. Induction Step: Show that the property holds for (all sets with) k + 1 elements. Denote Sk = y ; y ; : : : ; yk +1 f 1 2 +1g = Sk yk [ f +1g 1.2. FUNCTIONS AND RELATIONS 3 where Sk = y ; y ; y ; : : : ; yk f 1 2 3 g Sk+1 Sk 2 = 2 yk [ f +1g y ; yk y ; yk : : : yk; yk [ f 1 +1g [ f 2 +1g [ [ f +1g[ x;y Sk x; y; yk : : : [ 2 f +1g [ Sk [ +1 2Sk has 2k elements by the induction hypothesis. Sk+1 k The number of sets in 2 which contain yk+1 is also 2 . Consequently 2Sk+1 = 2 2k = 2k+1: j j ∗ A set which has as its elements ordered sequences of elements from other sets is called the Cartesian product of the other sets. For the Cartesian product of two sets, which itself is a set of ordered pairs, we write S = S S = (x; y) x S ; y S 1 × 2 f j 2 1 2 2g Example 1.1.2 Let S = 1; 2 and S = 1; 2; 3 . Then 1 f g 2 f g S S = (1; 1); (1; 2); (1; 3); (2; 1); (2; 2); (2; 3) 1 × 2 f g Note that the order in which the elements of a pair are written matters; the pair (3; 2) is not in S S . 1 × 2 Example 1.1.3 If A is the set of throws of a coin, i.e., A = head,tail , then f g A A = (head,head),(head,tail),(tail,head),(tail,tail) × f g the set of all possible throws of two coins. The notation is extended in an obvious fashion to the Cartesian product of more than two sets; generally S S Sn = (x ; x ; ; xn) xi Si 1 × 2 × · · · × f 1 2 · · · j 2 g 1.2 Functions and Relations A function is a rule that assigns to elements of one set (the function domain) a unique element of another set (the range). We write f : S S 1 ! 2 to indicate that the domain of the function f is a subset of S1 and that the range of f is a subset of S2. If the domain of f is all of S1, we say that f is a total function on S1; otherwise f is said to be a partial function on S1: 1. Domain f = x S (x; y) f; for some y S = Df f 2 1 j 2 2 2g 2. Range f = y S (x; y) f; for some x S = Rf f 2 2 j 2 2 1g 4 CHAPTER 1. INTRODUCTION 3. The restriction of f to A S ; f = (x; y) f x A ⊆ 1 jA f 2 j 2 g 4. The inverse f −1 : S S is (y; x) (x; y) f 2 ! 1 f j 2 g 5. f : S S is called a function on S 1 ! 1 1 6. If x Df then f is defined at x; otherwise f is undefined at x; 2 7. f is a total function if Df = S1. 8. f is a partial function if Df S ⊆ 1 9. f is an onto function or surjection if Rf = S . If Rf S then f is a function from S (Df ) 2 ⊆ 2 1 into S2 10. f is a one to one function or injection if (f(x) = z and f(y) = z) x = y ) 11. A total function f is a bijection if it is both an injection and a surjection. A function can be represented by a set of pairs (x ; y ); (x ; y ); ; where each xi is an f 1 1 2 2 · · · g element in the domain of the function, and yi is the corresponding value in its range. For such a set to define a function, each xi can occur at most once as the first element of a pair. If this is not satisfied, such a set is called a relation. A specific kind of relation is an equivalence relation. A relation denoted r on X is an equivalence relation if it satisfies three rules, the reflexivity rule: (x; x) r x 2X 8 2 the symmetry rule: (x; y) r then (y; x) r 2 x; y X 2 8 2 and the transitivity rule: (x; y) r; (y; z) r then (x; z) r 2 x; y2; z X 2 8 2 An equivalence relation on X induces a partition on X into disjoint subsets called equivalence classes Xj; j Xj = X; such that elements from the same class belong to the relation, and any two elements taken[from different classes are not in the relation. Example 1.2.1 The relation congruence mod m (modulo m) on the set of the integers . i = j mod m if i j is divisible by m; is partitioned into m equivalenceZ classes: − Z ; 2m; m; 0; m; 2m; ; 2{·m· +· 1−; m−+ 1; 1; m + 1; 2·m· ·g+ 1; {· · · ; −2m + 2; −m + 2; 2; m + 2; 2m + 2; · · · g {· · · − − · · · g ; m 1; 1; m· · · 1; 2m; 3m 1; {· · · − − − − − · · · g 1.3.
Recommended publications
  • Theory of Computer Science
    Theory of Computer Science MODULE-1 Alphabet A finite set of symbols is denoted by ∑. Language A language is defined as a set of strings of symbols over an alphabet. Language of a Machine Set of all accepted strings of a machine is called language of a machine. Grammar Grammar is the set of rules that generates language. CHOMSKY HIERARCHY OF LANGUAGES Type 0-Language:-Unrestricted Language, Accepter:-Turing Machine, Generetor:-Unrestricted Grammar Type 1- Language:-Context Sensitive Language, Accepter:- Linear Bounded Automata, Generetor:-Context Sensitive Grammar Type 2- Language:-Context Free Language, Accepter:-Push Down Automata, Generetor:- Context Free Grammar Type 3- Language:-Regular Language, Accepter:- Finite Automata, Generetor:-Regular Grammar Finite Automata Finite Automata is generally of two types :(i)Deterministic Finite Automata (DFA)(ii)Non Deterministic Finite Automata(NFA) DFA DFA is represented formally by a 5-tuple (Q,Σ,δ,q0,F), where: Q is a finite set of states. Σ is a finite set of symbols, called the alphabet of the automaton. δ is the transition function, that is, δ: Q × Σ → Q. q0 is the start state, that is, the state of the automaton before any input has been processed, where q0 Q. F is a set of states of Q (i.e. F Q) called accept states or Final States 1. Construct a DFA that accepts set of all strings over ∑={0,1}, ending with 00 ? 1 0 A B S State/Input 0 1 1 A B A 0 B C A 1 * C C A C 0 2. Construct a DFA that accepts set of all strings over ∑={0,1}, not containing 101 as a substring ? 0 1 1 A B State/Input 0 1 S *A A B 0 *B C B 0 0,1 *C A R C R R R R 1 NFA NFA is represented formally by a 5-tuple (Q,Σ,δ,q0,F), where: Q is a finite set of states.
    [Show full text]
  • COMPSCI 501: Formal Language Theory Insights on Computability Turing Machines Are a Model of Computation Two (No Longer) Surpris
    Insights on Computability Turing machines are a model of computation COMPSCI 501: Formal Language Theory Lecture 11: Turing Machines Two (no longer) surprising facts: Marius Minea Although simple, can describe everything [email protected] a (real) computer can do. University of Massachusetts Amherst Although computers are powerful, not everything is computable! Plus: “play” / program with Turing machines! 13 February 2019 Why should we formally define computation? Must indeed an algorithm exist? Back to 1900: David Hilbert’s 23 open problems Increasingly a realization that sometimes this may not be the case. Tenth problem: “Occasionally it happens that we seek the solution under insufficient Given a Diophantine equation with any number of un- hypotheses or in an incorrect sense, and for this reason do not succeed. known quantities and with rational integral numerical The problem then arises: to show the impossibility of the solution under coefficients: To devise a process according to which the given hypotheses or in the sense contemplated.” it can be determined in a finite number of operations Hilbert, 1900 whether the equation is solvable in rational integers. This asks, in effect, for an algorithm. Hilbert’s Entscheidungsproblem (1928): Is there an algorithm that And “to devise” suggests there should be one. decides whether a statement in first-order logic is valid? Church and Turing A Turing machine, informally Church and Turing both showed in 1936 that a solution to the Entscheidungsproblem is impossible for the theory of arithmetic. control To make and prove such a statement, one needs to define computability. In a recent paper Alonzo Church has introduced an idea of “effective calculability”, read/write head which is equivalent to my “computability”, but is very differently defined.
    [Show full text]
  • 19 Theory of Computation
    19 Theory of Computation "You are about to embark on the study of a fascinating and important subject: the theory of computation. It com- prises the fundamental mathematical properties of computer hardware, software, and certain applications thereof. In studying this subject we seek to determine what can and cannot be computed, how quickly, with how much memory, and on which type of computational model." - Michael Sipser, "Introduction to the Theory of Computation", one of the driest computer science textbooks ever In which we go back to the basics with arcane, boring, and irrelevant set theory and counting. This week’s material is made challenging by two orthogonal issues. There’s a whole bunch of stuff to cover, and 95% of it isn’t the least bit interesting to a physical scientist. Nevertheless, being the starry-eyed optimist that I am, I’ll forge ahead through the mountainous bulk of knowledge. In other words, expect these notes to be long! But skim when necessary; if you look at the homework first (and haven’t entirely forgotten the lectures), you should be able to pick out the important parts. I understand if this type of stuff isn’t exactly your cup of tea, but bear with me while you can. In some sense, most of what we refer to as computer science isn’t computer science at all, any more than what an accountant does is math. Sure, modern economics takes some crazy hardcore theory to make it all work, but un- derlying the whole thing is a solid layer of applications and industrial moolah.
    [Show full text]
  • Turing's Influence on Programming — Book Extract from “The Dawn of Software Engineering: from Turing to Dijkstra”
    Turing's Influence on Programming | Book extract from \The Dawn of Software Engineering: from Turing to Dijkstra" Edgar G. Daylight∗ Eindhoven University of Technology, The Netherlands [email protected] Abstract Turing's involvement with computer building was popularized in the 1970s and later. Most notable are the books by Brian Randell (1973), Andrew Hodges (1983), and Martin Davis (2000). A central question is whether John von Neumann was influenced by Turing's 1936 paper when he helped build the EDVAC machine, even though he never cited Turing's work. This question remains unsettled up till this day. As remarked by Charles Petzold, one standard history barely mentions Turing, while the other, written by a logician, makes Turing a key player. Contrast these observations then with the fact that Turing's 1936 paper was cited and heavily discussed in 1959 among computer programmers. In 1966, the first Turing award was given to a programmer, not a computer builder, as were several subsequent Turing awards. An historical investigation of Turing's influence on computing, presented here, shows that Turing's 1936 notion of universality became increasingly relevant among programmers during the 1950s. The central thesis of this paper states that Turing's in- fluence was felt more in programming after his death than in computer building during the 1940s. 1 Introduction Many people today are led to believe that Turing is the father of the computer, the father of our digital society, as also the following praise for Martin Davis's bestseller The Universal Computer: The Road from Leibniz to Turing1 suggests: At last, a book about the origin of the computer that goes to the heart of the story: the human struggle for logic and truth.
    [Show full text]
  • Grammars (Cfls & Cfgs) Reading: Chapter 5
    Context-Free Languages & Grammars (CFLs & CFGs) Reading: Chapter 5 1 Not all languages are regular So what happens to the languages which are not regular? Can we still come up with a language recognizer? i.e., something that will accept (or reject) strings that belong (or do not belong) to the language? 2 Context-Free Languages A language class larger than the class of regular languages Supports natural, recursive notation called “context- free grammar” Applications: Context- Parse trees, compilers Regular free XML (FA/RE) (PDA/CFG) 3 An Example A palindrome is a word that reads identical from both ends E.g., madam, redivider, malayalam, 010010010 Let L = { w | w is a binary palindrome} Is L regular? No. Proof: N N (assuming N to be the p/l constant) Let w=0 10 k By Pumping lemma, w can be rewritten as xyz, such that xy z is also L (for any k≥0) But |xy|≤N and y≠ + ==> y=0 k ==> xy z will NOT be in L for k=0 ==> Contradiction 4 But the language of palindromes… is a CFL, because it supports recursive substitution (in the form of a CFG) This is because we can construct a “grammar” like this: Same as: 1. A ==> A => 0A0 | 1A1 | 0 | 1 | Terminal 2. A ==> 0 3. A ==> 1 Variable or non-terminal Productions 4. A ==> 0A0 5. A ==> 1A1 How does this grammar work? 5 How does the CFG for palindromes work? An input string belongs to the language (i.e., accepted) iff it can be generated by the CFG G: Example: w=01110 A => 0A0 | 1A1 | 0 | 1 | G can generate w as follows: Generating a string from a grammar: 1.
    [Show full text]
  • TOPOLOGY and ITS APPLICATIONS the Number of Complements in The
    TOPOLOGY AND ITS APPLICATIONS ELSEVIER Topology and its Applications 55 (1994) 101-125 The number of complements in the lattice of topologies on a fixed set Stephen Watson Department of Mathematics, York Uniuersity, 4700 Keele Street, North York, Ont., Canada M3J IP3 (Received 3 May 1989) (Revised 14 November 1989 and 2 June 1992) Abstract In 1936, Birkhoff ordered the family of all topologies on a set by inclusion and obtained a lattice with 1 and 0. The study of this lattice ought to be a basic pursuit both in combinatorial set theory and in general topology. In this paper, we study the nature of complementation in this lattice. We say that topologies 7 and (T are complementary if and only if 7 A c = 0 and 7 V (T = 1. For simplicity, we call any topology other than the discrete and the indiscrete a proper topology. Hartmanis showed in 1958 that any proper topology on a finite set of size at least 3 has at least two complements. Gaifman showed in 1961 that any proper topology on a countable set has at least two complements. In 1965, Steiner showed that any topology has a complement. The question of the number of distinct complements a topology on a set must possess was first raised by Berri in 1964 who asked if every proper topology on an infinite set must have at least two complements. In 1969, Schnare showed that any proper topology on a set of infinite cardinality K has at least K distinct complements and at most 2” many distinct complements.
    [Show full text]
  • Determinacy in Linear Rational Expectations Models
    Journal of Mathematical Economics 40 (2004) 815–830 Determinacy in linear rational expectations models Stéphane Gauthier∗ CREST, Laboratoire de Macroéconomie (Timbre J-360), 15 bd Gabriel Péri, 92245 Malakoff Cedex, France Received 15 February 2002; received in revised form 5 June 2003; accepted 17 July 2003 Available online 21 January 2004 Abstract The purpose of this paper is to assess the relevance of rational expectations solutions to the class of linear univariate models where both the number of leads in expectations and the number of lags in predetermined variables are arbitrary. It recommends to rule out all the solutions that would fail to be locally unique, or equivalently, locally determinate. So far, this determinacy criterion has been applied to particular solutions, in general some steady state or periodic cycle. However solutions to linear models with rational expectations typically do not conform to such simple dynamic patterns but express instead the current state of the economic system as a linear difference equation of lagged states. The innovation of this paper is to apply the determinacy criterion to the sets of coefficients of these linear difference equations. Its main result shows that only one set of such coefficients, or the corresponding solution, is locally determinate. This solution is commonly referred to as the fundamental one in the literature. In particular, in the saddle point configuration, it coincides with the saddle stable (pure forward) equilibrium trajectory. © 2004 Published by Elsevier B.V. JEL classification: C32; E32 Keywords: Rational expectations; Selection; Determinacy; Saddle point property 1. Introduction The rational expectations hypothesis is commonly justified by the fact that individual forecasts are based on the relevant theory of the economic system.
    [Show full text]
  • Cs 61A/Cs 98-52
    CS 61A/CS 98-52 Mehrdad Niknami University of California, Berkeley Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 1 / 23 Something like this? (Is this good?) def find(string, pattern): n= len(string) m= len(pattern) for i in range(n-m+ 1): is_match= True for j in range(m): if pattern[j] != string[i+ j] is_match= False break if is_match: return i What if you were looking for a pattern? Like an email address? Motivation How would you find a substring inside a string? Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 23 def find(string, pattern): n= len(string) m= len(pattern) for i in range(n-m+ 1): is_match= True for j in range(m): if pattern[j] != string[i+ j] is_match= False break if is_match: return i What if you were looking for a pattern? Like an email address? Motivation How would you find a substring inside a string? Something like this? (Is this good?) Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 23 What if you were looking for a pattern? Like an email address? Motivation How would you find a substring inside a string? Something like this? (Is this good?) def find(string, pattern): n= len(string) m= len(pattern) for i in range(n-m+ 1): is_match= True for j in range(m): if pattern[j] != string[i+ j] is_match= False break if is_match: return i Mehrdad Niknami (UC Berkeley) CS 61A/CS 98-52 2 / 23 Motivation How would you find a substring inside a string? Something like this? (Is this good?) def find(string, pattern): n= len(string) m= len(pattern) for i in range(n-m+ 1): is_match= True for j in range(m): if pattern[j] != string[i+
    [Show full text]
  • 180: Counting Techniques
    180: Counting Techniques In the following exercise we demonstrate the use of a few fundamental counting principles, namely the addition, multiplication, complementary, and inclusion-exclusion principles. While none of the principles are particular complicated in their own right, it does take some practice to become familiar with them, and recognise when they are applicable. I have attempted to indicate where alternate approaches are possible (and reasonable). Problem: Assume n ≥ 2 and m ≥ 1. Count the number of functions f :[n] ! [m] (i) in total. (ii) such that f(1) = 1 or f(2) = 1. (iii) with minx2[n] f(x) ≤ 5. (iv) such that f(1) ≥ f(2). (v) that are strictly increasing; that is, whenever x < y, f(x) < f(y). (vi) that are one-to-one (injective). (vii) that are onto (surjective). (viii) that are bijections. (ix) such that f(x) + f(y) is even for every x; y 2 [n]. (x) with maxx2[n] f(x) = minx2[n] f(x) + 1. Solution: (i) A function f :[n] ! [m] assigns for every integer 1 ≤ x ≤ n an integer 1 ≤ f(x) ≤ m. For each integer x, we have m options. As we make n such choices (independently), the total number of functions is m × m × : : : m = mn. (ii) (We assume n ≥ 2.) Let A1 be the set of functions with f(1) = 1, and A2 the set of functions with f(2) = 1. Then A1 [ A2 represents those functions with f(1) = 1 or f(2) = 1, which is precisely what we need to count. We have jA1 [ A2j = jA1j + jA2j − jA1 \ A2j.
    [Show full text]
  • Regular Languages and Finite Automata for Part IA of the Computer Science Tripos
    N Lecture Notes on Regular Languages and Finite Automata for Part IA of the Computer Science Tripos Prof. Andrew M. Pitts Cambridge University Computer Laboratory c 2012 A. M. Pitts Contents Learning Guide ii 1 Regular Expressions 1 1.1 Alphabets,strings,andlanguages . .......... 1 1.2 Patternmatching................................. .... 4 1.3 Somequestionsaboutlanguages . ....... 6 1.4 Exercises....................................... .. 8 2 Finite State Machines 11 2.1 Finiteautomata .................................. ... 11 2.2 Determinism, non-determinism, and ε-transitions. .. .. .. .. .. .. .. .. .. 14 2.3 Asubsetconstruction . .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..... 17 2.4 Summary ........................................ 20 2.5 Exercises....................................... .. 20 3 Regular Languages, I 23 3.1 Finiteautomatafromregularexpressions . ............ 23 3.2 Decidabilityofmatching . ...... 28 3.3 Exercises....................................... .. 30 4 Regular Languages, II 31 4.1 Regularexpressionsfromfiniteautomata . ........... 31 4.2 Anexample ....................................... 32 4.3 Complementand intersectionof regularlanguages . .............. 34 4.4 Exercises....................................... .. 36 5 The Pumping Lemma 39 5.1 ProvingthePumpingLemma . .... 40 5.2 UsingthePumpingLemma . ... 41 5.3 Decidabilityoflanguageequivalence . ........... 44 5.4 Exercises....................................... .. 45 6 Grammars 47 6.1 Context-freegrammars . ..... 47 6.2 Backus-NaurForm ................................
    [Show full text]
  • Axiomatic Set Teory P.D.Welch
    Axiomatic Set Teory P.D.Welch. August 16, 2020 Contents Page 1 Axioms and Formal Systems 1 1.1 Introduction 1 1.2 Preliminaries: axioms and formal systems. 3 1.2.1 The formal language of ZF set theory; terms 4 1.2.2 The Zermelo-Fraenkel Axioms 7 1.3 Transfinite Recursion 9 1.4 Relativisation of terms and formulae 11 2 Initial segments of the Universe 17 2.1 Singular ordinals: cofinality 17 2.1.1 Cofinality 17 2.1.2 Normal Functions and closed and unbounded classes 19 2.1.3 Stationary Sets 22 2.2 Some further cardinal arithmetic 24 2.3 Transitive Models 25 2.4 The H sets 27 2.4.1 H - the hereditarily finite sets 28 2.4.2 H - the hereditarily countable sets 29 2.5 The Montague-Levy Reflection theorem 30 2.5.1 Absoluteness 30 2.5.2 Reflection Theorems 32 2.6 Inaccessible Cardinals 34 2.6.1 Inaccessible cardinals 35 2.6.2 A menagerie of other large cardinals 36 3 Formalising semantics within ZF 39 3.1 Definite terms and formulae 39 3.1.1 The non-finite axiomatisability of ZF 44 3.2 Formalising syntax 45 3.3 Formalising the satisfaction relation 46 3.4 Formalising definability: the function Def. 47 3.5 More on correctness and consistency 48 ii iii 3.5.1 Incompleteness and Consistency Arguments 50 4 The Constructible Hierarchy 53 4.1 The L -hierarchy 53 4.2 The Axiom of Choice in L 56 4.3 The Axiom of Constructibility 57 4.4 The Generalised Continuum Hypothesis in L.
    [Show full text]
  • 2020 SIGACT REPORT SIGACT EC – Eric Allender, Shuchi Chawla, Nicole Immorlica, Samir Khuller (Chair), Bobby Kleinberg September 14Th, 2020
    2020 SIGACT REPORT SIGACT EC – Eric Allender, Shuchi Chawla, Nicole Immorlica, Samir Khuller (chair), Bobby Kleinberg September 14th, 2020 SIGACT Mission Statement: The primary mission of ACM SIGACT (Association for Computing Machinery Special Interest Group on Algorithms and Computation Theory) is to foster and promote the discovery and dissemination of high quality research in the domain of theoretical computer science. The field of theoretical computer science is the rigorous study of all computational phenomena - natural, artificial or man-made. This includes the diverse areas of algorithms, data structures, complexity theory, distributed computation, parallel computation, VLSI, machine learning, computational biology, computational geometry, information theory, cryptography, quantum computation, computational number theory and algebra, program semantics and verification, automata theory, and the study of randomness. Work in this field is often distinguished by its emphasis on mathematical technique and rigor. 1. Awards ▪ 2020 Gödel Prize: This was awarded to Robin A. Moser and Gábor Tardos for their paper “A constructive proof of the general Lovász Local Lemma”, Journal of the ACM, Vol 57 (2), 2010. The Lovász Local Lemma (LLL) is a fundamental tool of the probabilistic method. It enables one to show the existence of certain objects even though they occur with exponentially small probability. The original proof was not algorithmic, and subsequent algorithmic versions had significant losses in parameters. This paper provides a simple, powerful algorithmic paradigm that converts almost all known applications of the LLL into randomized algorithms matching the bounds of the existence proof. The paper further gives a derandomized algorithm, a parallel algorithm, and an extension to the “lopsided” LLL.
    [Show full text]