Unentscheidbare Probleme Logikprobleme Aussagenlogik (Erinnerung Logische Strukturen“) ” • Formeln der Aussagenlogik verwenden Aussagenvariable A, B . . . und logische Operatoren ∧, ∨, ¬, → . . . • Resolutionssatz der Aussagenlogik: Die aussagenlogische Formel F ist genau dann unerfüllbar, wenn die leere Klausel � in der Resolutionshülle Res(F ) liegt. • Res(F ) ist eine endliche Menge, die mithilfe der aussagenlogischen Resolution aus F berechnet werden kann. • Konsequenz 1: Es ist entscheidbar, ob eine aussagenlogische Formel unerfüllbar ist. • Konsequenz 2: Es ist entscheidbar, ob eine aussagenlogische Formel allgemeingültig ist (denn F allgemeingültig gdw. ¬F unerfüllbar). WS 11/12 245 Unentscheidbare Probleme Prädikatenlogik (Erinnerung Logische Strukturen“) ” • Formeln der Prädikatenlogik verwenden Individuenvariable x, y . . . , Prädikate R, S . . . , logische Operatoren ∧, ∨, ¬, → . . . und Quantoren ∃, ∀. • Resolutionssatz der Prädikatenlogik: Die prädikatenlogische Formel F ist genau dann unerfüllbar, wenn die leere Klausel � in der Resolutionshülle Res(F ) liegt. • Res(F ) ist eine u.U. unendliche Menge • Die prädikatenlogische Resolution kann verwendet werden, um die Menge Res(F ) aufzuzählen, d.h. Res(F ) ist semi-entscheidbar. • Konsequenz 1: Es ist semi-entscheidbar, ob eine prädikatenlogische Formel unerfüllbar ist. • Konsequenz 2: Es ist semi-entscheidbar, ob eine prädikatenlogische Formel allgemeingültig ist (denn F allgemeingültig gdw. ¬F unerfüllbar) WS 11/12 246 Unentscheidbare Probleme Es geht nicht besser: Definition Sei Taut die Menge der allgemeingültigen prädikatenlogischen Aussagen (der Tautologien). Satz (Church 1936) Taut ist semi-entscheidbar, aber nicht entscheidbar. Allgemeingültigkeit verlangt die Gültigkeit in allen Strukturen. Was passiert, wenn wir uns nur auf interessante“ Strukturen einschränken ” (z.B. auf eine konkrete)? WS 11/12 247 Unentscheidbare Probleme Definition Sei A eine Struktur. Dann ist Th(A) die Menge der prädikatenlogischen Aussagen ϕ mit A |= ϕ. Diese Menge heißt die (elementare) Theorie von A. Beispiel Sei N = (N, +, ·, 0, 1). Dann gelten • (∀x∀y : x + y = y + x) ∈ Th(N ) • (∀x∃y : x + y = 0) ∈ / Th(N ) aber (∀x∃y : x + y = 0) ∈ Th((Z, +, 0)). WS 11/12 248 Unentscheidbare Probleme Theorie der natürlichen Zahlen Beispiel ∀x Ç Ä x > 2 ∧ ∃y (x = y + y ) Ä ä → ∃p ∃q x = p + q ∧ p > 1 ∧ q > 1 ∧ ∀u ∀v ((p = u · v ∨ q = u · v ) → (u = 1 ∨ v = 1)) å ä Dies ist ein seit über 250 Jahren offenes Problem (Goldbachsche Vermutung: Jede gerade Zahl größer als 2 ist Summe von zwei Primzahlen). WS 11/12 Ch. Goldbach (1690-1764) 249 Unentscheidbare Probleme Satz (Presburger 1929) Die Menge Th(N, +, 0, 1) ist entscheidbar. Dies ist die Menge der Aussagen ϕ mit N |= ϕ, die kein · enthalten. Beweis: siehe Logische Strukturen“ SS 2011 ” (www.tu-ilmenau.de/iti/lehre/lehre-ss2011/logische-strukturen/folien 12.7.11.pdf). M. Presburger (1904-43?) Satz (Skolem 1930) Die Menge Th(N, ·, 0, 1) ist entscheidbar. Dies ist die Menge der Aussagen ϕ mit N |= ϕ, die kein + enthalten. Beweis: Vorlesung Automatentheorie“. ” WS 11/12 T. Skolem (1887-1963) 250 Unentscheidbare Probleme Satz (1. Gödelscher Unvollständigkeitssatz, 1931) Die Menge Th(N ) der prädikatenlogischen Sätze ϕ mit N |= ϕ ist nicht semi-entscheidbar. Der Beweis verlangt diverse Lemmata. WS 11/12 E. Gödel (1906-1978) 251 Unentscheidbare Probleme Lemma Die Menge W der bei Eingabe von (0, 0, . . . , 0) nicht haltenden While-Programme ist nicht semi-entscheidbar. Beweis: Die Menge der bei Eingabe von (0, . . . , 0) haltenden While-Programme ist semi-entscheidbar, aber nicht entscheidbar. Also kann W nach dem Satz auf Folie 168 nicht semi-entscheidbar sein. Wir werden nun W auf die Menge der wahren prädikatenlogischen Sätze reduzieren. WS 11/12 252 Unentscheidbare Probleme Definition Eine partielle Funktion f : Nk ��� N ist arithmetisch repräsentierbar, wenn es eine prädikatenlogische Formel ϕ mit freien Variablen x1 , . . . , xk , y gibt, so daß für alle n1 , . . . , nk , m ∈ N gilt m = f (n1 , . . . , nk ) ⇐⇒ N |= ϕ(n1 , . . . , nk , m) Beispiel sei x < y Abkürzung für ¬x = y ∧ ∃z(x + z = y ). Es sind arithmetisch repräsentierbar: • Addition mittels (y = x1 + x2 ) • Multiplikation mittels (y = x1 · x2 ) • Ganzzahlige Division div mittels ∃r ((r < x2 ) ∧ (x1 = y · x2 + r )) • mod mittels ∃k((y < x2 ) ∧ (x1 = k · x2 + y )) • Sei G (x1 , x2 , x3 , y ) eine Formel, die die Funktion (n1 , n2 , n3 ) �→ n1 mod (1 + n2 · (n3 + 1)) arithmetisch repräsentiert WS 11/12 253 Unentscheidbare Probleme Zahlentheoretisches Lemma Für alle t ∈ N, n0 , n1 , . . . , nt ∈ N existieren a, b ∈ N, so daß für alle 0 ≤ i ≤ t gilt ni = a mod (1 + b · (i + 1)) . Zweck: jedes Tupel (n0 , n1 , . . . , nt ) natürlicher Zahlen kann durch Paar (a, b) natürlicher Zahlen kodiert werden. Beweis: Setze b = 2 · 3 · 4 · · · (t + 1). Dann sind die Zahlen 1 + b, 1 + b · 2, 1 + b · 3, . . . , 1 + b · (t + 1) paarweise teilerfremd. Nach dem Chinesischen Restsatz folgt die Existenz einer natürlichen Zahl 0≤a< � 1≤i≤t+1 (1 + b · i) wie gewünscht. WS 11/12 254 Unentscheidbare Probleme Lemma Aus einem WHILE-Programm P mit Variablen x1 , . . . , xk kann man eine prädikatenlogische Formel ϕP mit freien Variablen x0 , . . . , xk , y0 , . . . , yk berechnen, so daß für alle mi , ni ∈ N gilt N |= ϕP (m0 , . . . , mk , n0 , . . . , nk ) ⇐⇒ P stoppt bei Eingabe von m0 , . . . , mk mit n0 , . . . , nk . WS 11/12 255 Unentscheidbare Probleme Beweis: per Induktion über den Aufbau von P: • P hat die Form (xi := c) für ein c ∈ {0, 1} � ϕP = (yi = c) ∧ k�=i (yk = xk ) • P hat die Form (xi := xj + c) für ein c ∈ {0, 1} � ϕP = (yi = xj + c) ∧ k�=i (yk = xk ) • P hat die Form (xi := xj − c) für ein c ∈ {0, 1} � ϕP = (yi + c = xj ∨ (xj = 0 ∧ yi = 0)) ∧ • P hat die Form Q;Ç R ϕP = ∃z0 . . . ∃zk : WS 11/12 k�=i (yk = xk ) ϕQ (x0 , . . . , xk , z0 , . . . , zk ) ∧ ϕR (z0 , . . . , zk , y0 , . . . , yk ) å 256 Unentscheidbare Probleme • P hat die Form While xi �= 0 Do Q End ϕP = ∃t∃a0 ∃b0 . . . ∃ak ∃bk : � G (a� , b� , 0, x� ) (1) 0≤�≤k ∧ ∀j < t∃v0 ∃w0 . . . ∃vk ∃wk : (2) ϕQ (v0 , . . . , vk , w0 , . . . , wk ) � (3) G (a� , b� , j, v� ) (4) G (a� , b� , j + 1, w� ) (5) ∧ ∧ ∧ � � 0≤�≤k ∧ vi �= 0 G (a� , b� , t, y� ) (6) (7) 0≤�≤k ∧ yi = 0 WS 11/12 0≤�≤k (8) 257 Unentscheidbare Probleme Erläuterung: t Anzahl der Schleifendurchläufe (a� , b� ) kodiert die Folge (x�0 , x�1 , . . . x�t ), wobei x�j der Wert der Variablen x� nach j Schleifendurchläufen ist (1) erster durch a� , b� kodierter Wert ist x� (2) in jedem Schritt j gibt es Belegungen der Variablen, die (3)(6) erfüllen (3) Schleifenkörper Q stoppt bei Start mit v0 , . . . , vk mit Belegung w0 , w1 , . . . wk (4) v� = x�j ist Eintrag Nummer j +1 des durch (a� , b� ) kodierten Tupels (5) w� = x�j+1 ist Eintrag Nummer j + 2 des durch (a� , b� ) kodierten Tupels (6) Abbruchbedingung ist noch nicht erfüllt (7) y� = x�t+1 ist Eintrag Nummer t + 1 des durch (a� , b� ) kodierten Tupels (8) Abbruchbedingung ist im Schritt t erfüllt WS 11/12 258 Unentscheidbare Probleme Satz Aus einem While-Programm P kann eine Aussage ψP berechnet werden, so daß N |= ψP ⇐⇒ P hält bei Eingabe von (0, . . . , 0) . Beweis: Betrachte ψP = ∃y0 , . . . , yk : ϕP (0, . . . , 0, y0 , . . . , yk ) , wobei ϕP Formel aus vorherigem Lemma ist. WS 11/12 259 Unentscheidbare Probleme Satz (1. Gödelscher Unvollständigkeitssatz) Die Menge Th(N ) der prädikatenlogischen Aussagen ϕ mit N |= ϕ ist nicht semi-entscheidbar. Beweis: Es gilt P∈W ⇐⇒ ⇐⇒ ⇐⇒ P hält bei Eingabe von (0, . . . , 0) nicht N |= ¬ψP ¬ψP ∈ Th(N ) . Da ¬ψP aus P berechnet werden kann, erhalten wir W ≤ Th(N ). Da W nicht semi-entscheidbar ist, ist auch Th(N ) nicht semi-entscheidbar (siehe Lemma 32 auf Folien 192). WS 11/12 260 Unentscheidbare Probleme Bereits kleine Fragmente der Prädikatenlogik liefern unentscheidbare Probleme über N . Ein besonders prominentes Beispiel ist Hilberts 10. Problem: Satz (Matiyasevich 1970) Das folgende Problem ist unentscheidbar: EINGABE: Zwei Polynome p(x1 , . . . , xn ) und q(x1 , . . . , xn ) (in mehreren Variablen) mit Koeffizienten aus N. FRAGE: Existieren a1 , . . . , an ∈ N mit p(a1 , . . . , an ) = q(a1 , . . . , an )? WS 11/12 Y. Matiyasevich (1947-) 261 Unentscheidbare Probleme Beweissysteme Definition Sei L ⊆ Σ∗ eine Sprache. Ein Paar (B, f ) ist ein Beweissystem für L, falls • B ⊆ Γ∗ eine entscheidbare Sprache und • f : B → L eine berechenbare surjektive Funktion ist. Beispiel • L ist die Menge der unerfüllbaren aussagenlogischen Klauselmengen • B ist die Menge der Paare (F, (F1 , F2 , . . . , Fn )), wobei • F eine endliche aussagenlogische Klauselmenge • (F1 , . . . , Fn ) mit Fn = � ein Tupel aussagenlogischer Formeln ist, so daß für alle 1 ≤ k ≤ n gilt: • Fk ∈ F oder • es gibt i, j < k und Fk ist aussagenlogische Resolvente von Fi und Fj . • f (F, (F1 , . . . , Fn )) = F WS 11/12 262 Unentscheidbare Probleme Satz Sei L �= ∅ eine Sprache. Dann sind äquivalent: 1 L ist semi-entscheidbar. 2 Es gibt ein Beweissystem für L. Beweis: (1)⇒(2): Sei L semi-entscheidbar. Dann existiert eine Typ-0-Grammatik G = (Σ, N, S, P) mit L(G ) = L (vgl. Satz 26 auf Folie 161). Konstruiere ein Beweissystem wie folgt: • B ist die Menge der Tupel (w1 , w2 , . . . , wn ) mit • w1 = S, • wi ⇒G wi+1 für alle 1 ≤ i < n und • w n ∈ Σ∗ . Diese Menge ist entscheidbar. • f (w1 , . . . , wn ) = wn für alle (w1 , . . . , wn ) ∈ B ist berechenbar und surjektiv auf L. WS 11/12 263 Unentscheidbare Probleme (2)⇒(1): Sei (B, f ) ein Beweissystem für L. Dann ist B ⊆ Γ∗ entscheidbar. Also existiert eine berechenbare surjektive Funktion g : N → B. Semi-Entscheidungsverfahren für L: Input: w ∈ Σ∗ n := 0 While f (g (n)) �= w Do n := n + 1 Endwhile Output w gehört zu L“ ” WS 11/12 264 Unentscheidbare Probleme Korollar Es gibt kein Beweissystem für Th(N ), die Menge der prädikatenlogischen Sätze ϕ mit N |= ϕ. Beweis: Wir nehmen indirekt an, daß es ein solches Beweissystem gäbe. Dann wäre Th(N ) also semi-entscheidbar, im Widerspruch zum 1. Gödelschen Unvollständigkeitssatz. WS 11/12 265 Unentscheidbare Probleme Beispiele 1 Strukturen A mit entscheidbarer Theorie Th(A): • (N, +), (N, ·) • (N, +, Vk ), wobei Vk : N → N mit Vk (0) = 0 und Vk (n) ist größte Potenz von k, die n teilt • (R, +, ·), (C, +, ·) 2 Strukturen A, deren Theorie Th(A) unentscheidbar, aber semi-entscheidbar ist: ??? 3 Strukturen A, deren Theorie Th(A) nicht semi-entscheidbar ist: • (N, +, ·), (N, +, |), (N, +, {(n2 | n ∈ N}) • (N, +, Vk , V� ), falls i = j = 0 aus k i = �j folgt • (Σ∗ , ·) für |Σ| ≥ 2 WS 11/12 266 Unentscheidbare Probleme Satz Sei A eine Struktur, so daß Th(A) semi-entscheidbar ist. Dann ist Th(A) entscheidbar. Beweis: Für eine prädikatenlogische Aussage ϕ sei f (ϕ) = ¬ϕ. Dann gilt ϕ∈ / Th(A) ⇐⇒ ⇐⇒ ⇐⇒ A �|= ϕ A |= ¬ϕ = f (ϕ) f (ϕ) ∈ Th(A) . Also ist f eine Reduktion des Komplements von Th(A) auf Th(A), d.h. Th(A) ≤ Th(A). Damit ist auch Th(A) semi-entscheidbar (Lemma 32 auf Folie 192). Also ist Th(A) entscheidbar (Satz auf Folie 168). WS 11/12 267