Berechenbarkeit und Logik Prof. Dr. Heribert Vollmer, SS05 Zusammenfassung Jan Hinzmann 11. Oktober 2005 Inhaltsverzeichnis 0 Einleitung 0.1 Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.2 Sätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.3 Turingmaschine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 3 1 Rekursive Aufzählbarkeit 1.1 These von Church . . . . . . . . 1.2 Gödelisierung . . . . . . . . . . . 1.3 Turingmaschinen als Akzeptoren 1.4 Satz von Rice . . . . . . . . . . . . . . . 3 3 3 4 4 2 PL1 – Prädikatenlogik erster Stufe 2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 3 Die Unentscheidbarkeit der Prädikatenlogik erster Stufe 6 4 Beweise in der Prädikatenlogik erster Stufe 7 5 Arithmetische Definierbarkeit 7 6 Zusammenfassung 7 0 0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einleitung Begriffe Zunächst sollen einige Begriffe und Zeichen rekapituliert werden: N Z A⊆B B⊇A {0, 1, 2, 3, ...} natürliche Zahlen {..., −3, −2, −1, 0, 1, 2, 3, ...} ganze Zahlen A ist Teilmenge von B“ ” B ist Obermenge von A“ ” 1 . . . . . . . . . . . . . . . . 0.2 Sätze → ↔ M |= F bijektiv surjektiv injektiv Γ, γ ∆, δ X, χ cA (x) χA (x) A ⊆ Σ∗ A entscheidbar berechenbar hx, yi 0.2 0 EINLEITUNG materielle Implikation (wennn ..., dann) a → b materielle Äquivalenz (genau dann wenn) a ↔ b F wird unter M wahr eindeutig, Umkehrfunktion, surjektiv + injektiv Jedes Element der Zielmenge wird min. einmal ” getroffen“ eindeutig, keine Umkehrfunktion (Zielbereich größer als Def.-bereich) Gamma, gamma“ ” Delta, delta“ ” Chi, chi“ ” die charakteristische Funktion einer Sprache A, ist sie berechenbar, ist die Sprache A entscheidbar. Chi von x“, ist sie berechenbar, ist die Sprache ” A semi-entscheidbar Sprache für eine TM A = Σ∗ \A rekursiv (Sprachen) rekursiv (Funktionen) hx, yi = c(x, y) Skript S.2 Tabelle 1: Begriffe Sätze f ist berechenbar A ist entscheidbar A ist entscheidbar A ist semi-entscheidbar A ist rekursiv-aufzählbar A ist rekursiv-aufzählbar A ist rekursiv-aufzählbar ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ K ⇒ K K0 ⇒ ⇒ A ≤ B, B rekursiv ⇒ A ≤ B, A nicht rekursiv ⇒ f kann von einer TM berechnet werden. cA (x) ist berechenbar A, A sind rekursiv-aufzählbar χA (x) ist berechenbar A ist semi-entscheidbar A ist Wertebereich einer berechenbaren Fkt. A = ∅ oder es gibt eine totale, berechenbare Funktion, die A aufzählt. spezielles Haltproblem K = {x|Mx bei Eingabe x hält}, (ist rekursivaufzählbar, nicht rekursiv) ist nicht rekursiv-aufzählbar allgemeines Halteproblem K0 = {hx, yi|Mx bei Eingabe y hält} K0 ist nicht entscheidbar. A ist rekursiv B ist nicht rekursiv Tabelle 3: Sätze 2 0.3 Turingmaschine 0.3 1 REKURSIVE AUFZÄHLBARKEIT Turingmaschine Eine Turingmaschine (TM) ist ein 7-Tupel M = (Q, Σ, Γ, δ, q0 , ¤, F ) , wobei • Q die Menge der Zusände ist, die die Turingmaschine annehmen kann • Σ das Eingabealphabet ist, welches die TM akzeptiert, • Γ ⊇ Σ das Arbeitealphabet ist, • δ die Überführungsfunktion ist, mit δ : Q × Γ → Q × Γ × {L, N, R}, • q0 ∈ Q der Startzustand ist • ¤ ∈ Γ der Leersymbol ist und • F ⊆ Q die Endzustände von M sind. 1 Rekursive Aufzählbarkeit 1.1 These von Church Kann eine Funktion mit k Parametern durch eine Turingmaschine berechnet werden, do ist sie berechenbar bzw. rekursiv. Dabei gibt die TM das Ergebns aus, wenn die Funktion für die Eingabe definiert ist. Sonst läuft die TM in einer Endlosschleife. 1.2 Gödelisierung Bei der Gödelisierung werden Turingmaschinen als Wörter über {0, 1} kodiert. Die Gödelnummer e ∈ {0, 1}? charakterisiert dann eine bestimmte Turingmaschine Me . Hierzu werden den Buchstaben aus dem Eingabealphabet z.B. Primzahlen zugeordnet. Hierbei wird die Stelle des Vorkommens im Eingabewort berücksichtigt. Die Primzahlen werden anschließend miteinander multipliziert und es ergibt sich die Gödelnummer der Turingmaschine für die bestimmte Eingabe. Beispiel Das Eingabealphabet sei Σ = {a, b, c}. Die laufenden Primzahlen sind {p0 = 2, p1 = 3, p2 = 5, p3 = 7, p4 = 11, ...}. Nun wird jedem Buchstaben σi aus dem Eingabealphabet der Reihe nach eine Primzahl zugeordnet, wobei der Index i die Stelle des Vorkommens im Eingabewort kennzeichnet. Ein Eingabewort ist also als σ0 σ1 σ2 ... zu verstehen. Das Eingabealphabet in diesem Beipiel wird also durch a0 = 2, b0 = 3, c0 = 5 kodiert. Um nun auch die Stelle des Vorkommens in einem Wort zu kennzeichnen, werden jedem Buchstaben weitere Primzahlen zugeordnet, beginnend mit der ersten freien Primzahl. Also a1 = 7, b1 = 11, ... (s. Tabelle). 0 1 2 3 4 a 02 07 17 29 41 b 03 11 19 31 43 c 05 13 23 37 47 3 1.3 Turingmaschinen als Akzeptoren 1 REKURSIVE AUFZÄHLBARKEIT Die Gödelnummer des Eingabewortes cabba ergibt sich aus der Multiplikation der einzelnen Primzahlen für die Buchstaben. Hier also c0 a1 b2 b3 a4 = 5 · 7 · 19 · 31 · 41 = 845215. 1.3 Turingmaschinen als Akzeptoren Die von einer Turingmaschine M akzeptierte Sprache ist W , unter der Bedingung {ω | M hält unter der Eingabe ω}. Die von Me akzeptierte Sprache ist We . Eine Sprache heißt semi-rekursiv (bzw. semi-entscheidbar ), wenn sie eine Menge We für ein e ∈ N ist. Eine Sprache A heißt rekursiv (bzw. entscheidbar ), falls ihre charakteristische Funktion rekursiv (bzw. berechenbar) ist, wobei gilt: ( 0, f alls x ∈ / A, cA (x) := 1, f allsx ∈ A. Eine Sprache A heißt semi-rekursiv gdw. χA rekursiv (bzw. berechenbar) ist, wobei gilt: ( 1, f alls x ∈ A, χA (x) := undef., sonst. Beobachtung: Es gibt nicht berechenbare Funktionen f : Nk → N und somit auch nicht semi-entscheidbare Mengen. Definition Eine Sprache heißt 1.4 Satz von Rice Sei F 6= ∅ ein Menge von berechenbaren Funktionen, die aber nicht alle berechenbaren Funktionen enthält. Dann ist C(F) = {x|φx ∈ F } nicht rekursiv und nicht entscheidbar. Beispiele nicht entscheidbarer Mengen sind: K1 Fin Inf Tot Con Rec Cof = = = = = = = {x | Wx 6= ∅} = {x | δx hat nicht-leeren Definitionsbereich} {x | Wx ist endlich} {x | Wx ist unendlich} {x | δx ist total} {x | δx ist total und konstant} {x | Wx ist entscheidbar} {x | Wx ist endlich} Es gilt K0 ≡ K1 ≡ K, Inf ≡ Tot ≡ Con und Rec ≡ Cof. 4 2 2 2.1 PL1 – PRÄDIKATENLOGIK ERSTER STUFE PL1 – Prädikatenlogik erster Stufe Syntax Die folgende Tabelle gibt eine Übersicht über die Syntax der prädikaten Logik erster Stufe. Syntax Logische Symbole Syntaktische Symbole Variablen Nichtlogische Symbole Terme Atomare Formeln Formeln Sätze ¬, ∨, ∧, →, ←, ∀, ∃, = (, ) und , x, y, z f, g, h, ... (Funktionen) R, ... (Relationen) a, b, c, ... (Konstanten) a Konstantensymbol ⇒ a ist ein Term x Variable ⇒ x ist ein Term t1 , . . . , tn Terme, f n-stelliges Funktionensymbol ⇒ f (t1 , . . . , tn ) ist ein Term Gleichungen von Termen (t1 = t2 ) und Relationen (R(t1 , · · · , tn )) sind atomare Formeln. Eine Formel ist ein Satz, wenn in ihr keine freien Variablen vorkommen Beispiele für Terme: f (x, y), a, g(x) sind Terme. Atomare Formeln Seien t1 , t2 Terme, dann ist t1 = t2 eine atomare Formel. Ebenso gilt: Sind t1 , ..., tn Terme und R ein n-stelliges Relationssymbol, dann ist R(t1 , ...tn ) eine atomare Formel. Beispiele für atomare Formeln: f (x, y) = a, R(x, y), R(x, g(x)) sind atomare Formeln. Formeln F1 , F2 Formeln ⇒ ¬F1 , F1 ∧ F2 , F1 ∨ F2 , F1 → F2 , F1 ↔ F2 sind Formeln. F Formel, x Variable ⇒ ∃xF , ∀yF sind Formeln. Symbolmenge Man fasst die nichtlogischen Symbole in der Menge L zusammen. Dies ist die Symbolmenge“. Die Symbolmenge der Arithmetik heißt L∗ ” und umfasst die Symbole: Konstantensymbol einstelliges Funktionensymbol zweistelliges Funktionensymbol zweistelliges Funktionensymbol 0 0 Schreibweise: postfix: 00 , x0 Schreibweise: infix: x + y, x · y Schreibweise: infix: x < y +, · < 5 3 DIE UNENTSCHEIDBARKEIT DER PRÄDIKATENLOGIK ERSTER 2.2 Semantik STUFE Beispiele für Formeln über L∗ ∀x∀y(x · y = 0 → (x = 0 ∨ y = 0)) ∀x(x < x0 ∧ ¬∃z(x < z ∧ z < x0 )) Sätze In Formeln gibt es gebundene Variablen und freie Variablen. In der Formel ∀x(a+x = b) ist x eine gebundene Variable und a und b sind freie Variablen. Eine Formel ist ein Satz, wenn in ihr keine freien Variablen vorkommen. Interpretationen Um nun Sätzen Wahrheitswerte zuzuordnen werden Interpretationen der nichtlogischen Symbole benötigt. Ist L die Symbolmenge, dann ist M eine Interpretation von L, bestehend aus: • Einer Grundmenge M 6= ∅ (M = |M|), ( Universum“) ” • Für jedes n-stellige Funktionensymbol f aus L enthält M eine n-stellige Funktion f M : M n → M . • Für jedes n-stellige Relationensymbol R aus L enthält M eine n-stellige Relation RM ⊆ M n . • Für jedes Konstantensymbol a ∈ L enthält M eine Konstante aM ∈ M . Beispiel: Die Standardinterpretation N ∗ der Symbolmenge L∗ der Arithmetik ist gegeben durch • |N ∗ | = N (Menge der natürlichen Zahlen {1,2,3, ...}) ∗ • 0N = 0 ∗ ∗ • +N ¡ist die Addition, ·¢N die Multiplikation und ∗ tion (n)0N = (n + 1) auf N ∗ 0N ∗ die Nachfolgerfunk- ∗ • <N ist die Kleiner-Relation auf N, <N = {(m, n)|m < n} 2.2 Semantik s. Skript, S.8 Extrakt: M |= F , falls F unter M wahr wird. Zum Beispiel M • Sei F : t1 = t2 , dann ist M |= F gdw. tM 1 = t2 . • M |= ¬F , falls nicht M |= F • ... 3 Die Unentscheidbarkeit der Prädikatenlogik erster Stufe Satz von Church Das Entscheidungsproblem für logische Implikationen ist unentscheidbar. 6 6 ZUSAMMENFASSUNG 4 Beweise in der Prädikatenlogik erster Stufe Γ ` F soll heißen: F ist ableitbar aus Γ“ bzw. F ist beweisbar aus Γ“. Es gilt: ” ” Γ ` F gdw. Γ |= F . Theorie Eine Theorie ist eine Menge von Sätzen, die aus der Theorie ableitbar und in ihr enthalten sind. Es gilt also T ` F ; F ∈ T . Sei M eine L-Struktur, dan ist T h(M) = {F |F ist Satz über L, Γ |= F } eine Theorie (L Symbolmenge, M Interpretation). Eine Theorie über der (Standard-)Interpretation der Arithmethik T h(N ∗ ) heißt elementare Arithmetik. Eine Theorie ist vollständig, wenn für jeden Satz F über der Symbolmenge L der Theorie gilt: F ∈ T ∨ ¬F ∈ T . Eine Theorie ist axiomatisierbar, wenn es eine entscheidbare Menge Γ von Sätzen F über der Symbolmenge L gibt, sodass T = Γ` = {F |F Satz über L, Γ |= F }. Eine axiomatisierbare Theorie ist rekursiv-aufzählbar. Eine axiomatisierbare, vollständige Theorie ist entscheidbar. 5 Arithmetische Definierbarkeit Es sei L∗ die Symbolmenge der Arithmetik und N ∗ die Standardinterpretation der Arithmetik. 6 Zusammenfassung In diesem Kaptitel werden die wichtigsten Begriffe und Sätze zusammengefasst. 7