THE STRONG INVARIANCE THESIS
|
|
- Alaina Hunter
- 5 years ago
- Views:
Transcription
1 THE STRONG INVARIANCE THESIS FOR A λ-calculus LOLA WORKSHOP 2017 Yannick Forster 1 Fabian Kunze 1,2 Marc Roth 1,3 1 SAARLAND UNIVERSITY 2 MAX PLANCK INSTITUTE FOR INFORMATICS 3 CLUSTER OF EXCELLENCE (MMCI)
2 TURING MACHINES 2
3 TURING MACHINES (PROS) easy to imagine easy to explain de-facto the standard model of computation for computation theory and complexity theory 3
4 TURING MACHINES (CONS) Notoriously hard to reason about (in a formally precise way): not compositional tedious encodings no nice abstractions for verification (e.g. no separation logic) Formalisation of Computability Theory is out of reach Formalisation of Complexity Theory is even further away 4
5 EXEMPLARY RELATED WORK Ugo Dal Lago and Simone Martini The Weak Lambda Calculus as a Reasonable Machine Theoretical Computer Science, 2008 Beniamino Accattoli and Ugo Dal Lago (Leftmost-Outermost) Beta Reduction is Invariant, Indeed Logical Methods in Computer Science,
6 EXEMPLARY RELATED WORK Ugo Dal Lago and Simone Martini The Weak Lambda Calculus as a Reasonable Machine Theoretical Computer Science, 2008 Beniamino Accattoli and Ugo Dal Lago (Leftmost-Outermost) Beta Reduction is Invariant, Indeed Logical Methods in Computer Science, 2016 Andrea Asperti and Wilmer Ricciotti A formalization of multi-tape Turing machines Theoretical Computer Science,
7 ANOTHER MODEL OF COMPUTATION A certain flavour of λ-calculus called L compositional straightforward encodings of data types equational reasoning for verification Formalisation for Computability theory Yannick Forster and Gert Smolka Weak Call-by-Value Lambda Calculus as a Model of Computation in Coq ITP 2017 Reasonable with respect to time [Dal Lago, Martini (2008)] Reasonable with respect to space? 6
8 THE INVARIANCE THESIS (Strong) Invariance Thesis Reasonable machines can simulate each other within a polynomially bounded overhead in time and a constant-factor overhead in space. [Slot, van Emde Boas (1998)] 7
9 THE INVARIANCE THESIS (Strong) Invariance Thesis Reasonable machines can simulate each other within a polynomially bounded overhead in time and a constant-factor overhead in space. Ensures consistency w.r.t classes closed under poly-time/constant-space reductions. [Slot, van Emde Boas (1998)] 7
10 CONTRIBUTION Simple time and space measures for L substitution-based interpreter with constant-factor overhead in space heap-based interpreter with polynomially bounded overhead in time hybrid interpreter fulfilling the strong invariance thesis 8
11 CONTRIBUTION Theorem (Strong Invariance Thesis for L) L and Turing Machines can simulate each other within a polynomially bounded overhead in time and a constant-factor overhead in space for decision functions with non-sublinear running time. 9
12 L: WEAK CALL-BY-VALUE λ-calculus s, t ::= x λx.s s t (λx.s)(λy.t) s[x := λy.t] s s st s t t t st st uniformly confluent (reductions to normal forms have the same length) data represented by abstractions (Scott encoding) recursion using fixed-point combinator [Dal Lago, Martini (2008)] 10
13 TIME MEASURE If s = s 0 s 1 s k then Time(s) := k i.e. the number of β-reduction steps 11
14 SPACE MEASURE Space(s) := max s i {s i s s i } i.e. size of the largest intermediate term of the reduction for x = de Bruijn index of x st = 1 + s + t λx.s = 1 + s 12
15 DEFINITION OF TURING MACHINE a finite type of states Q a transition function δ : Q Σ n+1 Q Σ n+1 {L, N, R} a start state s : Q a halting function Q B Semantics: Loop δ until a halting state is reached. [Asperti, Ricciotti (2015)], [Dal Lago, Martini (2008)] 13
16 DEFINITION OF TURING MACHINE a finite type of states Q a transition function δ : Q Σ n+1 Q Σ n+1 {L, N, R} a start state s : Q a halting function Q B Semantics: Loop δ until a halting state is reached. Encode δ and halting function using Scott encodings (linear size, polynomial operations) and loop. [Asperti, Ricciotti (2015)], [Dal Lago, Martini (2008)] 13
17 DEFINITION OF TURING MACHINE a finite type of states Q a transition function δ : Q Σ n+1 Q Σ n+1 {L, N, R} a start state s : Q a halting function Q B Semantics: Loop δ until a halting state is reached. Encode δ and halting function using Scott encodings (linear size, polynomial operations) and loop. In Coq: Generation and verification of L-code from functional specification is automatic with our framework. Time-complexity of the extract is semi-automatic. Space-complexity has to be done by hand. [Asperti, Ricciotti (2015)], [Dal Lago, Martini (2008)] 13
18 Theorem (Invariance thesis part I) L can simulate Turing machines with a polynomially bounded overhead in time and a constant-factor overhead in space. 14
19 EXAMPLE: EVALUATING BY SUBSTITUTION Let I := λx.x: (λxy.x x) I ((λxy.x x)ii) 15
20 EXAMPLE: EVALUATING BY SUBSTITUTION Let I := λx.x: (λxy.x x) I ((λxy.x x)ii) (λy.i I) ((λxy.x x)ii) 15
21 EXAMPLE: EVALUATING BY SUBSTITUTION Let I := λx.x: (λxy.x x) I ((λxy.x x)ii) (λy.i I) ((λxy.x x)ii) (λy.i I) ((λy.ii)i) 15
22 EXAMPLE: EVALUATING BY SUBSTITUTION Let I := λx.x: (λxy.x x) I ((λxy.x x)ii) (λy.i I) ((λxy.x x)ii) (λy.i I) ((λy.ii)i) (λy.i I) (I I) 15
23 EXAMPLE: EVALUATING BY SUBSTITUTION Let I := λx.x: (λxy.x x) I ((λxy.x x)ii) (λy.i I) ((λxy.x x)ii) (λy.i I) ((λy.ii)i) (λy.i I) (I I) (λy.i I)I 15
24 EXAMPLE: EVALUATING BY SUBSTITUTION Let I := λx.x: (λxy.x x) I ((λxy.x x)ii) (λy.i I) ((λxy.x x)ii) (λy.i I) ((λy.ii)i) (λy.i I) (I I) (λy.i I)I I I 15
25 EXAMPLE: EVALUATING BY SUBSTITUTION Let I := λx.x: (λxy.x x) I ((λxy.x x)ii) (λy.i I) ((λxy.x x)ii) (λy.i I) ((λy.ii)i) (λy.i I) (I I) (λy.i I)I I I I 15
26 ENCODING TERMS terms: prefix notation with λ, and. Positions: strings with R, λ Example (λxy.x y) (λx.x) (λλ10) (λ0) is encoded by λ. In this term, 1 occurs at L λλ@ L 16
27 SUBSTITUTION-BASED INTERPRETER To compute s s, use tapes pre, funct, arg, post, position: λ }{{} pre arg }{{} funct }{{} post 1. Find the first β-redex, copy to pre is read copy next complete term to funct (and remember its position on the position tape) if the next token is λ, copy the next term to arg and remaining tokens to post otherwise, move funct onto pre and start from beginning 2. copy funct to pre, replacing variable with arg 3. copy post to pre [Dal Lago, Martini (2008)] 17
28 COMPLEXITY ANALYSIS O( s 2 ) time Per step for s s : O( s + s ) space 18
29 COMPLEXITY ANALYSIS O( s 2 ) time Per step for s s : O( s + s ) space In total for s = s 0 s 1 s k : O( i s i 2 ) time O(max i s i ) = O(Space(s)) space 18
30 Theorem (Invariance thesis part II for space) Turing machines can simulate L with a constant-factor overhead in space. 19
31 EXPLOSIVE TERMS 2 := λxy.x (x y) can double the size of a term in one step: So, with I := λx.x: 2 t λy.t (t y) 2 (2 ( (2 I)...) }{{} k times normalizes in k L-steps, but needs Ω(2 k ) interpretation time 20
32 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 21
33 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i h 1 := I 21
34 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) 21
35 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 2 (h 2 h 3 ) h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) h 1 := I, h 2 := λy.h 1 (h 1 y), h 3 := I 21
36 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 2 (h 2 h 3 ) 2 h 2 ((λy.h 1 (h 1 y))i) h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) h 1 := I, h 2 := λy.h 1 (h 1 y), h 3 := I 21
37 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 2 (h 2 h 3 ) 2 h 2 ((λy.h 1 (h 1 y))i) h 2 (h 1 (h 1 h 4 )) h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) h 1 := I, h 2 := λy.h 1 (h 1 y), h 3 := I..., h 4 := I 21
38 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 2 (h 2 h 3 ) 2 h 2 ((λy.h 1 (h 1 y))i) h 2 (h 1 (h 1 h 4 )) 2 h 2 (h 1 (II)) h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) h 1 := I, h 2 := λy.h 1 (h 1 y), h 3 := I..., h 4 := I 21
39 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 2 (h 2 h 3 ) 2 h 2 ((λy.h 1 (h 1 y))i) h 2 (h 1 (h 1 h 4 )) 2 h 2 (h 1 (II)) 5 h 2 I h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) h 1 := I, h 2 := λy.h 1 (h 1 y), h 3 := I..., h 4 := I..., h 5 := I, h 6 := I 21
40 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 2 (h 2 h 3 ) 2 h 2 ((λy.h 1 (h 1 y))i) h 2 (h 1 (h 1 h 4 )) 2 h 2 (h 1 (II)) 5 h 2 I h 1 (h 1 h 7 ) h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) h 1 := I, h 2 := λy.h 1 (h 1 y), h 3 := I..., h 4 := I..., h 5 := I, h 6 := I 21
41 EXAMPLE: EVALUATING WITH A HEAP 2 := λxy.x (x y) 2(2I)I 2(λy.h 1 (h 1 y))i (λy.h 2 (h 2 y))i h 2 (h 2 h 3 ) 2 h 2 ((λy.h 1 (h 1 y))i) h 2 (h 1 (h 1 h 4 )) 2 h 2 (h 1 (II)) 5 h 2 I h 1 (h 1 h 7 ) I h 1 := I h 1 := I, h 2 := (λy.h 1 (h 1 y)) h 1 := I, h 2 := λy.h 1 (h 1 y), h 3 := I..., h 4 := I..., h 5 := I, h 6 := I 21
42 HEAP-BASED INTERPRETER s = s 0 s i s k Tapes: main (contains s i ), heap, hc (heap counter) Invariant: size of heap is always polynomial in k and s. 22
43 HEAP-BASED INTERPRETER s = s 0 s i s k Tapes: main (contains s i ), heap, hc (heap counter) Invariant: size of heap is always polynomial in k and s. For beta-reduction of (λx.t 1 )t 2 : Copy t 2 to heap, replace x in t 1 with address 22
44 HEAP-BASED INTERPRETER s = s 0 s i s k Tapes: main (contains s i ), heap, hc (heap counter) Invariant: size of heap is always polynomial in k and s. For beta-reduction of (λx.t 1 )t 2 : Copy t 2 to heap, replace x in t 1 with address (linear in the heap, O( t 1 ) many copies of an address linear in the heap) 22
45 HEAP-BASED INTERPRETER s = s 0 s i s k Tapes: main (contains s i ), heap, hc (heap counter) Invariant: size of heap is always polynomial in k and s. For beta-reduction of (λx.t 1 )t 2 : Copy t 2 to heap, replace x in t 1 with address (linear in the heap, O( t 1 ) many copies of an address linear in the heap) For variable-unfolding of x: Find the element associated to x in the heap 22
46 HEAP-BASED INTERPRETER s = s 0 s i s k Tapes: main (contains s i ), heap, hc (heap counter) Invariant: size of heap is always polynomial in k and s. For beta-reduction of (λx.t 1 )t 2 : Copy t 2 to heap, replace x in t 1 with address (linear in the heap, O( t 1 ) many copies of an address linear in the heap) For variable-unfolding of x: Find the element associated to x in the heap (linear in the heap) 22
47 HEAP-BASED INTERPRETER s = s 0 s i s k Tapes: main (contains s i ), heap, hc (heap counter) Invariant: size of heap is always polynomial in k and s. For beta-reduction of (λx.t 1 )t 2 : Copy t 2 to heap, replace x in t 1 with address (linear in the heap, O( t 1 ) many copies of an address linear in the heap) For variable-unfolding of x: Find the element associated to x in the heap (linear in the heap) A bit more complicated for de-bruijn, but doable. 22
48 COMPLEXITY ANALYSIS Theorem There is a constant c such that any reduction s = s 0 s k in L can be simulated by the heap-based Turing machine in time and space O( s k c ). 23
49 Theorem (Invariance thesis part II for time) Turing machines can simulate L with a polynomially bounded overhead in time. 24
50 SUB-LINEAR-LOGARITHMICLY SMALL TERMS Let N := (λxy.x x) I, then N ( (N I)...) }{{} k times k (λy.i I) ( ((λy.i I) I)...) }{{} k times 2k I Needs 3k entries (with addresses of size O(k)) on heap, but definition permits only O(k) space 25
51 COMPLEXITY OVERVIEW s = s 0 s 1 s k for s k with constant size: substitution-based heap-based time O( i s i 2 ) O(poly(Time(s))) space O(Space(s)) O( s k c ) 26
52 PROBLEM ANALYSIS s = s 0 s k Heap-based interpreter needs O( s k c ) space on sublinar-logarithmically reducing terms (in k steps). 27
53 PROBLEM ANALYSIS s = s 0 s k Heap-based interpreter needs O( s k c ) space on sublinar-logarithmically reducing terms (in k steps). Substitution-based interpreter needs more than polynomial time on explosive terms where s i is asymptotically non-polynomial. 27
54 PROBLEM ANALYSIS s = s 0 s k Heap-based interpreter needs O( s k c ) space on sublinar-logarithmically reducing terms (in k steps). Substitution-based interpreter needs more than polynomial time on explosive terms where s i is asymptotically non-polynomial. But: Heap-based interpreter works on explosive terms! 27
55 HYBRID INTERPRETER Input: A term s. Set k = 0. Execute the substitution-based interpreter on s for k steps: If a normal form is reached, output it. If the space consumption is larger than s k c, abort and use the heap-based interpreter for k steps. If no normal form is reached, delete everything except s, set k := k + 1 and repeat. 28
56 TIME ANALYSIS Running time for fixed s and k: In total: O( ) 29
57 TIME ANALYSIS Running time for fixed s and k: heap-based interpreter: s k c In total: O( ) 29
58 TIME ANALYSIS Running time for fixed s and k: heap-based interpreter: s k c In total: O( Time(s) k=0 s k c }{{} heap-based ) 29
59 TIME ANALYSIS Running time for fixed s and k: unfolding the normal form: poly( s, Time(s))) In total: O( Time(s) k=0 s k c }{{} heap-based ) 29
60 TIME ANALYSIS Running time for fixed s and k: unfolding the normal form: poly( s, Time(s))) In total: O( poly( t, Time(s)) + }{{} unfolding the normal form t Time(s) k=0 s k c }{{} heap-based ) 29
61 TIME ANALYSIS Running time for fixed s and k: substitution-based interpreter: O( k i=1 s i 2 ) In total: O( poly( t, Time(s)) + }{{} unfolding the normal form t Time(s) k=0 s k c }{{} heap-based ) 29
62 TIME ANALYSIS Running time for fixed s and k: substitution-based interpreter: O( k i=1 s i 2 ) O( poly( t, Time(s)) + }{{} unfolding the normal form t In total: Time(s) k=0 s k c }{{} heap-based + k s i 2 i=1 }{{} substitution-based ) 29
63 TIME ANALYSIS Running time for fixed s and k: because of the space bound: s i s k c O( poly( t, Time(s)) + }{{} unfolding the normal form t In total: Time(s) k=0 s k c }{{} heap-based + k s i 2 i=1 }{{} substitution-based ) 29
64 TIME ANALYSIS Running time for fixed s and k: because of the space bound: s i s k c thus k i=1 s i 2 k s 2 k 2c O( poly( t, Time(s)) + }{{} unfolding the normal form t In total: Time(s) k=0 s k c }{{} heap-based + k s i 2 i=1 }{{} substitution-based ) 29
65 TIME ANALYSIS Running time for fixed s and k: because of the space bound: s i s k c thus k i=1 s i 2 k s 2 k 2c O( poly( t, Time(s)) + }{{} unfolding the normal form t In total: Time(s) k=0 s k c + k s k 2c ) }{{}}{{} heap-based substitution-based 29
66 TIME ANALYSIS Simplified: O( poly( t, Time(s)) + }{{} unfolding the normal form t Time(s) k=0 s k c + k s k 2c ) }{{}}{{} heap-based substitution-based O(poly( s, Time(s)) + Time(s) 2c+2 s 2 ) 29
67 SPACE ANALYSIS Space consumption for fixed s and k: In total: O( max k Space(s) ) 30
68 SPACE ANALYSIS Space consumption for fixed s and k: substitution-based interpreter: max i {0,...,k} s i In total: O( max k Space(s) ) 30
69 SPACE ANALYSIS Space consumption for fixed s and k: substitution-based interpreter: max i {0,...,k} s i = O(Space k (s)) In total: O( max k Space(s) ) 30
70 SPACE ANALYSIS Space consumption for fixed s and k: substitution-based interpreter: max i {0,...,k} s i = O(Space k (s)) In total: O( max k Space(s) Space k (s) ) 30
71 SPACE ANALYSIS Space consumption for fixed s and k: heap-based interpreter: O( s k c ) In total: O( max k Space(s) Space k (s) ) 30
72 SPACE ANALYSIS Space consumption for fixed s and k: heap-based interpreter: O( s k c ) In total: O( max k Space(s) Space k (s)+ s kc ) 30
73 SPACE ANALYSIS Space consumption for fixed s and k: because of the space bound: Space k (s) s k c In total: O( max k Space(s) Space k (s)+ s kc ) 30
74 SPACE ANALYSIS Space consumption for fixed s and k: because of the space bound: Space k (s) s k c In total: O( max k Space(s) Space k (s)+space k (s)) 30
75 SPACE ANALYSIS Simplified: O( max k Space(s) Space k (s)+space k (s)) O(Space(s)) 30
76 Theorem (Strong Invariance Thesis for L) L and Turing Machines can simulate each other within a polynomially bounded overhead in time and a constant-factor overhead in space for decision functions with non-sublinear running time. 31
77 WORK IN PROGRESS: FORMALISATION spec proof Functional correctness of L-interpreters L-extraction framework TM-interpreter (no verified complexity analysis)
78 WORK IN PROGRESS: FORMALISATION spec proof Functional correctness of L-interpreters L-extraction framework TM-interpreter (no verified complexity analysis) Missing: TM implementation and verification of L-interpreters Time and space analysis of L-interpreters Time and space analysis of TM-interpreter 32
79 SUMMARY The weak call-by-value λ-calculus L is as reasonable for complexity theory as Turing machines. 33
80 SUMMARY The weak call-by-value λ-calculus L is as reasonable for complexity theory as Turing machines. Future work: Formalise the complexity analysis Complexity theory using L: NP, many-one-reductions, hierarchy theorems,... 33
81 SUMMARY The weak call-by-value λ-calculus L is as reasonable for complexity theory as Turing machines. Future work: Formalise the complexity analysis Complexity theory using L: NP, many-one-reductions, hierarchy theorems,... Thanks! 33
82 THE HEAP-BASED INTERPRETER Use environments on a heap to delay substitutions: call (thunk) c = s E : pair of encoded L-term s and heap-address E heap H: list of entries ( or c#e ), addressed by position. call stack CS: list of tuples (@ L, c) or (@ R, c) R, c fully reduced) interpreter state: current call CC, CS and H. initial state: CC = s 0, CS = [] and H = [ ]) Example The result of (λx.x) ((λxy.x y) (λx.x)) (λx.x) (λx.x y) y λx.x is represented by CC =(λ@ ) 1 CS =[(@ R, (λ ) 0 )] H =[, (λ ) 0 )#0] 34
83 THE HEAP-BASED INTERPRETER (2) Each step of the interpreter depends on the current call CC = s E : if s = s L s R : push (@ L, s R [E]) on CS and set CC to s R E if s = x: get new CC by lookup of x in E if s = λs : if CS is empty: the term is fully evaluated if CS = (@ L, c R ) :: CS : set CC := c R and put (@ R, CC) on stack instead. if CS = (@R, λt E ) :: CS : store s R E #E on heap as Ê and set CC := t Ê 35
84 THE HEAP-BASED INTERPRETER (2) Each step of the interpreter depends on the current call CC = s E : if s = s L s R : push (@ L, s R [E]) on CS and set CC to s R E if s = x: get new CC by lookup of x in E if s = λs : if CS is empty: the term is fully evaluated if CS = (@ L, c R ) :: CS : set CC := c R and put (@ R, CC) on stack instead. if CS = (@R, λt E ) :: CS : store s R E #E on heap as Ê and set CC := t Ê Observations for evaluation s 0 s 1 s k : all calls contain subterms of s Heap contains #H = k + 1 elements, each of size s + 2 log(#h) CS & CC representing s i have size O( s i ) space consumption: O((max i s i ) + k ( s + log(k))) 35
85 THE HEAP-BASED INTERPRETER (2) Each step of the interpreter depends on the current call CC = s E : if s = s L s R : push (@ L, s R [E]) on CS and set CC to s R E if s = x: get new CC by lookup of x in E if s = λs : if CS is empty: the term is fully evaluated if CS = (@ L, c R ) :: CS : set CC := c R and put (@ R, CC) on stack instead. if CS = (@R, λt E ) :: CS : store s R E #E on heap as Ê and set CC := t Ê Observations for evaluation s 0 s 1 s k : all calls contain subterms of s Heap contains #H = k + 1 elements, each of size s + 2 log(#h) CS & CC representing s i have size O( s i ) space consumption: O((max i s i ) + k ( s + log(k))) time per interpreter step: O( s i #H + CC + CS) amortized, poly( s 0 ) interpreter-steps per β-reduction. time consumption: O(poly(k, s )) 35
86 LC: L WITH CLOSURES 36
Undecidability of the Post Correspondence Problem in Coq
Undecidaility of the Post Correspondence Prolem in Coq Bachelor Talk Edith Heiter Advisors: Prof. Dr. Gert Smolka, Yannick Forster August 23, 2017 PCP and Undecidaility SR to MPCP Turing Machines Reach
More informationIV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University
IV. Turing Machine Yuxi Fu BASICS, Shanghai Jiao Tong University Alan Turing Alan Turing (23Jun.1912-7Jun.1954), an English student of Church, introduced a machine model for effective calculation in On
More information(Leftmost-outermost) beta reduction is invariant, indeed
(Leftmost-outermost) beta reduction is invariant, indeed Beniamino Accattoli, Ugo Dal Lago To cite this version: Beniamino Accattoli, Ugo Dal Lago. (Leftmost-outermost) beta reduction is invariant, indeed.
More informationComputability Theory. CS215, Lecture 6,
Computability Theory CS215, Lecture 6, 2000 1 The Birth of Turing Machines At the end of the 19th century, Gottlob Frege conjectured that mathematics could be built from fundamental logic In 1900 David
More informationPart I: Definitions and Properties
Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States
More informationA Type-Theoretic Characterization of Polynomial Time Computable Functions
A Type-Theoretic Characterization of Polynomial Time Computable Functions Master Thesis in Mathematics at the Radboud Universiteit Nijmegen Rik de Kort supervised by Dr. Herman Geuvers September 7, 2016
More informationLecture 3: Reductions and Completeness
CS 710: Complexity Theory 9/13/2011 Lecture 3: Reductions and Completeness Instructor: Dieter van Melkebeek Scribe: Brian Nixon Last lecture we introduced the notion of a universal Turing machine for deterministic
More informationDecidability: Church-Turing Thesis
Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there
More informationforty-two XLII Equivalent Computers? Lecture 40: Computing with Glue and Photons What is 42? cuarenta y dos Meaning of Numbers Meaning of Numbers
), #, R #,, - ), #, R #,, - Lecture 40: Computing with Glue and Photons Equivalent Computers? z z z... term = variable term term (term) λ variable. term λy. M α λv. (M [y α v]) where v does not occur in
More informationCS20a: Turing Machines (Oct 29, 2002)
CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Church s thesis The computable functions are the same as the partial recursive
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 3.3, 4.1 State and use the Church-Turing thesis. Give examples of decidable problems.
More informationSaarland University. Verified Compilation of Weak Call-by-Value Lambda-Calculus into Combinators and Closures
Saarland University Faculty of Natural Sciences and Technology I Bachelor s Thesis Verified Compilation of Weak Call-by-Value Lambda-Calculus into Combinators and Closures Fabian Maximilian Kunze Advisor:
More informationCSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits
CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits Chris Calabro January 13, 2016 1 RAM model There are many possible, roughly equivalent RAM models. Below we will define one in the fashion
More informationTHE UNIVERSITY OF CALGARY FACULTY OF SCIENCE FINAL EXAMINATION COMPUTER SCIENCE 521
P. 1 of 7 THE UNIVERSITY OF CALGARY FACULTY OF SCIENCE FINAL EXAMINATION COMPUTER SCIENCE 521 December, 2016 Time: 2 hrs. Instructions The exam contains questions totaling 100 points. Answer all questions.
More informationMost General computer?
Turing Machines Most General computer? DFAs are simple model of computation. Accept only the regular languages. Is there a kind of computer that can accept any language, or compute any function? Recall
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationTuring Machine Variants
CS311 Computational Structures Turing Machine Variants Lecture 12 Andrew Black Andrew Tolmach 1 The Church-Turing Thesis The problems that can be decided by an algorithm are exactly those that can be decided
More informationEquivalent Computers. Lecture 39: Lambda Calculus. Lambda Calculus. What is Calculus? Real Definition. Why?
#,, - Lecture 39: Lambda Calculus Equivalent Computers z z z... term = variable term term (term) λ variable. term λy. M α λv. (M [y α v]) where v does not occur in M. (λx. M)N β M [ x α N ] Turing Machine
More informationAutomata Theory CS S-12 Turing Machine Modifications
Automata Theory CS411-2015S-12 Turing Machine Modifications David Galles Department of Computer Science University of San Francisco 12-0: Extending Turing Machines When we added a stack to NFA to get a
More information1 From previous lectures
CS 810: Introduction to Complexity Theory 9/18/2003 Lecture 11: P/poly, Sparse Sets, and Mahaney s Theorem Instructor: Jin-Yi Cai Scribe: Aparna Das, Scott Diehl, Giordano Fusco 1 From previous lectures
More informationCS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)
CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM) Proposed by Alan Turing in 936 finite-state control + infinitely long tape A stronger
More informationOutline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 3. Logarithmic Space Reinhard Pichler Institute of Logic and Computation DBAI Group TU Wien 3. Logarithmic Space 3.1 Computational
More informationTHE UNIVERSITY OF CALGARY FACULTY OF SCIENCE FINAL EXAMINATION COMPUTER SCIENCE 521
P. 1 of 7 THE UNIVERSITY OF CALGARY FACULTY OF SCIENCE FINAL EXAMINATION COMPUTER SCIENCE 521 December, 2014 Time: 2 hrs. Instructions The exam contains questions totaling 100 points. Answer all questions.
More informationCS 21 Decidability and Tractability Winter Solution Set 3
CS 21 Decidability and Tractability Winter 2018 Posted: January 31 Solution Set 3 If you have not yet turned in the Problem Set, you should not consult these solutions. 1. (a) A 2-NPDA is a 7-tuple (Q,,
More information1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions
CS 6743 Lecture 15 1 Fall 2007 1 Circuit Complexity 1.1 Definitions A Boolean circuit C on n inputs x 1,..., x n is a directed acyclic graph (DAG) with n nodes of in-degree 0 (the inputs x 1,..., x n ),
More informationCS4026 Formal Models of Computation
CS4026 Formal Models of Computation Turing Machines Turing Machines Abstract but accurate model of computers Proposed by Alan Turing in 1936 There weren t computers back then! Turing s motivation: find
More information1 Deterministic Turing Machines
Time and Space Classes Exposition by William Gasarch 1 Deterministic Turing Machines Turing machines are a model of computation. It is believed that anything that can be computed can be computed by a Turing
More informationModels of computation
Lambda-Calculus (I) jean-jacques.levy@inria.fr 2nd Asian-Pacific Summer School on Formal ethods Tsinghua University, August 23, 2010 Plan computation models lambda-notation bound variables odels of computation
More informationTuring Machine Recap
Turing Machine Recap DFA with (infinite) tape. One move: read, write, move, change state. High-level Points Church-Turing thesis: TMs are the most general computing devices. So far no counter example Every
More informationLimits of Computability
Limits of Computability Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner
More informationThe Suspension Notation as a Calculus of Explicit Substitutions
The Suspension Notation as a Calculus of Explicit Substitutions Gopalan Nadathur Digital Technology Center and Department of Computer Science University of Minnesota [Joint work with D.S. Wilson and A.
More informationIntroduction to Turing Machines
Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability
More informationTuring Machines Part II
Turing Machines Part II COMP2600 Formal Methods for Software Engineering Katya Lebedeva Australian National University Semester 2, 2016 Slides created by Katya Lebedeva COMP 2600 Turing Machines 1 Why
More information1 Computational Problems
Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More informationUndecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK
COMS11700 Undecidability Department of Computer Science, University of Bristol Bristol, UK 4 April 2014 COMS11700: Undecidability Slide 1/29 Decidability We are particularly interested in Turing machines
More informationThe Weak Lambda Calculus as a Reasonable Machine
The Weak Lambda Calculus as a Reasonable Machine Ugo Dal Lago and Simone Martini Dipartimento di Scienze dell Informazione, Università di Bologna, Mura Anteo Zamboni 7, 40127 Bologna, Italy. Abstract We
More informationIntroduction to Turing Machines. Reading: Chapters 8 & 9
Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages
More information4.2 The Halting Problem
172 4.2 The Halting Problem The technique of diagonalization was discovered in 1873 by Georg Cantor who was concerned with the problem of measuring the sizes of infinite sets For finite sets we can simply
More informationPost s Theorem and Blockchain Languages
Post s Theorem and Blockchain Languages A Short Course in the Theory of Computation Russell O Connor roconnor@blockstream.com BPASE, January 26, 2017 1 / 35 morpheus (logician): Tell me Neo, what is the
More informationLecture 25: Cook s Theorem (1997) Steven Skiena. skiena
Lecture 25: Cook s Theorem (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Prove that Hamiltonian Path is NP
More informationCS3719 Theory of Computation and Algorithms
CS3719 Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational tool - analysis
More informationThe Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability
The Turing Machine Computability Motivating idea Build a theoretical a human computer Likened to a human with a paper and pencil that can solve problems in an algorithmic way The theoretical provides a
More informationTuring s original paper (1936)
Turing s original paper (1936) Turing s original paper (1936) There exist problems that cannot be solved mechanically Turing s original paper (1936) There exist problems that cannot be solved mechanically
More informationNotes for Lecture Notes 2
Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More informationMore About Turing Machines. Programming Tricks Restrictions Extensions Closure Properties
More About Turing Machines Programming Tricks Restrictions Extensions Closure Properties 1 Overview At first, the TM doesn t look very powerful. Can it really do anything a computer can? We ll discuss
More information15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete
CS125 Lecture 15 Fall 2016 15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete Already know SAT NP, so only need to show SAT is NP-hard. Let L be any language in NP. Let M be a NTM that decides L
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 15 Ana Bove May 17th 2018 Recap: Context-free Languages Chomsky hierarchy: Regular languages are also context-free; Pumping lemma
More informationLambda-Calculus (I) 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010
Lambda-Calculus (I) jean-jacques.levy@inria.fr 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010 Plan computation models lambda-notation bound variables conversion
More informationAutomata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,
Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free
More informationCS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)
CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM)? Proposed by Alan Turing in 936 finite-state control + infinitely long tape A
More informationComplexity (Pre Lecture)
Complexity (Pre Lecture) Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2018 Dantam (Mines CSCI-561) Complexity (Pre Lecture) Fall 2018 1 / 70 Why? What can we always compute efficiently? What
More informationCS154, Lecture 10: Rice s Theorem, Oracle Machines
CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable
More informationTuring Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1
Turing Machines a n b n c The anguage Hierarchy n? ww? Context-Free anguages a n b n egular anguages a * a *b* ww Courtesy Costas Busch - PI a n b n c n Turing Machines anguages accepted by Turing Machines
More informationChapter 7 Turing Machines
Chapter 7 Turing Machines Copyright 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 A General Model of Computation Both finite automata and pushdown automata are
More informationCS6901: review of Theory of Computation and Algorithms
CS6901: review of Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational
More informationOn space efficiency of Krivine s abstract machine and Hyland-Ong games
13/02/08, LIPN p.1/28 On space efficiency of Krivine s abstract machine and Hyland-Ong games Kazushige Terui terui@nii.ac.jp National Institute of Informatics, Tokyo Laboratoire d Informatics de Paris
More informationBusch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1
Busch Complexity Lectures: Turing s Thesis Costas Busch - LSU 1 Turing s thesis (1930): Any computation carried out by mechanical means can be performed by a Turing Machine Costas Busch - LSU 2 Algorithm:
More informationVariations on a theme: call-by-value and factorization
Variations on a theme: call-by-value and factorization Beniamino Accattoli INRIA & LIX, Ecole Polytechnique Accattoli (INRIA Parsifal) Variations on a theme: call-by-value and factorization 1 / 31 Outline
More informationOperational Semantics
Operational Semantics Semantics and applications to verification Xavier Rival École Normale Supérieure Xavier Rival Operational Semantics 1 / 50 Program of this first lecture Operational semantics Mathematical
More informationThe Power of One-State Turing Machines
The Power of One-State Turing Machines Marzio De Biasi Jan 15, 2018 Abstract At first glance, one state Turing machines are very weak: the Halting problem for them is decidable, and, without memory, they
More informationTheory of Computing Tamás Herendi
Theory of Computing Tamás Herendi Theory of Computing Tamás Herendi Publication date 2014 Table of Contents 1 Preface 1 2 Formal languages 2 3 Order of growth rate 9 4 Turing machines 16 1 The definition
More informationCS20a: Turing Machines (Oct 29, 2002)
CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Handicapped machines DFA limitations Tape head moves only one direction 2-way DFA
More informationTheory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem
Theory of Computer Science May 2, 2018 D7. Halting Problem and Reductions Theory of Computer Science D7. Halting Problem and Reductions Gabriele Röger University of Basel May 2, 2018 D7.1 Introduction
More informationRewriting, Explicit Substitutions and Normalisation
Rewriting, Explicit Substitutions and Normalisation XXXVI Escola de Verão do MAT Universidade de Brasilia Part 1/3 Eduardo Bonelli LIFIA (Fac. de Informática, UNLP, Arg.) and CONICET eduardo@lifia.info.unlp.edu.ar
More informationOn Elementary Linear Logic and polynomial time (Extended Abstract)
On Elementary Linear Logic and polynomial time (Extended Abstract) Patrick Baillot ENS Lyon, Université de Lyon, LIP (UMR 5668 CNRS-ENSL-INRIA-UCBL) 1 Introduction Linear logic (LL) [Gir87] has been used
More informationDatabase Theory VU , SS Complexity of Query Evaluation. Reinhard Pichler
Database Theory Database Theory VU 181.140, SS 2018 5. Complexity of Query Evaluation Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 17 April, 2018 Pichler
More informationTuring Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite
The Church-Turing Thesis CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q 0, q accept, q reject ), where
More informationReview. Principles of Programming Languages. Equality. The Diamond Property. The Church-Rosser Theorem. Corollaries. CSE 230: Winter 2007
CSE 230: Winter 2007 Principles of Programming Languages Lecture 12: The λ-calculus Ranjit Jhala UC San Diego Review The lambda calculus is a calculus of functions: e := x λx. e e 1 e 2 Several evaluation
More informationDecidability of Existence and Construction of a Complement of a given function
Decidability of Existence and Construction of a Complement of a given function Ka.Shrinivaasan, Chennai Mathematical Institute (CMI) (shrinivas@cmi.ac.in) April 28, 2011 Abstract This article denes a complement
More informationParallelism and Machine Models
Parallelism and Machine Models Andrew D Smith University of New Brunswick, Fredericton Faculty of Computer Science Overview Part 1: The Parallel Computation Thesis Part 2: Parallelism of Arithmetic RAMs
More informationTuring Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA
Turing Machines A Turing machine is similar to a finite automaton with supply of unlimited memory. A Turing machine can do everything that any computing device can do. There exist problems that even a
More informationTheory of Computation. Theory of Computation
Theory of Computation Theory of Computation What is possible to compute? We can prove that there are some problems computers cannot solve There are some problems computers can theoretically solve, but
More informationQuantum Computing Lecture 8. Quantum Automata and Complexity
Quantum Computing Lecture 8 Quantum Automata and Complexity Maris Ozols Computational models and complexity Shor s algorithm solves, in polynomial time, a problem for which no classical polynomial time
More information3.2 Equivalence, Evaluation and Reduction Strategies
3.2 Equivalence, Evaluation and Reduction Strategies The λ-calculus can be seen as an equational theory. More precisely, we have rules i.e., α and reductions, for proving that two terms are intensionally
More informationAutomata Theory - Quiz II (Solutions)
Automata Theory - Quiz II (Solutions) K. Subramani LCSEE, West Virginia University, Morgantown, WV {ksmani@csee.wvu.edu} 1 Problems 1. Induction: Let L denote the language of balanced strings over Σ =
More information6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3
6.841/18.405J: Advanced Complexity Wednesday, February 12, 2003 Lecture Lecture 3 Instructor: Madhu Sudan Scribe: Bobby Kleinberg 1 The language MinDNF At the end of the last lecture, we introduced the
More informationTuring s Thesis. Fall Costas Busch - RPI!1
Turing s Thesis Costas Busch - RPI!1 Turing s thesis (1930): Any computation carried out by mechanical means can be performed by a Turing Machine Costas Busch - RPI!2 Algorithm: An algorithm for a problem
More informationModels. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation
Turing Computation /0/ Models of Computation, Turing Machines, and the Limits of Turing Computation Bruce MacLennan Models A model is a tool intended to address a class of questions about some domain of
More informationTheory of Computation (IX) Yijia Chen Fudan University
Theory of Computation (IX) Yijia Chen Fudan University Review The Definition of Algorithm Polynomials and their roots A polynomial is a sum of terms, where each term is a product of certain variables and
More informationarxiv: v1 [cs.cc] 3 Feb 2019
Some Remarks on Real-Time Turing Machines (Preliminary Report) arxiv:1902.00975v1 [cs.cc] 3 Feb 2019 Holger Petersen Reinsburgstr. 75 70197 Stuttgart February 5, 2019 Abstract The power of real-time Turing
More informationCS5371 Theory of Computation. Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)
CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG) Objectives Recall that decidable languages are languages that can be decided by TM (that means,
More informationLambda-Calculus (cont): Fixpoints, Naming. Lecture 10 CS 565 2/10/08
Lambda-Calculus (cont): Fixpoints, Naming Lecture 10 CS 565 2/10/08 Recursion and Divergence Consider the application: Ω ((λ x. (x x)) (λ x. (x x))) Ω evaluates to itself in one step. It has no normal
More informationTheory of Computation CS3102 Spring 2015 A tale of computers, math, problem solving, life, love and tragic death
Theory of Computation CS3102 Spring 2015 A tale of computers, math, problem solving, life, love and tragic death Robbie Hott www.cs.virginia.edu/~jh2jf Department of Computer Science University of Virginia
More informationTheory of computation: initial remarks (Chapter 11)
Theory of computation: initial remarks (Chapter 11) For many purposes, computation is elegantly modeled with simple mathematical objects: Turing machines, finite automata, pushdown automata, and such.
More informationAutomata Theory. Definition. Computational Complexity Theory. Computability Theory
Outline THEORY OF COMPUTATION CS363, SJTU What is Theory of Computation? History of Computation Branches and Development Xiaofeng Gao Dept. of Computer Science Shanghai Jiao Tong University 2 The Essential
More informationSOLUTION: SOLUTION: SOLUTION:
Convert R and S into nondeterministic finite automata N1 and N2. Given a string s, if we know the states N1 and N2 may reach when s[1...i] has been read, we are able to derive the states N1 and N2 may
More informationTheory of Computer Science
Theory of Computer Science D1. Turing-Computability Malte Helmert University of Basel April 18, 2016 Overview: Course contents of this course: logic How can knowledge be represented? How can reasoning
More informationResources Control Graphs
Resources Control Graphs Jean-Yves Moyen LIPN CNRS GeoCal ICC p. Motivations Programs analysis deal about uniform properties: Do all the executions terminate? Are all the executions performed within a
More informationCSCE 551: Chin-Tser Huang. University of South Carolina
CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan
More informationThe Lambda Calculus. Stephen A. Edwards. Fall Columbia University
The Lambda Calculus Stephen A. Edwards Columbia University Fall 2014 Lambda Expressions Function application written in prefix form. Add four and five is (+ 4 5) Evaluation: select a redex and evaluate
More informationCS294: Pseudorandomness and Combinatorial Constructions September 13, Notes for Lecture 5
UC Berkeley Handout N5 CS94: Pseudorandomness and Combinatorial Constructions September 3, 005 Professor Luca Trevisan Scribe: Gatis Midrijanis Notes for Lecture 5 In the few lectures we are going to look
More informationNormalization by Evaluation
Normalization by Evaluation Andreas Abel Department of Computer Science and Engineering Chalmers and Gothenburg University PhD Seminar in Mathematical Engineering EAFIT University, Medellin, Colombia 9
More informationTuring s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine
Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines Definition of Algorithm:
More informationCSCI 1590 Intro to Computational Complexity
CSCI 1590 Intro to Computational Complexity Space Complexity John E. Savage Brown University February 11, 2008 John E. Savage (Brown University) CSCI 1590 Intro to Computational Complexity February 11,
More informationSYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES
Contents i SYLLABUS UNIT - I CHAPTER - 1 : AUT UTOMA OMATA Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 2 : FINITE AUT UTOMA OMATA An Informal Picture of Finite Automata,
More informationTuring Machines. Lecture 8
Turing Machines Lecture 8 1 Course Trajectory We will see algorithms, what can be done. But what cannot be done? 2 Computation Problem: To compute a function F that maps each input (a string) to an output
More informationSpace Complexity. The space complexity of a program is how much memory it uses.
Space Complexity The space complexity of a program is how much memory it uses. Measuring Space When we compute the space used by a TM, we do not count the input (think of input as readonly). We say that
More informationType Systems. Lecture 2 Oct. 27th, 2004 Sebastian Maneth.
Type Systems Lecture 2 Oct. 27th, 2004 Sebastian Maneth http://lampwww.epfl.ch/teaching/typesystems/2004 Today 1. What is the Lambda Calculus? 2. Its Syntax and Semantics 3. Church Booleans and Church
More informationDecision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012
Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM
More informationVariable Automata over Infinite Alphabets
Variable Automata over Infinite Alphabets Orna Grumberg a, Orna Kupferman b, Sarai Sheinvald b a Department of Computer Science, The Technion, Haifa 32000, Israel b School of Computer Science and Engineering,
More information