Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
kann durch ein TES ausgedrückt werden. Dies bedeutet zum einen, dass TESe in der Tat<br />
einen mächtigen Berechnungsformalismus darstellen <strong>und</strong> dass Techniken zur Analyse <strong>und</strong><br />
Untersuchung von TESen auch für andere Programmiersprachen verwendbar sein können.<br />
Andererseits bedeutet es aber auch, dass es kein automatisches Verfahren gibt, das die<br />
Terminierung von TESen immer entscheiden kann. Wir müssen uns also mit hinreichenden<br />
Verfahren zufrieden geben, die möglichst viele terminierende TESe erkennen. Aus dem<br />
Fehlschlag eines solchen Verfahrens kann man dann aber nicht auf die Nicht-Terminierung<br />
des TES schließen.<br />
Satz 4.2.1 (Unentscheidbarkeit des Halteproblems für TESe) Sei R ein TES über<br />
Σ <strong>und</strong> V <strong>und</strong> sei t ∈ T (Σ,V). Das Problem, ob t keine unendliche Reduktion mit → R hat<br />
(Halteproblem), ist unentscheidbar, aber semi-entscheidbar. Das Problem, ob R terminiert<br />
(das universelle Halteproblem, d.h., die Frage, ob alle Terme nur endliche Reduktionen<br />
haben), ist nicht einmal semi-entscheidbar.<br />
Beweisskizze. Für jede Turingmaschine TM kann man ein TES R(TM) angeben, das die<br />
Arbeitsweise von TM simuliert (siehe [HL78] bzw. [BN98, Abschnitt 5.1.1]). Damit folgen<br />
die Unentscheidbarkeitsaussagen des Satzes aus der Unentscheidbarkeit des Halteproblems<br />
für Turingmaschinen <strong>und</strong> aus der Tatsache, dass das universelle Halteproblem für Turingmaschinen<br />
nicht einmal semi-entscheidbar ist [Her71].<br />
Die Semi-Entscheidbarkeit des Halteproblems lässt sich wie folgt zeigen: Wir konstruieren<br />
einen Suchbaum wie in Abschnitt 3.1. Die Wurzel des Baums wird mit t markiert <strong>und</strong><br />
jeder Knoten mit der Markierung u hat als Kinder die Knoten mit den Markierungen v für<br />
alle Terme v mit u → R v. Aufgr<strong>und</strong> der Variablenbedingung V(r) ⊆ V(l) für alle Regeln<br />
l → r eines TES lässt sich jeder Term nur zu endlich vielen Termen in einem Schritt reduzieren.<br />
Der Suchbaum hat also einen endlichen Verzweigungsgrad. Der Term t terminiert<br />
gdw. jeder Pfad in dem Baum endliche Länge hat. Aufgr<strong>und</strong> des Lemmas von König (Satz<br />
4.1.3) bedeutet das also, dass t terminiert gdw. der Suchbaum nur endlich viele Knoten<br />
hat. Das Semi-Entscheidungsverfahren baut also zu t den Suchbaum auf. Dieses Verfahren<br />
terminiert mit Erfolg gdw. t nur endliche Reduktionen mit → R hat. ✷<br />
Allerdings existiert ein Spezialfall, in dem die Terminierung entscheidbar ist, nämlich<br />
bei TESen ohne Variablen auf den rechten Seiten der Regeln.<br />
Beispiel 4.2.2 Wir betrachten das folgende TES, das keine Variablen auf den rechten<br />
Seiten seiner Regeln hat.<br />
and(true,true) → true<br />
and(x,false) → false<br />
and(false,x) → and(true,not(true))<br />
not(false) → true<br />
not(true) → and(false,false)