computability and logic
play

Computability and Logic Place: Store Auditorium, IT-Huset - PowerPoint PPT Presentation

dBerLog - Lectures Time: Tuesday 11 - 14, from August 27 to October 12 Computability and Logic Place: Store Auditorium, IT-Huset Lecturer dBerLog Mogens Nielsen IT-parken, Ada 216 mn Q1 2007 Course secretary Lene


  1. dBerLog - Lectures • Time: Tuesday 11 - 14, from August 27 to October 12 Computability and Logic • Place: Store Auditorium, IT-Huset • Lecturer dBerLog – Mogens Nielsen IT-parken, Ada 216 mn Q1 2007 • Course secretary – Lene Kjeldsteen IT-parken, Ada 127 lenekj • Course administrator – Doina Bucur IT-parken, Turing 227 doina dBerLog 2007 1 dBerLog 2007 2 dBerLog - Tutoring: dBerLog - Course material STARTING SEPTEMBER 3 • Group 1 Monday 8-11 Shannon 159 • John Martin: Introduction to Languages and the Theory – Rune Thorbek, Turing 215 thorbek of Computation • Group DA1 Thursday 8-11 Shannon 159 – McGraw Hill, 3rd edition – Jakob Truelsen, ?? u040819 • Group DA2 Wednesday 12-15 Shannon 164 • John Kelly: The Essence of Logic – Allan Jørgensen, Turing 124 jallan – Prentice Hall • Group DA3 Thursday 8-11 Shannon 164 • Mogens Nielsen: Limitations of Program Verification – Rune Thorbek, Turing 215 thorbek • Group DA4 Thursday 8-11 Shannon 156 – Course Notes – Allan Jørgensen, Turing 124 jallan dBerLog 2007 3 dBerLog 2007 4

  2. www.daimi.au.dk/dBerLog dBerLog - Exam • News • Oral exam • About this class • Weekly schedules • Compulsory home works – incl. exercises, handouts, slides etc – 2 compulsory written home work assignments must all be handed • Assignments in and accepted by the tutor - deadlines etc. will be made clear • Students during the course • Final Exam • Newsgroup: daimi.dBerLog dBerLog 2007 5 dBerLog 2007 6 dBerLog - Contents dBerLog - Goals The course introduces • The goals of this course are to give the student the • universal models for computation, including Turing following capabilities machines – to be familiar with the basic terminology for computability and logic • characterizations of computable and semi-computable problem classes , including presentations of a number of – to describe basic computability classes and fundamental logics unsolvable problems, diagonalization, and reduction – to describe basic properties of computability classes and logics • introduction to propositional logic, predicate logic, and – to explain constructive/algorithmic approaches to computability program logic, logical proof systems with applications classes and logics (program verification) – to analyse and to prove properties of computability classes and logics • Gödel’s completeness and incompleteness theorems dBerLog 2007 7 dBerLog 2007 8

  3. dBerLog - Goals dBerLog - Goals • The goals of this course are to give the student the following • The goals of this course are to give the student the following capabilities capabilities – to be familiar with the basic terminology for computability – to be familiar with the basic terminology for logic • problems as formal languages and operations on these, decidability, Turing machines • truth, satisfaction, validity, syntax, semantics – to describe basic computability classes and their properties – to describe fundamental logics and their properties • recursive and recursively enumerable languages, closure and decidability properties, • propositional logic, truth tables, predicate logic, interpretations and valuations, from intuition and examples to formal notation and definitions program logics, proof systems – to explain algorithmic approaches to properties of computability classes – to explain algorithmic approaches to properties of logics • constructive arguments for closure and decidability properties, problem reductions • decidability, normal forms, proof systems and their proofs, from examples to formal definitions – to analyse and to prove properties properties of computability classes – to analyse and to prove properties properties of logics • diagonalization, reduction • soundness and completeness, existence and non-existence of proof systems, G ödel’s theorems dBerLog 2007 9 dBerLog 2007 10 dBerLog contents dBerLog contents Programme/ Model of Output Yes, No Input Algorithm/ Input Computation Device dBerLog 2007 11 dBerLog 2007 12

  4. dBerLog contents Problem = Language • f: Σ * → { Yes, No } , a problem over Σ • L ⊆ Σ *, a formal language over Σ Model of x ∈ Σ * x ∈ L? Computation • We consider only formal languages and well-defined problems dBerLog 2007 13 dBerLog 2007 14 Problems dBerLog - main results • Given a text - is its LIX value greater than 10? • Only a tiny fraction of formally well-defined problems can be • Given a text - is it a syntactically correct Java program? solved computationally! • Given a graph - is it connected? • Concrete and important (in computing practice) problems can provably not be solved computationally! • Given a configuration in chess - is it winning for white? • Only a tiny fraction of math/logic may be formalized! • Given a text - is it a semantically correct Java program? • Concrete and important (in computing practice) logics can provably not be formalized! • Given a text - is it syntactically correct Danish? • Given a text - is it art? dBerLog 2007 15 dBerLog 2007 16

  5. Context Freee Grammar for expressions Ambiguity - example E E • G = ({E, I}, {1,2,+, ∗ ,(,)}, P, S) P: E → I | E + E | E ∗ E | (E) E E ∗ E E + I → 1 | 2 | I1 | I2 E I E I E E ∗ + 2 2 I I I I 1 2 2 1 dBerLog 2007 17 dBerLog 2007 18 Program correctness Program incorrectness Algoritme: Euklid (m, n) Algoritme: Euklid (m, n) m, n ≥ 1 m, n ≥ 1 Inputbetingelse: Inputbetingelse: Outputkrav: r = sfd(m, n) Outputkrav: r = sfd(m, n) {m, n ≥ 1} {m, n ≥ 1} Metode: Metode: p ← m; q ← n; p ← m; q ← n; I ={sfd(p, q) = sfd(m, n)} while p ≠ q do I ={sfd(p, q) = sfd(m, n)} while p ≠ q do if p > q then p ← p - q if p > q then p ← p - q else q ← q - p; else q ← q - p; r ← p r ← q {r = sfd (m, n)} {r = sfd (m, n)} dBerLog 2007 19 dBerLog 2007 20

  6. Program termination Problems for Context Free Grammars • Given a Context-free Grammar G over alphabet Σ {x > 1} while x ≠ 1 do if even (x) then x := x div 2 else x:= 3 × x + 1 is it unambiguous? is L(G) = Ø? is L(G) = Σ *? dBerLog 2007 21 dBerLog 2007 22 Plans for the 7 weeks dBerLog - ”Popular” Literature • Model of Computation: Turing Machines • Gödel, Escher, Bach • Computability – Douglas R. Hofstadter - 1980 • Non computable problems • The Emperor’s New Mind – Roger Penrose - 1989 • Propositional Logic • Mærk Verden • Predicate Logic – Tor Nørretranders - 1991 • Program Logic - Gödel’s theorems • Computers Ltd.: What They Really Cannot Do – David Harel - 2000 • Summary - Exam dBerLog 2007 23 dBerLog 2007 24

  7. Plan Models of Computation • Models of computation • Terminology - describe – DFA (the regular languages) – Turing machines – PDA (the context free languages) – Computing functions with TMs – ?? (any computable language) – Robustness of TM definitions - extensions • Turing machines is considered as a fundamental model for • Explain computation – any language that can be accepted by a a Turing machine can be – A universal TM accepted by any modern programming language (Java, Beta...) – AND VICE VERSA! [Martin, Chapter 9] dBerLog 2007 25 dBerLog 2007 26

  8. Turing machines - formally Configurations of a Turing machine • T = (Q, Σ , Γ , q 0 , δ ) • A configuration is a global state (snapshot) of a Turing machine consisting of – Q is a finite set of states • NOT containing two special halt states: h a , h r – the state � Σ a finite set of input symbols – the content of the tape: finitely many non-blank symbols � Γ is a finite set of tape symbols, Σ ⊆ Γ – the current position • NOT containing the special blank symbol: ∆ – q 0 ∈ Q is the initial state • Formally: � δ is the transition function - a partial function: – an element of the form (q, xay) ∈ Q × ( Γ * ΓΓ *) ∀δ : Q x ( Γ ∪{∆} ) → (Q ∪{ h a , h r } ) x ( Γ ∪{∆} ) x {R,L,S} dBerLog 2007 29 dBerLog 2007 30 The step function The Language of a Turing machine • (q, xay)  — (r, zbw) defined in the obvious way • (q 0 , ∆ x) is the start configuration with input x ∈ Σ * • Example: configuration = (q,aab ∆∆ bb) • x ∈ Σ * is accepted iff If δ (q, b) = (r, a, R) then – (q 0 , ∆ x)  —* (h a , yaz) for some a ∈ ( Γ∪{∆} ) & y, z ∈ ( Γ∪{∆} )* – (q, abb ∆∆ bb)  — (r, aba ∆∆ bb) If δ (q, b) = (r, b, L) then • L(T) = { x ∈ Σ * | x is accepted by T} – (q, abb ∆∆ bb)  — (r, abb ∆∆ bb) If δ (q, b) = (r, a, S) then – (q, abb ∆∆ bb)  — (r, aba ∆∆ bb) dBerLog 2007 31 dBerLog 2007 32

Recommend


More recommend