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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend