Logik für Informatiker Unser Programm für Heute Overview Ein

Werbung
Logik
Chr. Schubert
Logik für Informatiker
Einleitung
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Ein einleitendes Beispiel
Inhalt der Vorlesung
(Plan)
Organisatorisches
Organisatorisches
Literatur
Literatur
Logik und Informatik
basierend auf
Folien von Prof. Thomas Schwentick
Inhalt der Vorlesung (Plan)
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Organisatorisches
Sommersemester 2011
Version vom 5. April 2011(14:48 Uhr)
Literatur
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Ein einleitendes Beispiel
Logik
Ein einleitendes
Beispiel
Dr. Christoph Schubert
Overview
Unser Programm für Heute
Ein Affe, ein Stuhl und einige Bananen
Ein Affe ist in einem Raum
eingeschlossen
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
An der Decke hängt eine
Bananenstaude
Logik und Informatik
Es steht ein Stuhl im Raum
Inhalt der Vorlesung (Plan)
Organisatorisches
Literatur
Kann der Affe die Bananen erreichen?
Warum?
Organisatorisches
Literatur
Logik
Was wir wissen
�
Chr. Schubert
Nehmen wir an, wir wissen das Folgende über Tiere, Affen,
Bananen, Gegenstände, usw.:
(1) Ein Tier, das Arme hat und nahe bei einem Ding ist, kann
dieses Ding erreichen
(2) Ein Tier auf einem hohen Gegenstand, der unter den Bananen
steht, ist nahe bei den Bananen
(3) Wenn ein Tier einen Gegenstand zu einem Ding schiebt, und
alle sind im Raum, dann ist das Ding nahe am Boden oder
der Gegenstand ist unter dem Ding
(4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf dem
Gegenstand
(5) Der Affe ist ein Tier, das Arme hat
(6) Der Stuhl ist ein hoher Gegenstand
(7) Der Affe, der Stuhl, die Bananen sind im Raum
(8) Der Affe kann den Stuhl unter die Bananen schieben
(9) Die Bananen sind nicht nahe am Boden
(10) Der Affe kann den Stuhl ersteigen
�
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
formal
Erreichen(x, y )
Arme(x)
Nah(x, y )
Auf(x, y )
Unter(x, y )
Hoch(x)
In(x)
Schieben(x, y , z)
Steigen(x, y )
Ein einleitendes
Beispiel
Logik und Informatik
Vorgehensweise
Wir gehen systematisch in vier Schritten vor:
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
II. Verknüpfung von Aussagen Formalisieren:
Wir präzisieren die Bedeutung der Verknüpfung von Aussagen
in die Sprache der Mathematik
III. Schlussweisen Formalisieren:
Wir legen fest, welche Arten von Schlüssen wir ziehen dürfen
IV. Schlussweisen Anwenden:
Wir wenden in III erlaubte Schlussweisen auf die
formalisierten Aussagen (1) – (10) an, um (11) herzuleiten
Bemerkung: Eine exakte Definition der im Folgenden verwendeten
Begriffe erfolgt erst in späteren Kapiteln. Hier geht es nur ums
“Prinzip”!
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Umgangssprachlich
x kann y erreichen
x hat Arme
x kann nahe bei y sein
x kann auf y sein
x kann unter y sein
x ist hoch
x ist im Raum
x kann y zu z schieben
x kann auf y steigen
Chr. Schubert
Es erscheint möglich, dass die Frage durch “logische Schlüsse” aus
den Aussagen (1) – (10) beantwortet werden kann
I. Elementaraussagen Formalisieren:
Wir übertragen die vorkommenden Begriffe und einfachen
Aussagen in die Sprache der Mathematik
Literatur
Gilt dann auch: (11) Der Affe kann die Bananen erreichen ?
Schritt I: Elementaraussagen Formalisieren
Logik
Folgt (11) aus (1) – (10)?
Schritt II: Verknüpfung von Aussagen
Formalisieren (1/4)
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Inhalt der Vorlesung
(Plan)
Organisatorisches
Organisatorisches
Literatur
Literatur
Umgangssprachlich
A und B
wenn A dann B
A oder B
nicht A
für alle x gilt...
formal
A∧B
A→B
A∨B
¬A
∀x . . .
Logik
Schritt II: Verknüpfung von Aussagen
Formalisieren (2/4)
Chr. Schubert
Ein einleitendes
Beispiel
(1) Ein Tier, das Arme hat und nahe bei einem Ding ist, kann
dieses Ding erreichen
∀x, y (Arme(x) ∧ Nah(x, y )) → Erreichen(x, y )
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
(10) Der Affe kann den Stuhl ersteigen
Steigen(Affe, Stuhl)
(11) Der Affe kann die Bananen erreichen
Erreichen(Affe, Bananen)
Literatur
(7) Der Affe, der Stuhl, die Bananen sind im Raum
∀x, y , z In(x) ∧ In(y ) ∧ In(z) ∧ Schieben(x, y , z) →
�
�
Nah(z, Boden) ∨ Unter(y , z)
¬Nah(Bananen, Boden)
Organisatorisches
Hoch(Stuhl)
�
(9) Die Bananen sind nicht nahe am Boden
Inhalt der Vorlesung
(Plan)
(6) Der Stuhl ist ein hoher Gegenstand
(3) Wenn ein Tier einen Gegenstand zu einem Ding schiebt, und
alle sind im Raum, dann ist das Ding nahe am Boden oder der
Gegenstand ist unter dem Ding
Schieben(Affe, Stuhl, Bananen)
Ein einleitendes
Beispiel
Arme(Affe)
Nah(x, Bananen)
(8) Der Affe kann den Stuhl unter die Bananen schieben
Chr. Schubert
(5) Der Affe ist ein Tier, das Arme hat
�
�
∀x, y Auf(x, y ) ∧ Unter(y , Bananen) ∧ Hoch(y ) →
Schritt II: Verknüpfung von Aussagen
Formalisieren (4/4)
Logik
Logik und Informatik
(4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf dem
Gegenstand
∀x, y Steigen(x, y ) → Auf(x, y )
(2) Ein Tier auf einem hohen Gegenstand, der unter den Bananen
steht, ist nahe bei den Bananen
�
Schritt II: Verknüpfung von Aussagen
Formalisieren (3/4)
In(Affe) ∧ In(Bananen) ∧ In(Stuhl)
Logik
Chr. Schubert
Schritt III: Schlussweisen Formalisieren
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Inhalt der Vorlesung
(Plan)
Organisatorisches
Organisatorisches
Literatur
Literatur
(A) Aus B1 und (B1 ∧ · · · ∧ Bn ) → C folgt (B2 ∧ · · · ∧ Bn ) → C
(B) Aus B und B → C folgt C
(C) Aus ¬C1 und C1 ∨ · · · ∨ Cn folgt C2 ∨ · · · ∨ Cn
(D) Aus ∀x F (x) folgt F (a) für jedes Objekt a und jede Formel F
Logik
Zusammenfassung
Chr. Schubert
Aussagen:
Schlussweisen:
(1) ∀x, y (Arme(x) ∧ Nah(x, y )) →
Erreichen(x, y )
(A) Aus B1 und
(B1 ∧ · · · ∧ Bn ) → C
folgt
(B2 ∧ · · · ∧ Bn ) → C
(2) ∀x, y (Auf(x, y )∧
Unter(y , Bananen) ∧ Hoch(y )) →
Nah(x, Bananen)
(3) ∀x, y , z (In(x) ∧ In(y ) ∧ In(z)∧
Schieben(x, y , z)) →
(Nah(z, Boden) ∨ Unter(y , z))
(4) ∀x, y Steigen(x, y ) → Auf(x, y )
(5) Arme(Affe)
(6) Hoch(Stuhl)
(7) In(Affe) ∧ In(Bananen) ∧ In(Stuhl)
(B) Aus B und B → C
folgt C
Ein einleitendes
Beispiel
�
Logik und Informatik
Organisatorisches
Literatur
�
(D) Aus ∀x F (x) folgt
F (a) für jedes Objekt
a und jede Formel F
�
�
(9) ¬Nah(Bananen, Boden)
In(Affe) ∧ In(Bananen) ∧ In(Stuhl)∧
�
�
Logik
Chr. Schubert
�
Auf(Affe, Stuhl)
Anwendung von (C) auf (13) und (9) ergibt:
�
(13)
(14)
(15)
In den ersten beiden Schritten
�
�
�
Nah(Affe, Bananen)
�
�
�
Erreichen(Affe, Bananen)
�
�
Genau genommen haben wir nur die Syntax (“Wie sehen
Formeln aus”)aber nicht ihre Semantik (“Was bedeuten die
Formeln”) festgelegt
Mehr dazu in Kapitel 2
Im dritten Schritt haben wir dann ein Beweissystem festgelegt
und dieses im vierten Schritt angewendet
Dies ist eine für die Logik typische Vorgehensweise:
�
Dann Anwendung von (D) auf (1) und (A), (B) mit (5), (17):
Literatur
Zweifache Anwendung von (D) auf (4) ergibt:
Literatur
Analog liefert Anwendung von (D) auf (2) und dann (A) und
(B) mit (6), (14), (16):
(17)
(12)
haben wir eine Formale Sprache festgelegt
Organisatorisches
(16)
Organisatorisches
�
I Elementaraussagen Formalisieren
II Verknüpfung von Aussagen Formalisieren
Inhalt der Vorlesung
(Plan)
Anwendung von (B) auf (15) und (10) ergibt:
Inhalt der Vorlesung
(Plan)
Was haben wir gerade getan?
Logik und Informatik
�
Nah(Bananen, Boden) ∨ Unter(Stuhl, Bananen)
Steigen(Affe, Stuhl) → Auf(Affe, Stuhl)
Ein einleitendes
Beispiel
�
Schieben(Affe, Stuhl, Bananen) →
Nah(Bananen, Boden) ∨ Unter(Stuhl, Bananen)
(11) Erreichen(Affe, Bananen)
�
�
(Mehrfache) Anwendung von (A), (B) auf (12) mit (7), (8)
ergibt:
(10) Steigen(Affe, Stuhl)
Schritt IV: Schlussweisen Anwenden (2/2)
Ein einleitendes
Beispiel
Logik und Informatik
Unter(Stuhl, Bananen)
(8) Schieben(Affe, Stuhl, Bananen)
Chr. Schubert
Mehrmaliges Anwenden von (D) auf (3) liefert:
�
Inhalt der Vorlesung
(Plan)
(C) Aus ¬C1 und
C1 ∨ · · · ∨ Cn folgt
C2 ∨ · · · ∨ Cn
Logik
Schritt IV: Schlussweisen Anwenden (1/2)
Festlegen, welches die erlaubten Formeln sind
Festlegen, was die Formeln bedeuten
Festlegen von syntaktischen Regeln, mit denen aus gegebenen
Formeln andere Formeln hergeleitet werden können
All dies werden wir im Verlauf der Vorlesung anhand
verschiedener “Logiken” präzisieren
Zwei wichtige Aspekte dieses Ansatzes:
�
�
Präzisierung (“Logik für Penible”)
Automatisierung (“Logik für Faule”)
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Overview
Logik
Chr. Schubert
Zur Geschichte der Logik (1/2)
Ein einleitendes
Beispiel
Logik und Informatik
Ein einleitendes Beispiel
Logik
Chr. Schubert
Ein einleitendes
Beispiel
um 325 v.Chr. Aristoteles: Erstes System der Logik
um 1700 Leibniz formuliert das Ziel einer universellen
Sprache zur Formulierung aller mathematischen
Aussagen und eines Kalküls zur Herleitung aller
wahren Aussagen
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
1854 Boole: Formalisierung der Aussagenlogik
1879 Frege: Formalisierung der Prädikatenlogik
Inhalt der Vorlesung (Plan)
um 1880 Cantorsche Mengenlehre, Rückführung der Analysis
auf Arithmetik und der Arithmetik auf die
Mengenlehre
Organisatorisches
um 1900 Cantorsche Mengenlehre führt zu Widersprüchen
� Russels Antinomie : “Menge aller Mengen, die
sich nicht selbst als Element enthalten”
→ Notwendigkeit einer neuen Grundlegung der
Mathematik/Mengenlehre
Literatur
Zur Geschichte der Logik (2/2)
um 1900 Hilberts Programm zur Formalisierung der
Mathematik.
(1) Kann jede mathematische Aussage durch
syntaktisches Schließen bewiesen oder
widerlegt werden?
(2) Gibt es ein Verfahren, das zu jeder
mathematischen Aussage automatisch
entscheidet, ob sie wahr oder falsch ist?
1930 Gödelscher Vollständigkeitssatz: Jeder aus einem
Axiomensystem A folgende Satz ist auch aus A
syntaktisch ableitbar
1931 Gödelsche Unvollständigkeitssätze: z.B..: Ist die
Arithmetik widerspruchsfrei, so kann dies nicht mit
ihren eigenen Mitteln bewiesen werden.
1936 Church, Turing: Es gibt kein Programm, das für alle
mathematischen Aussagen entscheidet, ob sie wahr
oder falsch sind
Gödel und Church, Turing: Hilberts Programm kann nicht
funktionieren!
Logik
Chr. Schubert
Logik und Informatik
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Logik
Chr. Schubert
Ein einleitendes
Beispiel
�
�
Wir beschäftigen uns hier mit Anwendungen der Logik in der
Informatik
In der Informatik ist “alles eine Nummer kleiner” als in der
Mathematik:
�
�
�
Vieles ist endlich statt unendlich
Z.B.: statt Arithmetik und Mengenlehre werden häufig
endliche diskrete Strukturen (Graphen!) verwendet
Auch die verfügbare Zeit zur Lösung eines Problems ist
knapper:
�
�
�
Beweis des Satzes von Fermat: > 350 Jahre
Antwortzeit bei Google: ein paar Millisekunden
Beide genannten Aspekte der logischen Fundierung kehren
wieder:
�
�
Präzisierung (Spezifikation)
Automatisierung
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Anwendungen von Logik in der Informatik
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik, Hardware und automatische Verifikation
�
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Es folgen einige Beispiele für die Anwendung von Logik in der
Informatik.
�
Organisatorisches
Literatur
�
1. Aussagenlogik und Computer-Hardware.
�
2. Logik-Programmierung
Die fundamentale Bedeutung der Aussagenlogik für die
Computer-Hardware lernen Sie im Modul Rechnerstrukturen
Insbesondere sind Prozessoren “in Silizium gegossene
Aussagenlogik”
logische Methoden spielen bei der automatischen Verifikation
von Hardware eine wichtige Rolle, z.B. Model Checking
Die Grundidee des Model Checking ist wie folgt:
�
3. Relationale Datenbanken
4. Logik und Software-Verifikation
�
Dabei werden sehr unterschiedliche Logiken verwendet, die wir
nicht alle in dieser Vorlesung betrachten können.
�
�
�
Logik-Programmierung
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
�
Einschränkung auf Horn-Klauseln:
∀x1 · · · xk (A1 ∧ · · · ∧ Am ) → B
�
Schreibweise: B :- A1 , A2 ,...,Am
�
Um festzustellen, ob eine Aussage G aus dem
Logik-Programm P folgt, wird ¬G zu P hinzugenommen und
getestet, ob sich ein Widerspruch ergibt
�
Dieser Test kann durch SLD-Resolution durchgeführt werden
�
Programmiersprache: PROLOG
→ Deklarative Programmierung
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Logik
ANGESTELLTE
NAME
PERSNR
GEHALT
ABT
Ochs
17
48.000
4
Faninal
12
63.000
12
Lerchenau
8
90.000
13
Finde Namen und Gehalt aller Angestellten der Abt. 12, die mehr als
50.000 Euro verdienen
Die Anfragesprache SQL entspricht der Prädikatenlogik:
� SQL-Anfrage SELECT Name, Gehalt FROM Angestellte
WHERE Gehalt > 50.000 AND ABT = 12
� entspricht der Formel:
{ (X , Y ) | ∃Z1 , Z2 ANGESTELLTE(X , Z1 , Y , Z2 ) ∧
Z2 = 12 ∧ Y > 50.000 }
�
Ein einleitendes
Beispiel
Chr. Schubert
Relationale Datenbanken sind auf einem sehr einfachen
mathematisch/logischen Modell aufgebaut: relationale Strukturen
� Beispielrelation und -anfrage
Literatur
Chr. Schubert
Modelliere das zu verifizierende System durch ein
Transitionssystem M mit endlich vielen Zuständen
Drücke Systemeigenschaften durch Formeln einer geeigneten
Logik aus
Teste automatisch, ob die Formel im System gilt
Dabei werden “nicht-klassische” Temporallogiken verwendet,
die speziell auf die zu überprüfenden Eigenschaften von
Transitionssystemen (insbesondere auf zeitliche Aspekte)
zugeschnitten sind
Wir werden in der Vorlesung ähnliche Logiken kennen lernen:
Modallogiken
Relationale Datenbanken
Organisatorisches
Logik
Relationale Algebra, Relationenkalkül und SQL sind (im
Prinzip) gleich ausdrucksstark und können effizient ineinander
übersetzt werden
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Logik und Software-Verifikation
(Partielle) Korrektheitsbeweise für Programme können zum
Beispiel in der Hoare-Logik geführt werden:
�
�
Formeln der Art {p} P {q}:
soll ausdrücken: Wenn vor Ausführung des Programms P
Bedingung p gilt, so gilt nach Ausführung von P Bedingung q
Logik
Chr. Schubert
�
�
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Ein einleitendes Beispiel
Inhalt der Vorlesung
(Plan)
Organisatorisches
Organisatorisches
Literatur
Literatur
Logik und Informatik
Beispiel:
Inhalt der Vorlesung (Plan)
{x ≤ 4} y := 3 ∗ x + 1 {(x ≤ 4) ∧ (y ≤ 13)}
�
Overview
Axiome (Beispiel): {p(t)} x := t {p(x)}
Organisatorisches
Beweisregeln (Beispiel):
Falls {p}P1 {q} und {q}P2 {r } so auch {p} P1 ; P2 {r }
Korrektheitsbeweise sind dann Beweise von Formeln vom Typ
{p} P {q}
Literatur
Solche Logiken werden in dieser Vorlesung nicht betrachtet
Inhalt der Vorlesung (Plan)
�
�
Einleitung
A: Aussagenlogik
�
�
�
Einige Lernziele der Vorlesung
Ein einleitendes
Beispiel
Logik und Informatik
�
Grundlagen der Modallogik:
Syntax, Semantik, Eigenschaften, Algorithmen, Rahmen und
Korrespondenz
Erfüllbarkeit modallogischer Formeln: Tableaukalküle
C: Prädikatenlogik
�
�
�
Grundlagen der Prädikatenlogik: Syntax, Semantik,
Normalformen
Erfüllbarkeit prädikatenlogischer Formeln:
Herbrand-Modelle, Unifikation, Resolution, PROLOG
Weitere Eigenschaften der Prädikatenlogik:
Unentscheidbarkeit, Löwenheim-Skolem, Kompaktheit,
Lokalität, Auswertung
Logik
Chr. Schubert
Ein einleitendes
Beispiel
�
Grundwissen
Inhalt der Vorlesung
(Plan)
�
Organisatorisches
�
Literatur
�
�
B: Modallogik
�
�
Grundlagen der Aussagenlogik:
Syntax, Semantik, Äquivalenzen, Normalformen
Erfüllbarkeit aussagenlogischer Formeln:
Schließen und Folgern, Resolution, Horn-Logik
Logik
Chr. Schubert
�
�
Verhältnis von Syntax und Semantik
Grundlagen von Aussagenlogik, Modallogik und
Prädikatenlogik
Möglichkeiten und Grenzen der betrachteten Logiken
Grundlagen von Beweissystemen
Grundlagen der Logischen Programmierung
Handwerkszeug
�
�
�
�
�
�
Formalisieren und Modellieren mit mathematischer Logik
Sicherheit im Umgang mit logischen Formeln
Auswahl eines geeigneten logischen Systems für ein
gegebenes Problem
Umgang mit Beweiskalkülen, insbesondere Resolution,
Anwendung auf konkrete Situationen
Anwendung der betrachteten Algorithmen
Schreiben kleiner PROLOG-Programme
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Overview
Ein einleitendes Beispiel
Logik
Chr. Schubert
Die Bestandteile der Veranstaltung
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Inhalt der Vorlesung
(Plan)
Organisatorisches
Organisatorisches
Literatur
Logik und Informatik
Inhalt der Vorlesung (Plan)
Organisatorisches
�
Das Team
�
Vorlesung
�
Übungsaufgaben
�
Übung
�
Klausur
�
Die Veranstaltung im Web
Literatur
Literatur
Das Team
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Dr. Christoph Schubert
(Vorlesung)
[email protected]
Büro: Raum 310, GB IV, Südcampus
Sprechstunde: Donnerstag, 13:00 – 14:00 Uhr
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Vorlesung
�
�
�
�
Termin: Mittwoch, 8:15 – 9:45 Uhr, E23, OH14
Durchgängiger Einsatz von Folien
Erläuterungen an der Tafel
Folien werden online bereitgestellt, kein Skript
Zweck der Vorlesung:
�
Vermittlung aller wesentlichen Inhalte
Gebrauchsanleitung für die Vorlesung:
Dr. Ingo Battenfeld
�
Denken Sie mit
(Übungen)
[email protected]
Büro: Raum 307c, GB IV, Südcampus
Sprechstunde: Montag, 12:30 – 13:30 Uhr
�
Stellen Sie Fragen
�
Schreiben Sie nur das Nötigste mit
Nachbereitung:
�
Arbeiten Sie die Vorlesung nach
�
Geben Sie sich dabei erst zufrieden, wenn Sie jedes Detail
jeder Folie (mindestens einmal!) verstanden haben
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Übungsaufgaben (1/3)
Zweck der Übungsaufgaben
�
Wiederholung der Inhalte der Vorlesung
�
Erkennen, wo es mit dem Verständnis noch hapert
�
Entwicklung der Fähigkeit, die in der Vorlesung gelernten
Techniken anzuwenden
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Ist die Bearbeitung der Übungsaufgaben Pflicht?
Übungsaufgaben (2/3)
Gruppenarbeit
�
Sie können die Übungsaufgaben zusammen mit anderen
bearbeiten und gemeinsam Lösungswege suchen
�
Das Aufschreiben der Lösungen erfolgt aber individuell
�
Wenn mehrere Personen wortgleiche Lösungen abgeben,
erhalten sie alle 0 Punkte
�
�
DPO Informatik: Nein
Ihre Lösungen werden korrigiert
Unser Tipp:
�
es gibt keinen einfacheren Weg zum Nichtbestehen der Klausur als
die Übungsaufgaben nicht zu bearbeiten
Zu jedem Übungsblatt wird nach der Besprechung in den
Übungen eine Beispiel-Lösung veröffentlicht
�
Wichtig: es kann mehrere Lösungswege geben, die
Beispiel-Lösung ist immer nur eine davon
�
Lösungen sind nur vollständig, wenn sie begründet und
erläutert werden
Beweise: nur wenn ausdrücklich in Aufgabenstellung erwähnt
Logik
Chr. Schubert
�
2 Blätter mit Präsenzaufgaben (erste Übungsstunden)
�
12 Übungsblätter mit Abgabe der Lösung
1 Wiederholungsblatt am Ende
�
Übungsaufgaben-Lebenszyklus
�
Ausgabe Übungsblatt: mittwochs, Woche n nach der
Vorlesung. Start: nächste Woche
�
Fragen zum Übungsblatt: Übung Woche n + 1
�
Abgabe Lösungen: Mittwoch Woche n + 1 (8:14 Uhr)
�
Besprechung: Übung Woche n + 2
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Logik
Übung
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Anzahl und Art der Übungsblätter
Logik und Informatik
in der Vorlesung
sonstige Möglichkeiten: siehe Übungsblatt
�
�
Ein einleitendes
Beispiel
Abgabe
�
BPO Datenanalyse: Ja
Anforderung an Lösungen
Chr. Schubert
Abgabe und Korrektur:
BPO Informatik: Ja
Übungsaufgaben (3/3)
Logik
Ein einleitendes
Beispiel
�
In den Übungen werden die Lösungen der Übungsaufgaben
von den Teilnehmern vorgeführt
Logik und Informatik
�
Alternative Lösungswege werden diskutiert und Fragen
werden besprochen
Organisatorisches
�
Aktive Teilnahme, insbesondere Bereitschaft zum Vorführen
von Lösungen
Raum 228, GB IV, Südcampus, Termine:
�
�
�
�
�
Montags (14:15–15:00, 15:15–16:00)
Dienstags (10:15–11:00, 11:15–12:00)
Anmeldung zu den Übungsgruppen: hier und jetzt!
Beginn der Übungsgruppen:
�
�
11. April
In der Woche vom 11. April wird ein Übungsblatt mit
“Präsenzaufgaben” besprochen
Inhalt der Vorlesung
(Plan)
Literatur
Studienleistung
Nur für Bachelorstudierende
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Inhalt der Vorlesung
(Plan)
Organisatorisches
Um zur Klausur zugelassen zu werden, müssen Sie:
�
auf mindestens drei der zwölf abzugebenen Aufgabenblätter
mindestens 50% der auf diesem Blatt maximal zu
erreichenden Punkte erreichen
�
2. Klausur: 22. 8. 2011, 9:00 Uhr bis 11:00 Uhr
�
Folien, Übungsaufgaben und handschriftliche Mitschriften
dürfen verwendet werden
Anmeldung:
�
Logik
Chr. Schubert
https://ls10-wiki.cs.uni-dortmund.de/logik/
Logik und Informatik
�
Vorlesungsankündigung und aktuelle Mitteilungen,
�
Logbuch mit dem Verlauf der Vorlesung
�
Vorlesungsfolien
Informationen zur Übung:
�
�
�
das aktuelle Übungsblatt (mittwochs)
Beispiel-Lösungen
aktuelle Hinweise zu den Übungsaufgaben
INPUD-Forum
�
Im INPUD-Forum gibt es eine moderierte Diskussionsgruppe
zur Logik
�
http://inpud.cs.uni-dortmund.de/phpbb/ → Logik
Dort können Sie Fragen stellen, mit anderen über Vorlesung
und Übung diskutieren, sich Lernpartner suchen usw.
Inhalt der Vorlesung
(Plan)
Organisatorisches
Organisatorisches
Literatur
Für die Bachelor-Studiengänge Anmeldung im BOSS
�
�
Ein einleitendes
Beispiel
�
1. Klausur: 1. 8. 2011, 16:30 Uhr bis 18:30 Uhr
�
Vorlesungswebseite
�
�
in den Übungen mindestens eine Aufgabe an der Tafel
hinreichend gut präsentieren
Die Veranstaltung im Web
Chr. Schubert
Ein einleitendes
Beispiel
Literatur
�
Logik
Klausur
Studienleistung ist Voraussetzung
Diplom-Studiengänge: Anmeldung per Mail an uns
Logik
1 vs. 26
Chr. Schubert
Ein einleitendes
Beispiel
�
Das Tempo einer Universitätsvorlesung ist nicht mit dem der
Schule zu vergleichen
�
Die Inhalte der einzelnen Vorlesungseinheiten bauen
aufeinander auf
�
Sehr geringer Anteil an Wiederholungen
Literatur
Sich eine Woche nicht mit den Inhalten einer
Veranstaltung zu beschäftigen verlängert
aller Voraussicht nach das Studium um
sechsundzwanzig (26) Wochen!
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Overview
Ein einleitendes Beispiel
Logik
Chr. Schubert
Literatur
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
[KuK] M. Kreuzer and S. Kühling. Logik für Informatiker.
Pearson, 2006.
(49 Exemplare in der UB-Lehrbuchsammlung)
Literatur
Logik und Informatik
Organisatorisches
[Sch] Uwe Schöning. Logik für Informatiker. Spektrum
Akademischer Verlag, 5. Auflage, 2000.
Literatur
[Sie] Dirk Siefkes. Formalisieren und Beweisen: Logik für
Informatiker. Vieweg, 1992
Logik und Informatik
Logik
Chr. Schubert
Schlussbemerkungen
Organisatorisches
Literatur
Organisatorisches
Literatur
Logik
Chr. Schubert
Ein einleitendes
Beispiel
Ein einleitendes
Beispiel
Logik und Informatik
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Inhalt der Vorlesung
(Plan)
Organisatorisches
Organisatorisches
Literatur
Literatur
�
�
Inhalt der Vorlesung (Plan)
Inhalt der Vorlesung
(Plan)
[HR] Michael Huth und Mark Ryan. Logic in Computer
Science: Modelling and Reasoning about Systems.
Cambridge University Press, 2004.
[B] Mordechai Ben-Ari. Mathematical Logic for
Computer Science. Springer, 2008.
Inhalt der Vorlesung (Plan)
Ein einleitendes Beispiel
Chr. Schubert
Ein einleitendes
Beispiel
Organisatorisches
Worüber haben wir heute geredet?
Logik
Das Affen-Beispiel ist dem Buch von Siefkes entnommen
Die Wikipedia enthält viele informative Artikel zu
verschiedenen Themen der Logik (ohne Gewähr für
Richtigkeit. . . )
Logik
Zu guter Letzt. . .
Chr. Schubert
Ein einleitendes
Beispiel
Logik und Informatik
Inhalt der Vorlesung
(Plan)
Organisatorisches
Literatur
Viel Erfolg!
Und möglichst auch etwas Spass!
Logik
TU Do
SoSe 2011
Logik für Informatiker
Aussagenlogik: Einführung
C. Schubert
Beispiele
Beispiele
Syntax
Semantik
Beispiele
Modellierung
mit AL:
Beispiele
3
Semantik
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
4
Modellierung mit AL: Beispiele
Sommersemester 2011
Version vom 12. April 2011 (15:19 Uhr)
5
Einige Grundbegriffe
Beispiele
Logik
TU Do
SoSe 2011
Syntax
Gründe für formale Logik: Präzision
4
Semantik
Modellierung mit AL: Beispiele
Einige Grundbegriffe
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
Beispiele
Syntax
Syntax
Semantik
Grundbegriffe
(1) Keine zwei Spieler haben in allen Spielen gleich gut gespielt
= höchstens ein Spieler hat in allen Spielen gleich gut gespielt?
= es gab keine zwei Spieler, für die in jedem Spiel galt, dass beide gleich gut
gespielt haben?
Stimmt das auch noch, wenn ich am 15.3. und am 18.4. nach Spanien
fahre?
Formale Logik hat im Gegensatz zur menschlichen Sprache eine
eindeutige Semantik und erlaubt daher, Zusammenhänge präzise zu
beschreiben
Aussage (1): Prädikatenlogik (später)
5
Grundbegriffe
C. Schubert
(2) Ich fahre im März oder April nach Spanien
3
Semantik
Modellierung
mit AL:
Beispiele
basierend auf
Folien von Prof. Thomas Schwentick
Grundbegriffe
Modellierung
mit AL:
Beispiele
2
Syntax
1
Syntax
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
2
Dr. Christoph Schubert
1
Unser Programm für Heute
Aussage (2): Aussagenlogik (jetzt)
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Gründe für formale Logik: Struktur von Zusammenhängen
Logik
TU Do
SoSe 2011
Gründe für formale Logik: Problemlösen (1/2)
C. Schubert
Schlüssige Überlegung (1)
Wenn der Zug zu spät
kommt und keine Taxis am
Bahnhof sind, kommt Jane
zu spät zu ihrem Termin
Jane ist pünktlich
Die beiden Beispiele sind sehr ähnlich
In beiden Fällen haben wir es mit 3
elementaren Aussagen zu tun:
(1)
(2)
(3)
Der Zug ist zu spät
→ Also gibt es Taxis am
Bahnhof
Der Zug ist zu
spät
Es gibt Taxis am
Bahnhof
Jane kommt zu
spät
Es regnet
John hat seinen
Schirm dabei
John wird nass
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Falls es regnet und John
seinen Schirm nicht dabei
hat, wird er nass
John wird nicht nass
Es regnet
→ Also hat er seinen Schirm
dabei
Beispiele
Eine typische Logelei
Syntax
Angela: “Guido oder ich werden an der Regierungskoalition beteiligt
sein.”
Guido: “Entweder Frank-Walter oder ich werden an der Regierung
beteiligt sein.”
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Frank-Walter: “Entweder Angela oder ich werden in der Opposition sein.”
In beiden Fällen ist die Struktur der
Argumentation gleich:
Schlüssige Überlegung (2)
C. Schubert
Beispiele
Syntax
Logik
TU Do
SoSe 2011
Wir kürzen ab:
A steht für “Angela wird an der Regierung beteiligt sein”
F steht für “Frank-Walter wird an der Regierung beteiligt sein”
G steht für “Guido wird an der Regierung beteiligt sein”
Falls (1) gilt und (2) nicht gilt, so gilt (3)
(3) gilt nicht
(1) gilt
→ Also gilt (2)
Entsprechend: ¬A für “Angela wird in der Opposition sein”
Erkenntnisse:
Es ergibt sich die Formel:
Die Argumentation ist unabhängig vom
Inhalt der Aussagen (1) – (3)
Es kommt nur auf den logischen
Zusammenhang zwischen den Aussagen
an
(G ∨ A) ∧ (F ↔ ¬G ) ∧ (A ↔ ¬F )
(Beispiele aus [HR])
Gründe für formale Logik: Problemlösen (2/2)
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
Aussagen und Aussagenvariablen
C. Schubert
Die Aussagenlogik ist (nicht sehr überraschend) die “Logik der Aussagen”
C. Schubert
Beispiele
Was ist eine Aussage?
Beispiele
Syntax
Semantik
Die Formel
(G ∨ A) ∧ (F ↔ ¬G ) ∧ (A ↔ ¬F )
Durch Ausprobieren aller Möglichkeiten stellen wir fest: Nur eine
Zuordnung von Variablen zu Wahrheitswerten macht die Formel wahr:
F �→ falsch
G �→ wahr
A �→ wahr
→ Wenn alle drei die Wahrheit gesagt haben, werden Guido und Angela
eine Koalition bilden, Frank-Walter geht in die Opposition
Erkenntnis: Die logische Formalisierung erlaubt die Anwendung
systematischer Methoden zur Lösung von Problemen
Modellierung
mit AL:
Beispiele
Grundbegriffe
Syntax
Beispiele für Aussagen:
Keine Aussagen sind:
Der Zug ist pünktlich
Alle Marsianer lieben Pizza
Der BVB wird Meister der
Saison 2010/11
Jede gerade Zahl, die größer
als 2 ist, ist die Summe zweier
Primzahlen
Geben Sie mir mal das Salz,
bitte?
Alles Gute!
Möge das bessere Team
gewinnen!
Was unterscheidet Aussagen von anderen Sätzen?
Aussagen können wahr oder falsch sein
Gemäß dieser Erkenntnis wählen wir unsere Abstraktion von Aussagen:
etwas, das wahr oder falsch sein kann
→ Statt sprachlicher Aussagen verwenden wir Variablen, die die Werte wahr
oder falsch annehmen können
Solche Variablen nennen wir dann Aussagevariablen
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Logik
TU Do
SoSe 2011
Überblick
C. Schubert
Beispiele
Syntax
1
Beispiele
Semantik
Modellierung
mit AL:
Beispiele
2
Syntax
Grundbegriffe
Logik
TU Do
SoSe 2011
Aussagenlogik: Syntax
Wir verwenden aussagenlogische Variablen der Art A, B, C sowie Ai , für
alle i ∈ N (und weitere, wenn nötig).
AV bezeichne die Menge aller aussagenlogischen Variablen
C. Schubert
Beispiele
Syntax
Semantik
Definition (Syntax aussagenlogischer Formeln)
Die Menge AL der aussagenlogischen Formeln ist die kleinste Menge, die die
folgenden Eigenschaften hat:
Modellierung
mit AL:
Beispiele
Grundbegriffe
(1) � und ⊥ sind in AL
3
(2) Jede aussagenlogische Variable aus AV ist in AL
(3) Sind F1 und F2 in AL, so auch
Semantik
4
Modellierung mit AL: Beispiele
5
Einige Grundbegriffe
¬F1 ,
(F1 ∧ F2 ),
(F1 ∨ F2 ),
(Negation)
(Konjunktion)
(Disjunktion)
Formeln der Typen (1) und (2) nennen wir atomar
Aussagenlogische Formeln
Logik
TU Do
SoSe 2011
Baumdarstellung
Die Struktur aussagenlogischer Formeln lässt sich durch ihren Syntaxbaum
veranschaulichen:
�
(A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )
�
�
(A ∨ ¬�) ∧ ¬¬B
∧
∨
A1
∨
¬
A
∧
A2
A1
¬
A3
�
¬
¬
�
B
A ∧ B ∨ A2
((A ∨ B))
Exkurs: Induktive Definitionen und Beweise (1/2)
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
Beispiele
Syntax
Semantik
Grundbegriffe
¬
A ∧ ¬B)
C. Schubert
Modellierung
mit AL:
Beispiele
∧
(A ∧ �)
�
�
(A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )
�
�
(A ∨ ¬�) ∧ ¬¬B
Keine aussagenlogischen Formeln
Die Definition von AL ist ein Beispiel für eine induktive Definition einer
Menge:
Zuerst werden gewisse Grundelemente der Menge definiert (hier: die
aussagenlogischen Variablen, sowie �und ⊥)
Dann wird beschrieben, wie aus gegebenen Elementen der Menge neue
Elemente gewonnen werden
Implizit oder explizit gilt zusätzlich: es gibt keine anderen Elemente als die
so konstruierbaren
Ein (hoffentlich) bekanntes Beispiel einer induktiven Definition: die
natürlichen Zahlen
0∈N
n ∈ N =⇒ n + 1 ∈ N
Induktive Definitionen von Mengen erlauben:
induktive Beweise von Eigenschaften aller Elemente der Menge und
induktive (rekursive) Definitionen von Funktionen auf den Elementen der
Menge
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Exkurs: Induktive Definitionen und Beweise (2/2)
Als Beispiel definieren wir die Anzahl t(F ) (der Vorkommen) der
Teilformeln einer aussagenlogischen Formel:
t(X ) =def 1, für jede aussagenlogische Variable X
t(�) =def t(⊥) =def 1
t(¬F ) =def 1 + t(F )
t((F1 ∨ F2 )) =def =def 1 + t(F1 ) + t(F2 )
t((F1 ∧ F2 )) =def 1 + t(F1 ) + t(F2 )
Logik
TU Do
SoSe 2011
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Beispiele
Beispiele
Syntax
Semantik
Syntax
1
Beispiele
Modellierung
mit AL:
Beispiele
Grundbegriffe
Außerdem bezeichnen wir mit |F | die Anzahl der Zeichen in F
Modellierung
mit AL:
Beispiele
2
Syntax
3
Semantik
4
Modellierung mit AL: Beispiele
5
Einige Grundbegriffe
Beispiel: |(A ∨ ¬B) ∧ C | = 8
Wir beweisen per Induktion nach der Struktur von F , dass für alle
F ∈ AL gilt: t(F ) ≤ |F |
t(F ) = 1 = |F | für atomare Formeln F
t(¬F ) = 1 + t(F ) ≤ 1 + |F | = |¬F | für alle Formeln F
Für alle Formeln F1 , F2 gilt:
�
�
t (F1 ∧ F2 ) = 1 + t(F1 ) + t(F2 )
≤ 1 + |F1 | + |F2 |
≤ 3 + |F1 | + |F2 |
= |(F1 ∧ F2 )|
Semantik
Grundbegriffe
Analog für (F1 ∨ F2 )
Logik
TU Do
SoSe 2011
Aussagenlogik: Semantik (1/3)
Bisher haben wir nur definiert, wie aussagenlogische Formeln aussehen
(Syntax)
Jetzt definieren wir, was sie bedeuten (Semantik)
Was soll beispielsweise die Bedeutung der Formel
�
�
F = (A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )
sein?
Idee: F stellt eine Beziehung her zwischen
den Werten der aussagenlogischen Variablen und
einem Wahrheitswert
Genauer: jeder Wahl von Wahrheitswerten für die Variablen von F ordnet
F einen Wahrheitswert zu
Z.B. wird der Wahl von Wahrheitswerten
A1 �→ falsch,
A2 �→ wahr,
A3 �→ falsch
der Wahrheitswert wahr zugeordnet
→ Diese Zuordnung (für alle Kombinationen von Wahrheitswerten) soll
gerade die Semantik von F sein
Aussagenlogik: Semantik (2/3)
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Beispiele
Beispiele
Syntax
Syntax
Semantik
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Eine (Wahrheits-)Belegung α ordnet Variablen in AV eindeutig
Wahrheitswerte zu
nicht jeder Variable in AV muss ein Wahrheitswert zugeordnet werden
D.h. eine Belegung ist eine partielle Funktion α : AV → { falsch, wahr }
Schreibe α(X ) für den Wahrheitswert, welche α einer Variablen X
zuordnet
Eine Belegung α heißt passend für eine Formel F , wenn α(X ) für alle in
F vorkommenden Variablen X definiert ist
Die Semantik von F soll jeder passenden Belegung α einen
Wahrheitswert [[F ]]α zuordnen
Modellierung
mit AL:
Beispiele
Grundbegriffe
Logik
TU Do
SoSe 2011
Aussagenlogik: Semantik (2/2)
Aussagenlogik: Semantik (Beispiel)
C. Schubert
C. Schubert
Beispiele
Definition (Semantik aussagenlogischer Formeln)
Syntax
Semantik
Sei F ∈ AL
Modellierung
mit AL:
Beispiele
Sei α eine zu F passende Belegung
Wir definieren [[F ]]α induktiv nach der Struktur von F :
Grundbegriffe
falsch
wahr
α(X
� ) für Variablen X ∈ AV
wahr falls [[F ]]α = falsch
[[¬F ]]α =def
falsch falls [[F ]]α = wahr
�
wahr falls [[F1 ]]α = wahr und [[F2 ]]α = wahr
[[(F1 ∧ F2 )]]α =def
falsch andernfalls
�
wahr falls [[F1 ]]α = wahr oder [[F2 ]]α = wahr
[[(F1 ∨ F2 )]]α =def
falsch andernfalls
[[⊥]]α =def
[[�]]α =def
[[X ]]α =def
Beispiele
Beispiel
Syntax
Sei F die Formel ((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))
Sei die Belegung α wie folgt gegeben:
X
α(X )
A1
0
A2
1
A3
0
Logik
TU Do
SoSe 2011
Die Semantik einer aussagenlogischen Formel F lässt sich in einer
Wahrheitstabelle repräsentieren
Wahrheitstabelle für ¬
α(A)
0
1
[[¬A]]α
1
0
Wahrheitstabelle für ∨
[[A ∧ B]]α
0
0
0
1
α(A)
0
0
1
1
α(B)
0
1
0
1
Wahrheitstabelle für �
[[�]]α
1
Grundbegriffe
[[A2 ]]α = 1
[[A1 ]]α = [[A3 ]]α = 0
[[¬A3 ]]α = 1
[[(A1 ∨ A2 )]]α = 1
[[(A1 ∧ ¬A3 )]]α = 0
[[¬(A1 ∧ ¬A3 )]]α = 1
[[((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))]]α = 1
Wahrheitstabellen: Beispiel
C. Schubert
α(B)
0
1
0
1
Modellierung
mit AL:
Beispiele
Erinnerung: Wir schreiben hier 1 statt wahr und 0 statt falsch
Wahrheitstabelle
α(A)
0
0
1
1
Semantik
Dann gelten:
Oftmals schreiben wir 1 statt wahr und 0 statt falsch
Wahrheitstabelle für ∧
Logik
TU Do
SoSe 2011
[[A ∨ B]]α
0
1
1
1
Wahrheitstabelle für ⊥
[[⊥]]α
0
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
Beispiel
Beispiele
Syntax
Sei F wieder die Formel
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Semantik
((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))
Dann ist die Semantik von F durch die folgende Wahrheitstabelle gegeben:
α(A1 ) α(A2 ) α(A3 )
[[F ]]α
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
Jede Zeile der Wahrheitstabelle entspricht also genau einer Belegung α
der Variablen von F
Künftig werden wir das “α” in Tabellenköpfen weglassen
Modellierung
mit AL:
Beispiele
Grundbegriffe
Logik
TU Do
SoSe 2011
Abkürzende Schreibweisen
Wir lassen Klammern weg, wenn dadurch keine Missverständnisse
entstehen:
C. Schubert
C. Schubert
Beispiele
Beispiele
Syntax
Statt
Semantik
((A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 ))
schreiben wir beispielsweise
Modellierung
mit AL:
Beispiele
(A1 ∨ A2 ) ∧ ¬(A1 ∧ ¬A3 )
Logik
TU Do
SoSe 2011
Überblick
Grundbegriffe
Syntax
1
Beispiele
Semantik
Modellierung
mit AL:
Beispiele
2
Syntax
3
Semantik
4
Modellierung mit AL: Beispiele
5
Einige Grundbegriffe
Grundbegriffe
Weitere Fälle, in denen Klammern eingespart werden können, lernen wir
bald kennen
Wir vereinbaren die logischen Operatoren → und ↔ als abkürzende
Schreibweisen wie folgt:
F1 → F2 für ¬F1 ∨ F2
F1 ↔ F2 für (F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 )
Die entsprechenden Wahrheitstabellen:
F1 F2
F1 → F2
0
0
1
0
1
1
1
0
0
1
1
1
F1
0
0
1
1
F2
0
1
0
1
F1 ↔ F2
1
0
0
1
Logik
TU Do
SoSe 2011
Modellierung mit Aussagenlogik: Erstes Beispiel
Logik
TU Do
SoSe 2011
Modellierung mit Aussagenlogik: Zweites Beispiel
C. Schubert
Beispiele
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Beispiel
“Das Fluchtauto war rot oder grün und hatte weder vorne noch hinten
ein Nummernschild”
Elementare Aussagen:
A1 :
A2 :
A3 :
A4 :
Das
Das
Das
Das
Fluchtauto
Fluchtauto
Fluchtauto
Fluchtauto
war rot
war grün
hatte vorne ein Nummernschild
hatte hinten ein Nummernschild
Gesamtaussage: (A1 ∨ A2 ) ∧ (¬A3 ∧ ¬A4 )
Grundbegriffe
C. Schubert
Beispiel
Beispiele
“Platon hatte Recht mit seiner Einschätzung des Sokrates genau dann,
wenn Sokrates kein großer Philosoph war”
“Wenn Sokrates ein großer Philosoph war, dann hatte Aristoteles Recht
mit seiner Einschätzung des Platon”
“Aristoteles hatte nur dann Recht mit seiner Einschätzung des Platon,
falls Platon Recht hatte mit seiner Einschätzung des Sokrates”
Elementare Aussagen:
(Beispiel aus [MG])
S: “Sokrates war ein großer Philosoph”
A: “Aristoteles hat Recht mit seiner Einschätzung des Platon”
P: “Platon hat Recht mit seiner Einschätzung des Sokrates”
Teilaussagen:
P ↔ ¬S
S→A
A→P
Gesamtaussage: ((P ↔ ¬S) ∧ (S → A)) ∧ (A → P)
(Beispiel aus [KuK])
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Formalisierung umgangssprachlicher Aussagen
Logik
TU Do
SoSe 2011
Modellierung mit Aussagenlogik: Drittes Beispiel (1/3)
C. Schubert
Vorsicht bei der Formalisierung umgangssprachlicher Aussagen!
Implikationen:
Wenn ich die Studienleistung schaffe, kann ich die Klausur mitschreiben:
studienleistung → klausur
Ich kann die Klausur schreiben, wenn ich die Studienleistung schaffe:
studienleistung → klausur
Nur wenn ich die Studienleistung schaffe, kann ich die Klausur
mitschreiben:
klausur → studienleistung
C. Schubert
Beispiele
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Disjunktionen:
“oder” lässt sich oft in das nicht ausschließliche ∨ übersetzen:
Morgen oder übermorgen bearbeite ich die Übungsaufgaben:
morgen ∨ übermorgen
Vielleicht auch an beiden Tagen
Logik
TU Do
SoSe 2011
Beispiel
Landkartenfärbung: Lassen sich
die Länder der Bundesrepublik
Deutschland mit drei Farben so
färben, dass benachbarte
Länder verschiedene Farben
haben?
Mit vier Farben lassen sie sich
färben
Beispiele
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Das funktioniert übrigens für
jede Landkarte ohne
Enklaven: Vierfarbensatz
Manchmal ist es aber ausschließlich gemeint:
Das Problem der 3-Färbung der
BRD-Landkarte lässt sich mit
Hilfe der Aussagenlogik
modellieren, wie wir auf den
folgenden Folien sehen werden
Morgen oder übermorgen gebe ich die Übungsaufgaben ab:
(morgen ↔ ¬übermorgen)
Mehrdeutigkeit:
Umgangssprachliche Aussagen können viele verschiedene Interpretationen
haben:
Ich sah den Mann auf dem Berg mit dem Teleskop
(Idee zu dieser Folie: Foliensatz von Prof. Kastens, Paderborn)
Modellierung mit Aussagenlogik: Drittes Beispiel (2/3)
Logik
TU Do
SoSe 2011
C. Schubert
Wir verwenden für jedes Bundesland (z.B. NRW) und jede Farbe (z.B.
gelb) eine aussagenlogische Variable (z.B.: GNRW )
Dass NRW mit mindestens einer Farbe gefärbt wird, lässt sich
ausdrücken durch die Formel
≥1
FNRW
= GNRW ∨ RNRW ∨ BNRW
Dass NRW mit höchstens einer Farbe gefärbt wird, lässt sich ausdrücken
durch die Formel
≤1
FNRW
= ¬(GNRW ∧ RNRW ) ∧ ¬(BNRW ∧ RNRW ) ∧ ¬(BNRW ∧ GNRW )
≥1
≤1
=1
Wir schreiben FNRW
für die Formel FNRW
∧ FNRW
Dass NRW nicht dieselbe Farbe wie Hessen erhält, lässt sich ausdrücken
durch die Formel
�=
FNRW,HS
= ¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS )
Beispiele
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Modellierung mit Aussagenlogik: Drittes Beispiel (3/3)
Insgesamt erhalten wir also:
=1
=1
=1
=1
=1
=1
=1
=1
FNRW
∧ FBW
∧ FBY
∧ FRP
∧ FSR
∧ FHS
∧ FTH
∧ FSX
∧
=1
=1
=1
=1
=1
=1
=1
FNI
∧ FSA
∧ FBR
∧ FB=1 ∧ FHH
∧ FHB
∧ FMV
∧ FSH
∧
�=
�=
�=
�=
�=
�=
�=
�=
FNRW,HS
∧ FBW,BY
∧ FBW,RL
∧ FBW,HS
∧ FBY,HS
∧ FBY,TH
∧ FBY,SX
∧ FSR,RL
∧
�=
�=
�=
�=
�=
�=
�=
�=
FRL,HS ∧ FRL,NRW ∧ FHS,TH ∧ FHS,NI ∧ FTH,SX ∧ FTH,SA ∧ FTH,NI ∧ FSX,BR ∧
�=
�=
�=
�=
�=
�=
�=
�=
FSX,SA
∧ FNRW,NI
∧ FNI,SH
∧ FNI,HB
∧ FNI,HH
∧ FNI,MV
∧ FNI,SA
∧ FNI,BR
∧
�=
�=
�=
�=
�=
FSA,BR ∧ FBR,MV ∧ FBR,B ∧ FSH,HH ∧ FSH,MV
Dies ist eine Abkürzung für eine Formel der Länge 1024:
(GNRW ∨ RNRW ∨ BNRW ) ∧ ¬(GNRW ∧ RNRW )∧
¬(BNRW ∧ RNRW ) ∧ ¬(BNRW ∧ GNRW ) ∧ · · ·
..
.
· · · (GSH ∨ RSH ∨ BSH ) ∧ ¬(GSH ∧ RSH )∧
¬(BSH ∧ RSH ) ∧ ¬(BSH ∧ GSH )∧
¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS ) · · ·
..
.
· · · ¬(GSH ∧ GMV ) ∧ ¬(RSH ∧ RMV ) ∧ ¬(BSH ∧ BMV )
Die BRD-Karte ist genau dann mit 3 Farben färbbar, wenn es eine
Wahrheitsbelegung gibt, die diese Formel wahr macht
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
Syntax
1
Beispiele
Semantik
Modellierung
mit AL:
Beispiele
2
Syntax
Logik
TU Do
SoSe 2011
Erfüllbare und allgemein gültige Formeln (1/2)
C. Schubert
Eine Belegung α mit [[F ]]α = 1 heißt Modell von F
(Andere Notation: α |= F )
Beispiele
Ist G eine Menge von aussagenlogischen Formeln, so heißt α Modell von
G, falls für alle F ∈ G gilt: [[F ]]α = 1
Eine Formel F heißt erfüllbar, falls sie ein Modell hat, andernfalls
unerfüllbar
Analog für Mengen G von Formeln
Grundbegriffe
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Eine Formel F heißt allgemein gültig (oder: Tautologie), falls jede zu F
passende Belegung ein Modell von F ist
3
Semantik
Beispiel
4
5
(A1 ∧ ¬A1 ) ist unerfüllbar
Modellierung mit AL: Beispiele
(A1 ∨ ¬A1 ) ist allgemein gültig
A1 ∨ A2 ist erfüllbar aber nicht allgemein gültig
Einige Grundbegriffe
{(A1 ∨ ¬A2 ), A2 , ¬A1 } ist unerfüllbar
Die Frage, ob eine gegebene Formel erfüllbar ist, ist in vielen
Zusammenhängen von großer Bedeutung � Wir widmen dieser Frage
und ihren Anwendungen ein eigenes Kapitel
Erfüllbare und allgemein gültige Formeln (2/2)
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Beispiele
Syntax
Beobachtung
Semantik
Eine Formel F ist genau dann allgemein gültig, wenn ¬F unerfüllbar ist
Modellierung
mit AL:
Beispiele
Beweis.
Grundbegriffe
Wir wollen (für alle F ) die Behauptung
“(1) ⇐⇒ (2)”
zeigen, wobei
(1) F ist allgemein gültig
(2) ¬F ist unerfüllbar
Solche Äquivalenzaussagen lassen sich in zwei Schritten beweisen:
(1) =⇒ (2)
(2) =⇒ (1)
Beispiele
Beweis.
Syntax
Wir zeigen zuerst “(1) =⇒ (2)”: F ist allgemein gültig =⇒ ¬F
unerfüllbar
→
→
→
→
Sei F allgemein gültig
Für jede passende Belegung α ist [[F ]]α = 1
Für jede passende Belegung α ist [[¬F ]]α = 0
Kein α ist Modell von ¬F
¬F ist unerfüllbar
(Def von allg.-gültig)
(Def von [[¬F ]]α )
(Def Modell)
(Def erfüllbar)
Jetzt zeigen wir “(2) =⇒ (1)”: ¬F unerfüllbar =⇒ F allgemein gültig
→
→
→
→
Sei ¬F unerfüllbar
¬F hat kein Modell
Für alle passenden α ist [[¬F ]]α = 0
Für alle passenden α ist [[F ]]α = 1
F ist allgemein gültig
(Def unerfüllbar)
(Def Modell)
(Def von [[¬F ]]α )
(Def von allgemein gültig)
Semantik
Modellierung
mit AL:
Beispiele
Grundbegriffe
Zusammenfassung
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
Syntax
Semantik
Modellierung
mit AL:
Beispiele
Beispiele der Modellierung mit Aussagenlogik
Syntax und Semantik der Aussagenlogik
Wahrheitstabellen
Wichtige Grundbegriffe wie “erfüllbar”, “allgemein gültig”
Grundbegriffe
Logik
TU Do
SoSe 2011
Logik für Informatiker
Unser Programm für Heute
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Äquivalenzen
und Normalformen
Äquivalenzen
und Normalformen
Teil 3: Aussagenlogik — Äquivalenzen und Normalformen
Dr. Christoph Schubert
basierend auf
Folien von Prof. Thomas Schwentick
1
Äquivalenzen und Normalformen
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 19. April 2011 (12:23 Uhr)
3 – 1/17
Äquivalenz von Formeln
Logik
TU Do
SoSe 2011
3 – 2/17
Umwandlung von Formeln
C. Schubert
Beispiel
Wir betrachten die beiden folgenden Formeln:
A ∧ (A ∨ B)
(¬B ∨ A) ∧ (¬A → B)
Äquivalenzen
und Normalformen
Logik
TU Do
SoSe 2011
C. Schubert
Wir werden im Folgenden Regeln kennen lernen, mit denen Formeln in
äquivalente Formeln umgeformt werden können
Äquivalenzen
und Normalformen
Als nützliche Hilfsmittel für die äquivalente Umwandlung von Formeln
werden wir zwei Lemmata beweisen
Sie sind zwar syntaktisch völlig verschieden, haben aber dieselbe
Semantik
Mit dem Substitutionslemma können wir aus “einfachen” Äquivalenzen
neue Äquivalenzen folgern, indem wir Variablen konsistent durch Formeln
ersetzen, z.B.:
Definition
Da ¬(A ∨ B) ≡ ¬A ∧ ¬B gilt, gilt auch:
�
�
¬ (A1 ∧ B1 ) ∨ B ≡ ¬(A1 ∧ B1 ) ∧ ¬B
Zwei Formeln F1 , F2 heißen äquivalent, falls für jede zu F1 und F2 passende
Belegung α gilt:
[[F1 ]]α = [[F2 ]]α
Substitution: A �→ (A1 ∧ B1 )
Schreibweise: F1 ≡ F2
Das Ersetzungslemma erlaubt uns, eine Teilformel einer Formel durch
eine äquivalente Teilformel zu ersetzen, z.B.:
Also z.B.:
Da ¬(A ∨ B) ≡ ¬A ∧ ¬B gilt, gilt auch:
A ∧ (A ∨ B) ≡ (¬B ∨ A) ∧ (¬A → B)
¬(A ∨ B) ∧ C ≡ (¬A ∧ ¬B) ∧ C
¬(A ∧ B) ≡ ¬A ∨ ¬B
(A → ⊥) ≡ ¬A
3 – 4/17
3 – 5/17
Das Substitutionslemma
Eine Substitution S ist eine Funktion AV → AL
Für eine Substitution S und eine Formel F sei S(F ) die Formel, die aus
F entsteht, indem jede in F vorkommende Variable X durch S(X )
ersetzt wird
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
Substitutionslemma: Beweis
C. Schubert
Äquivalenzen
und Normalformen
C. Schubert
Beweisidee
Sei für eine Belegung α die Belegung αS definiert durch:
αS (X ) =def [[S(X )]]α
Äquivalenzen
und Normalformen
Dann gilt für alle F , α, S: [[S(F )]]α = [[F ]]αS
Beispiel
(Beweis durch Induktion nach der Struktur von F )
Sei F1 = ¬(A ∨ B)
→ Für jede Belegung α gilt:
Sei F2 = ¬A ∧ ¬B
[[S(F1 )]]α = [[F1 ]]αS
Substitution S mit S(A) = (A1 ∧ B1 ), S(B) = B
Dann ist:
(F1 ≡ F2 )
= [[F2 ]]αS
�
�
S(F1 ) = ¬ (A1 ∧ B1 ) ∨ B
S(F2 ) = ¬(A1 ∧ B1 ) ∧ ¬B
= [[S(F2 )]]α
Wir geben den Wert S(X ) meistens nur für die relevanten Variablen an
Die Anwendung des Substitutionslemma auf das vorherige Beispiel ergibt:
Für alle übrigen Variablen X gelte dann stillschweigend S(X ) = X
�
�
¬ (A1 ∧ B1 ) ∨ B ≡ ¬(A1 ∧ B1 ) ∧ ¬B
Lemma (Substitutionslemma)
Ist S eine Substitution und gilt F1 ≡ F2 , so gilt auch S(F1 ) ≡ S(F2 )
3 – 6/17
Das Ersetzungslemma
Logik
TU Do
SoSe 2011
3 – 7/17
Logik
TU Do
SoSe 2011
Äquivalenzen der Aussagenlogik (1/2)
C. Schubert
Lemma (Ersetzungslemma)
Sei F1 eine Formel, in der eine Teilformel G1 vorkommt
Äquivalenzen
und Normalformen
C. Schubert
Satz
Kommutativität
Sei G1 ≡ G2
F ∧G ≡G ∧F
Sei F2 die Formel, die aus F1 entsteht, indem (ein Vorkommen von) G1
durch G2 ersetzt wird
F ∨G ≡G ∨F
Dann gilt: F1 ≡ F2
Assoziativität
(F ∧ G ) ∧ H ≡ F ∧ (G ∧ H)
Der Beweis ist nicht schwierig, wird aber aus Zeitgründen hier nicht gegeben
(F ∨ G ) ∨ H ≡ F ∨ (G ∨ H)
Beispiel
Distributivität
Sei F1 = ¬(A ∨ B) ∧ C
F ∨ (G ∧ H) ≡ (F ∨ G ) ∧ (F ∨ H)
Sei G2 = (¬A ∧ ¬B)
F ∨�≡�
Sei G1 = ¬(A ∨ B)
F ∧ (G ∨ H) ≡ (F ∧ G ) ∨ (F ∧ H)
Wir wissen: G1 = ¬(A ∨ B) ≡ ¬A ∧ ¬B = G2
F ∧⊥≡⊥
Mit dem Ersetzungslemma folgt:
¬(A ∨ B) ∧ C ≡ (¬A ∧ ¬B) ∧ C
Doppelnegation
¬¬F ≡ F
3 – 8/17
Äquivalenzen
und Normalformen
Für aussagenlogische Formeln F , G , H gelten:
Idempotenz
F ∧F ≡F
F ∨F ≡F
Absorption
F ∧ (F ∨ G ) ≡ F
F ∨ (F ∧ G ) ≡ F
Einheit
�∧F ≡F ≡F ∧�
⊥∨F ≡F ≡F ∨⊥
De Morgansche Regeln
¬(F ∧ G ) ≡ ¬F ∨ ¬G
¬(F ∨ G ) ≡ ¬F ∧ ¬G
3 – 9/17
Äquivalenzen der Aussagenlogik (2/2)
Beweisidee
Logik
TU Do
SoSe 2011
C. Schubert
Wir zeigen die Assoziativität der Konjunktion
Wir stellen dazu Wahrheitstabellen für (A1 ∧ A2 ) ∧ A3 und A1 ∧ (A2 ∧ A3 )
auf
Logik
TU Do
SoSe 2011
Schreibweisen und Normalformen
Wegen der Assoziativität können wir zukünftig schreiben:
F ∧ G ∧ H statt F ∧ (G ∧ H)
F ∨ G ∨ H statt F ∨ (G ∨ H)
Äquivalenzen
und Normalformen
Außerdem:
Wir stellen fest, dass diese beiden Formeln äquivalent sind, also:
Statt F1 ∧ · · · ∧ Fn schreiben wir auch:
(A1 ∧ A2 ) ∧ A3 ≡ A1 ∧ (A2 ∧ A3 )
Statt F1 ∨ · · · ∨ Fn schreiben wir auch:
Für beliebige Formeln F , G , H folgt die Behauptung nun durch
Anwendung des Substitutionslemmas auf die Substitution S mit
C. Schubert
Äquivalenzen
und Normalformen
n
�
i=1
n
�
Fi
Fi
i=1
Eine Disjunktion von 0 Formeln ist äquivalent zu ⊥
Eine Konjunktion von 0 Formeln ist äquivalent zu �
S(A1 ) = F
S(A2 ) = G
S(A3 ) = H
Die Äquivalenzregeln der Aussagenlogik sind insbesondere hilfreich, um
Formeln in eine bestimmte, “günstige” syntaktische Form umzuwandeln
Der Beweis der anderen Behauptungen verläuft analog
Was “günstig” ist, hängt dabei jeweils vom Kontext ab
Wenn eine solche “Günstige Form” immer (d.h. für jede Formel) erreicht
werden kann, nennen wir sie Normalform
Wir betrachten drei Normalformen:
Bemerkung
Die Äquivalenzen treten (bis auf Doppelnegation) paarweise auf. Dabei wird
Negations-Normalform (NNF)
Konjunktive Normalform (KNF)
Disjunktive Normalform (DNF)
jedes Vorkommen von ∨ durch ∧ ersetzt und umgekehrt
jedes Vorkommen von ⊥ durch � ersetzt und umgekehrt
Die durch diesen Prozess entstehenden Formeln nennen wir dual
3 – 10/17
Normalformen der Aussagenlogik: NNF
Eine AL-Formel F ist in Negations-Normalform (NNF), falls sie
Negationszeichen nur unmittelbar vor Variablen enthält
Beispiel
Logik
TU Do
SoSe 2011
3 – 11/17
Logik
TU Do
SoSe 2011
Literale und Klauseln
C. Schubert
Definition
C. Schubert
Äquivalenzen
und Normalformen
Ein Literal L ist eine Formel der Form A oder ¬A mit A ∈ AV
Äquivalenzen
und Normalformen
Beispiel
A1 ∨ ¬(A2 ∨ ¬A3 ) ist nicht in NNF, A1 ∨ (¬A2 ∧ A3 ) ist in NNF
¬A2 ist ein (negatives) Literal
Satz
A3 ist ein (positives) Literal
Zu jeder AL-Formel F gibt es eine äquivalente Formel in NNF
¬¬A1 ist kein Literal
Beweisidee
Definition
Die wie folgt rekursiv definierte Funktion NNF wandelt eine Formel in eine
äquivalente Formel in NNF um:
Eine disjunktive Klausel ist eine Disjunktion
Li von Literalen
i=1
NNF (F ) = F für Formeln F der Art ⊥, �, X oder ¬X
NNF (¬⊥) = � und NNF (¬�) = ⊥
Eine konjunktive Klausel ist eine Konjunktion
NNF (F1 ∨ F2 ) = NNF (F1 ) ∨ NNF (F2 )
k
�
Li von Literalen
i=1
NNF (F1 ∧ F2 ) = NNF (F1 ) ∧ NNF (F2 )
Beispiel
NNF (¬¬F1 )= NNF (F1 )
A1 ∨ A4 ∨ ¬A5 ist eine disjunktive Klausel
NNF (¬(F1 ∨ F2 )) = NNF (¬F1 ) ∧ NNF (¬F2 )
NNF (¬(F1 ∧ F2 )) = NNF (¬F1 ) ∨ NNF (¬F2 )
k
�
A ∧ ¬B ∧ C ∧ ¬D ist eine konjunktive Klausel
3 – 12/17
3 – 13/17
Logik
TU Do
SoSe 2011
Normalformen der Aussagenlogik: KNF und DNF
Definition
C. Schubert
Eine AL-Formel F ist in konjunktiver Normalform (KNF), falls sie eine
Konjunktion disjunktiver Klauseln ist
Äquivalenzen
und Normalformen
Berechnung der KNF
Satz
Logik
TU Do
SoSe 2011
C. Schubert
Zu jeder AL-Formel F gibt es eine äquivalente KNF-Formel F1 und eine
äquivalente DNF-Formel F2
Äquivalenzen
und Normalformen
F1 und F2 können durch einen Algorithmus berechnet werden
Beispiel
Algorithmus: KNF
(A1 ∨ A2 ∨ ¬A4 ) ∧ (¬A3 ∨ A4 ) ∧ A3 ist in KNF
�
�
(A1 ∨ A4 ) ∧ ¬A4 ∧ A5 ∨ (A3 ∧ A6 ) ist nicht in KNF
Require: AL-Formel F
Ensure: AL-Formel F � ≡ F in KNF
1: Bringe F in NNF
2: if F ist von der Form F1 ∧ F2 then
3:
RETURN KNF (F1 ) ∧ KNF (F2 )
4: if F lässt sich schreiben als F1 ∨ (F2 ∧ F3 ) then
5:
RETURN KNF (F1 ∨ F2 ) ∧ KNF (F1 ∨ F3 )
6: else
7:
RETURN F
Definition
Eine AL-Formel F ist in disjunktiver Normalform (DNF), falls sie eine
Disjunktion konjunktiver Klauseln ist
Beispiel
¬A3 ∨ (A1 ∧ A2 ) ∨ (A3 ∧ A2 ∧ ¬A1 ) ist in DNF
Beobachtung: KNF-Formeln und DNF-Formeln sind auch in NNF
Der Algorithmus lässt eine gewisse Wahlfreiheit, das Ergebnis ist nicht
eindeutig bestimmt
Zusätzlich vereinbaren wir: Die Formeln � und ⊥ sind in KNF und DNF
Die Berechnung der DNF verläuft dual (d.h. ∧ und ∨ vertauschen)
3 – 14/17
Logik
TU Do
SoSe 2011
KNF: Beispiel-Berechnung (1/2)
Beispiel
�
�
Sei F = A ↔ (B ∧ ¬C ) ∧ (¬B → A)
(aus [KuK])
Ersetzung der Abkürzungen ↔ und → ergibt:
��
� �
��
A ∧ (B ∧ ¬C ) ∨ ¬A ∧ ¬(B ∧ ¬C ) ∧ (B ∨ A)
NNF:
��
3 – 15/17
KNF: Beispiel-Berechnung (2/2)
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Äquivalenzen
und Normalformen
Äquivalenzen
und Normalformen
Beispiel
�
�
Aus A ∧ (B ∧ ¬C ) ∨ (¬B ∨ C ) wird
�
� �
�
A ∨ (¬B ∨ C ) ∧ (B ∧ ¬C ) ∨ (¬B ∨ C )
� �
��
A ∧ (B ∧ ¬C ) ∨ ¬A ∧ (¬B ∨ C ) ∧ (B ∨ A)
Die rechte Teilformel davon wird zu (B ∨ ¬B ∨ C ) ∧ (¬C ∨ ¬B ∨ C )
Diese Formel ist von der Form F1 ∧ F2 und F2 = B ∨ A ist disjunktive
Klausel
Insgesamt:
�
� �
�
→ Es genügt, F1 = A ∧ (B ∧ ¬C ) ∨ ¬A ∧ (¬B ∨ C ) weiter zu bearbeiten
F1 ist von der Form F1� ∨ (F2� ∧ F3� )
(A ∨ ¬A) ∧ (B ∨ ¬A) ∧ (¬C ∨ ¬A)∧
Nach (4) also weiter mit:
(A ∨ ¬B ∨ C ) ∧ (B ∨ ¬B ∨ C ) ∧ (¬C ∨ ¬B ∨ C ) ∧ (B ∨ A)
�
�
A ∧ (B ∧ ¬C ) ∨ ¬A und
�
�
A ∧ (B ∧ ¬C ) ∨ (¬B ∨ C )
�
�
A ∧ (B ∧ ¬C ) ∨ ¬A wird im nächsten Schritt
�
�
(A ∨ ¬A) ∧ (B ∧ ¬C ) ∨ ¬A
Aus
��
Die rechte Teilformel davon wird schließlich zu (B ∨ ¬A) ∧ (¬C ∨ ¬A)
3 – 16/17
3 – 17/17
Logik
TU Do
SoSe 2011
Logik für Informatiker
Teil 4: Aussagenlogik — Erfüllbarkeit, Hornformeln
Unser Programm für Heute
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Erfüllbarkeit
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Hornformeln
1
Erfüllbarkeit
2
Erfüllbarkeitstests: Vorbereitungen
3
Hornformeln
Dr. Christoph Schubert
basierend auf
Folien von Prof. Thomas Schwentick
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 26. April 2011 (11:05 Uhr)
4 – 1/25
Überblick
Logik
TU Do
SoSe 2011
2
3
Erfüllbarkeit
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Erfüllbarkeit
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Erfüllbarkeit:
Vorbereitungen
Hornformeln
1
4 – 2/25
Erfüllbarkeit
Zur Erinnerung: Eine Formel F heißt erfüllbar, wenn sie ein Modell hat,
also eine Belegung, die sie wahr macht
Hornformeln
Das Problem, für eine (aussagenlogische, temporallogische,
prädikatenlogische, . . . ) Formel zu testen, ob sie erfüllbar ist, hat für die
Informatik eine große Bedeutung
In diesem Kapitel werden wir
Erfüllbarkeitstests: Vorbereitungen
zunächst einige Beispiele betrachten, in denen die Lösung eines Problems
auf einen Erfüllbarkeitstest hinaus läuft
einen sehr effizienten Erfüllbarkeitstest für eine eingeschränkte Art
aussagenlogischer Formeln kennen lernen, und
Hornformeln
Im nächsten Kapitel werden wir einen Erfüllbarkeitstest für beliebige
aussagenlogische Formeln kennen lernen
4 – 3/25
4 – 4/25
Logik
TU Do
SoSe 2011
Warum Erfüllbarkeit? (1/4)
Aus Kapitel 2:
Beispiel 1
Angela: “Guido oder ich werden an der Regierungskoalition beteiligt
sein.”
Logik
TU Do
SoSe 2011
Warum Erfüllbarkeit? (2/4)
C. Schubert
C. Schubert
Erfüllbarkeit
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Guido: “Entweder Frank-Walter oder ich werden an der Regierung
beteiligt sein.”
Frank-Walter: “Entweder Angela oder ich werden in der Opposition sein.”
Um die Lösung für diese Logelei zu finden, haben wir
für die elementaren Aussagen Aussagenvariablen A, G , F eingeführt,
die Formel (G ∨ A) ∧ (F ↔ ¬G ) ∧ (A ↔ ¬F ) als Zusammenfassung aller
Aussagen aufgestellt und dann
erfüllende Belegungen dieser Formel gesucht
Um zu entscheiden, ob sich die Landkarte der BRD mit drei Farben
färben lässt (so dass benachbarte Länder unterschiedliche Farben haben),
haben wir die folgende Formel aufgestellt:
=1
=1
=1
=1
=1
=1
=1
=1
FNRW
∧ FBW
∧ FBY
∧ FRP
∧ FSR
∧ FHS
∧ FTH
∧ FSX
∧
=1
=1
=1
=1
=1
=1
=1
=1
FNI ∧ FSA ∧ FBR ∧ FB ∧ FHH ∧ FHB ∧ FMV ∧ FSH ∧
�=
�=
�=
�=
�=
�=
�=
�=
FNRW,HS
∧ FBW,BY
∧ FBW,RL
∧ FBW,HS
∧ FBY,HS
∧ FBY,TH
∧ FBY,SX
∧ FSR,RL
∧
�=
�=
�=
�=
�=
�=
�=
�=
FRL,HS ∧ FRL,NRW ∧ FHS,TH ∧ FHS,NI ∧ FTH,SX ∧ FTH,SA ∧ FTH,NI ∧ FSX,BR ∧
�=
�=
�=
�=
�=
�=
�=
�=
FSX,SA
∧ FNRW,NI
∧ FNI,SH
∧ FNI,HB
∧ FNI,HH
∧ FNI,MV
∧ FNI,SA
∧ FNI,BR
∧
�=
�=
�=
�=
�=
FSA,BR ∧ FBR,MV ∧ FBR,B ∧ FSH,HH ∧ FSH,MV
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Wir haben festgestellt, dass eine solche Färbung genau dann möglich ist,
wenn diese Formel erfüllbar ist
Die Frage der 3-Färbbarkeit lässt sich also durch einen Erfüllbarkeitstest
entscheiden
Da es nur eine einzige erfüllende Belegung gab, haben wir diese als
Lösung aufgefasst
Nach der Modellierung der Situation haben wir also im Wesentlichen
einen Erfüllbarkeitstest durchgeführt
4 – 5/25
Logik
TU Do
SoSe 2011
Warum Erfüllbarkeit? (3/4)
4 – 6/25
Logik
TU Do
SoSe 2011
Warum Erfüllbarkeit? (4/4)
C. Schubert
Beispiel 2 (Klausur 07/08, Aufgabe 1)
Anton hat gerade seine Logik-Klausur
geschrieben. Wie immer diskutiert er im
Anschluss mit seinen Kommilitonen über
die einzelnen Aufgaben. Dabei gelangt er
zu folgenden Überlegungen:
1 Für ein Bestehen der Klausur muss
er mindestens eine der drei
Aufgaben richtig gelöst haben.
2
3
Aufgabe 3 konnte er nur dann
richtig lösen, wenn er eine der
ersten beiden richtig gelöst hat.
Er hat die ersten beiden Aufgaben
entweder beide richtig oder beide
falsch gelöst.
(a) Übersetzen Sie Antons Überlegungen in aussagenlogische Formeln.
(b) Zeigen Sie mittels aussagenlogischer Resolution, dass Anton
nur dann die Klausur besteht,
wenn er die erste Aufgabe richtig
gelöst hat.
Beispiellösung zu (a)
Erfüllbarkeit
Wir definieren
Erfüllbarkeit:
Vorbereitungen
Ai : “Anton hat Aufgabe i
richtig gelöst.”, für i = 1, 2, 3
B: “Anton hat die Klausur
bestanden”
Hornformeln
Wir erhalten die Übersetzung
F = (B → (A1 ∨ A2 ∨ A3 ))∧
(A3 → (A1 ∨ A2 )) ∧ (A1 ↔ A2 )
C. Schubert
Probleme aus vielen Bereichen der Informatik und der Mathematik lassen
sich mit aussagenlogischen Formeln modellieren
Beispiele:
Logeleien
Graphentheorie
Spiele
Automatisches Planen
(Bounded) Model Checking
...
(Angela!)
(3-Färbbarkeit)
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Erfüllende Wahrheitsbelegungen der Formeln entsprechen dann Lösungen
der Probleme
Aussagenlogische Resolution:
später!
Es gilt also, Verfahren für das folgende algorithmische Problem zu finden:
Für (b) betrachten wir zunächst
nur den Lösungsansatz:
Definition: AL-SAT
Können wir schließen, dass
aus der Formel F die Formel
B → A1 folgt?
Dies ist gerade dann der Fall,
wenn die Formelmenge
{F , ¬(B → A1 )} unerfüllbar
ist
Gegeben: Aussagenlogische Formel F
Frage: Ist F erfüllbar?
(Falls ja, Ausgabe einer erfüllenden Belegung)
Auch hier: Erfüllbarkeitstest!
4 – 7/25
4 – 8/25
Logik
TU Do
SoSe 2011
Überblick
Ein simpler Erfüllbarkeitstest: Wahrheitstabelle
C. Schubert
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
1
Erfüllbarkeit
Logik
TU Do
SoSe 2011
C. Schubert
Eine einfache Methode zum Testen der Erfüllbarkeit einer Formel F :
Berechne die Wahrheitstabelle von F
Genau dann, wenn es eine Zeile mit einer 1 in der F -Spalte gibt, ist F
erfüllbar
Das ist ein semantischer Erfüllbarkeitstest
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Denn alle möglichen Modelle werden ausprobiert
Der Test beruht also darauf, die Semantik von F vollständig zu bestimmen
Problem: Wahrheitstabellen werden sehr schnell sehr groß
2
Erfüllbarkeitstests: Vorbereitungen
3
Hornformeln
Genauer: Bei n Variablen hat die Wahrheitstabelle 2n Einträge
Falls die Formel erfüllbar ist, wird eine erfüllende Belegung eventuell
schneller gefunden
Falls sie unerfüllbar ist, müssen alle 2n Belegungen ausprobiert werden
Bei den mächtigeren Logiken, die wir später betrachten, müssten sogar
unendlich viele Fälle betrachtet werden
→ Wir suchen deshalb Methoden, die die Erfüllbarkeit nicht durch
Ausprobieren aller Möglichkeiten sondern auf Basis der Syntax der
Formeln testen
Zunächst betrachten wir jedoch den Zusammenhang zwischen Folgern
und Erfüllbarkeit
4 – 9/25
Folgerung und Unerfüllbarkeit
Logik
TU Do
SoSe 2011
C. Schubert
Wie im letzten Beispiel gesehen, lassen sich auch aussagenlogische
Folgerungen auf das Erfüllbarkeitsproblem zurückführen
Erfüllbarkeit
Definition 1
Hornformeln
Erfüllbarkeit:
Vorbereitungen
4 – 10/25
Semantisches Folgern und syntaktisches Schließen
Wir haben gerade eine semantische Folgerungsbeziehung G |= F
definiert:
Ist G eine Formelmenge und F eine Formel, so folgt F semantisch aus G,
falls “in allen Situationen, in denen G gilt, auch F gilt”
Im Falle der Aussagenlogik sind die “Situationen” gerade die passenden
Belegungen
Auch hier gilt, was zu dem simplen Erfüllbarkeitstest gesagt wurde:
Logik
TU Do
SoSe 2011
C. Schubert
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Alle “Situationen” auszuprobieren ist sehr aufwändig und für mächtigere
Logiken unmöglich
Sei G eine Menge von AL-Formeln und F eine AL-Formel
Deshalb suchen wir andere Methoden um Schlüsse zu ziehen, die nicht
alle möglichen Situationen betrachten, sondern direkt die gegebenen
Formeln verwenden
Solche Methoden fassen wir unter dem Oberbegriff syntaktisches
Schließen zusammen:
G |= F ⇐⇒def jede zu G ∪ {F } passende Belegung, die Modell von G ist,
ist auch Modell von F
Wir sagen auch: F folgt aus G
G � F soll bedeuten, dass F aus G durch syntaktische Operationen
hergeleitet werden kann
Die genaue Bedeutung von � hängt dabei jeweils von einem spezifischen
Beweissystem ab
Unsere Mindestanforderung an ein solches Beweissystem ist, dass es
korrekt ist:
G � F =⇒ G |= F
Idealerweise sollte ein Beweissystem auch noch vollständig sein:
G |= F =⇒ G � F
Satz 1 eröffnet uns die Möglichkeit, Beweissysteme aus syntaktischen
Erfüllbarkeitstests zu gewinnen
Satz 1
Sei G eine Menge von AL-Formeln und F eine AL-Formel. Dann gilt:
G |= F ⇐⇒ G ∪ {¬F } ist unerfüllbar
Zu beachten: die Menge G kann hier auch jeweils unendlich sein
4 – 11/25
4 – 12/25
Folgern, Schließen und Erfüllbarkeit: Beispiel
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
DNF und KNF
C. Schubert
Beispiel 3
Die Frage, ob aus den Formeln A → B und B → C die Formel A → C
folgt, können wir wie folgt notieren:
?
{ A → B, B → C } |= A → C
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
C. Schubert
Wie schwierig es ist, die Erfüllbarkeit einer Formel zu testen, hängt stark
von der Struktur der Formel ab
Wie schwierig ist es, die Erfüllbarkeit von Formeln in DNF zu testen?
Einfach: es genügt, eine erfüllbare konjunktive Klausel zu finden
Warum verwenden wir dann nicht den folgenden Erfüllbarkeitstest?
{ A → B, B → C , ¬(A → C ) }
Wenn wir mit Hilfe eines syntaktischen Erfüllbarkeitstests herausfinden,
dass diese Menge unerfüllbar ist, so können wir dies zunächst durch
Das führt in der Regel zu Formeln mit einer relativ kurzen KNF aber einer
langen DNF
{ A → B, B → C } � A → C
Im Folgenden konzentrieren wir uns deshalb auf Erfüllbarkeitstests für
aussagenlogische Formeln in KNF
notieren und aus der Korrektheit des zugrunde liegenden Beweissystems
dann
{ A → B, B → C } |= A → C
Insbesondere: wenn nichts anderes gesagt wird, steht der Begriff “Klausel”
immer für disjunktive Klauseln
folgern
4 – 13/25
Es ist klar, dass die Semantik einer Klausel nicht davon abhängt, ob ein
bestimmtes Literal einmal oder mehrfach in ihr vorkommt
Zum Beispiel:
Hornformeln
Wie wir wissen, kann die in Schritt (1) berechnete Formel F � sehr lang
werden
Leider tendieren Formeln, die in den genannten Anwendungen auftreten,
dazu, wirklich eine lange DNF zu haben
Es ist typisch, dass eine zu modellierende Situation eine Menge von
Teilformeln ergibt, die alle gleichzeitig gelten müssen
unerfüllbar ist
Wir werden jetzt eine kompaktere und für viele Fälle praktischere
Notation für Klauseln einführen:
Erfüllbarkeit:
Vorbereitungen
(1) Wandle F um in eine äquivalente Formel F � in DNF?
(2) Teste die Erfüllbarkeit von F �
Gemäß Satz 1 ist sie äquivalent zur Frage, ob die Formelmenge
Klauseln und Klauselmengen (1/3)
Erfüllbarkeit
Logik
TU Do
SoSe 2011
C. Schubert
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
4 – 14/25
Logik
TU Do
SoSe 2011
Klauseln und Klauselmengen (2/3)
Auch Formeln, die nicht in KNF sind, wollen wir zukünftig häufig durch
Klauselmengen repräsentieren
Um zu einer AL-Formel F die Klauselmenge K(F ) zuzuordnen können
wir wie folgt vorgehen:
Wir wandeln F zunächst in eine äquivalente Formel F � in KNF um
Dann soll K(F ) die Klauselmenge sein, die sich aus F � ergibt
C. Schubert
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Beispiel 4
Wir repräsentieren disjunktive Klauseln deshalb oft nur durch die Menge
ihrer Literale:
Sei F = (A ↔ B)
Statt (A1 ∨ ¬A2 ∨ A1 ) schreiben wir dann {A1 , ¬A2 }
Dann: F � = (¬A ∨ B) ∧ (A ∨ ¬B)
Eine Formel in KNF repräsentieren wir dann durch ihre Klauselmenge, also
die Menge ihrer Literalmengen
K(F ) = { { ¬A, B }, { A, ¬B } }
Die Formel
Für eine Menge G von AL-Formeln sei schließlich:
�
K(G) =def
K(F )
(A ∨ ¬B ∨ A) ∧ (C ∨ B ∨ ¬A)
entspricht der Klauselmenge
F ∈G
{ { A, ¬B }, { C , B, ¬A } }
Der Begriff “Klausel” wird sowohl für Disjunktionen von Literalen (in
Formelschreibweise) als auch für Literalmengen verwendet
Was jeweils gemeint ist, sollte aus dem Zusammenhang klar werden
Zu beachten: Damit K(F ) durch F eindeutig bestimmt ist, nehmen wir
im Folgenden an, dass wir einen Algorithmus haben, der für jedes F ein
eindeutiges äquivalentes F � in KNF berechnet
4 – 15/25
4 – 16/25
Klauseln und Klauselmengen (3/3)
Die Erfüllbarkeit aussagenlogischer Formeln F (oder Formelmengen G)
wollen wir jetzt auf die Erfüllbarkeit ihrer Klauselmengen zurückführen
Zur Erinnerung: F ist erfüllbar, wenn es eine Belegung α gibt mit α |= F
Wenn F in KNF ist, ist F erfüllbar, wenn es eine Belegung gibt, die in
jeder Klausel mindestens ein Literal wahr macht
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
Klauseln und Implikation (1/2)
C. Schubert
Klauseln lassen sich immer auch als Implikationen schreiben:
C. Schubert
Erfüllbarkeit
(A1 ∨ ¬A2 ∨ A4 ∨ ¬A3 ) ist beispielsweise äquivalent zu:
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
(A2 ∧ A3 ) → (A1 ∨ A4 )
Aber auch zu: (A2 ∧ ¬A1 ) → (¬A3 ∨ A4 )
Hornformeln
Allgemein:
i∈I
Wir nennen K erfüllbar, wenn es eine Belegung gibt, die K erfüllt
Es gibt eine Reihe von Spezialfällen:
(¬A1 ∨ · · · ∨ ¬Ak ∨ Ak+1 ∨ · · · ∨ An )
Es gibt keine Belegung α, für die es in ihr ein Literal L gibt mit α |= L
Insofern entspricht sie der Formel ⊥
Wir bezeichnen die leere Klausel im Folgenden meistens durch �
Wenn eine Klauselmenge die Klausel � enthält, ist sie also unerfüllbar
äquivalent zu
(A1 ∧ · · · ∧ Ak ) → (Ak+1 ∨ · · · ∨ An )
Die Klauselmenge ∅ wird andererseits durch jede Belegung erfüllt
Die folgende Äquivalenz ist nützlich beim Umgang mit Implikationen :
Denn: für jede Belegung α gilt, dass jede Literalmenge K ∈ ∅ durch α wahr
gemacht wird
Insofern entspricht die leere Klauselmenge der Formel �
¬(F1 → F2 ) ≡ F1 ∧ ¬F2
4 – 17/25
(1) (A1 ∨ A2 ∨ A3 )
i�∈I
Insbesondere ist
Die Literalmenge ∅ = {} enthält keine Literale
Wir wenden die Erkenntnisse der vorherigen Folie jetzt auf Klauseln mit
drei Literalen an und schreiben sie in Implikationsform
Solche Klauseln lassen sich also immer in einer der folgenden vier Arten
darstellen:
Hornformeln
Sei K = L1 ∨ · · · ∨ Lk eine Klausel mit Literalen Li
Für jede Teilmenge I ⊆ {1, . . . , k} ist dann K äquivalent zu:
�
�
¬Li →
Li
Deshalb definieren wir, dass eine Klauselmenge K durch eine Belegung α
erfüllt wird, wenn es in jeder Klausel K ∈ K ein Literal L gibt mit α |= L
Klauseln und Implikation (2/2)
Erfüllbarkeit:
Vorbereitungen
Logik
TU Do
SoSe 2011
4 – 18/25
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Erfüllbarkeit
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Entspricht: � → (A1 ∨ A2 ∨ A3 )
Hornformeln
1
Erfüllbarkeit
2
Erfüllbarkeitstests: Vorbereitungen
3
Hornformeln
(2) (¬A1 ∨ A2 ∨ A3 )
Entspricht: A1 → (A2 ∨ A3 )
(3) (¬A1 ∨ ¬A2 ∨ A3 )
Entspricht: (A1 ∧ A2 ) → A3
(4) (¬A1 ∨ ¬A2 ∨ ¬A3 )
Entspricht: (A1 ∧ A2 ∧ A3 ) → ⊥
Intuitive Überlegung: Klauseln der Formen (1) und (2) sind für
Erfüllbarkeitstests problematisch, da sie eine Wahlmöglichkeit für die
Variablen auf der rechten Seite haben
Klauseln der Formen (3) und (4) sind leichter zu handhaben
Deshalb betrachten wir nun zuerst Formeln, die nur Klauseln der Form
(3) und (4) haben
Sie lassen sich dadurch charakterisieren, dass sie höchstens ein positives
Literal enthalten
4 – 19/25
4 – 20/25
Hornklauseln und Hornformeln
Wir konzentrieren uns in diesem Abschnitt auf Formeln, die nur Klauseln vom
Typ (3) oder (4) haben
Definition 2
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
Markierungsalgorithmus: Idee
C. Schubert
C. Schubert
Erfüllbarkeit
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Wir betrachten jetzt einen Erfüllbarkeitstest für Horn-Formeln, den
Markierungsalgorithmus
Erfüllbarkeit:
Vorbereitungen
Hornformeln
Intuitiv formuliert, berechnet der Algorithmus die Menge der Variablen,
die durch eine Wahrheitsbelegung wahr gemacht werden müssen, damit
die Formel wahr wird
Hornformeln
Eine Klausel (L1 ∨ · · · ∨ Lk ) heißt Horn-Klausel, falls sie höchstens ein
positives Literal Li hat
Dabei wendet er folgende Regeln an:
Eine Formel in KNF heißt Horn-Formel, falls alle ihre Klauseln
Horn-Klauseln sind
Wenn die Klausel � → A in F vorkommt, muss α(A) = 1 gelten, damit
[[F ]]α = 1 sein kann
Wenn es eine Klausel (A ∧ B) → C gibt und wir schon wissen, dass A und
B wahr sein müssen, können wir schließen, dass C auch wahr sein muss
Wenn es eine Klausel (A ∧ B ∧ C ) → ⊥ gibt, und wir schon wissen, dass
A, B, C wahr sein müssen, so können wir schließen, dass die Formel
unerfüllbar ist
Beispiel 5
(A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ A4 ) ist keine Horn-Formel
(A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ ¬A4 ) ist eine Horn-Formel
Der Markierungsalgorithmus markiert alle Variablen, die aufgrund dieser
Regeln mit dem Wert 1 belegt werden müssen
Nebenbei: Horn-Formeln sind nach dem Logiker Alfred Horn (1918-2001)
benannt
4 – 21/25
Erfüllbarkeitstest für Horn-Formeln: Markierungsalgorithmus
Logik
TU Do
SoSe 2011
Markierungsalgorithmus: Bemerkungen
Logik
TU Do
SoSe 2011
C. Schubert
Beispielausgabe Markierungsalgorithmus
C. Schubert
Erfüllbarkeit
Algorithmus 1 (Markierungsalgorithmus)
Require: Horn-Formel F
1: Markiere alle Variablen Ai , für die es eine Klausel Ai in F gibt
2: while es gibt Klauseln der Art (X1 ∧ · · · ∧ Xk ) → X in F , für die
4 – 22/25
Formel F :
Erfüllbarkeit:
Vorbereitungen
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
Hornformeln
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
5:
6:
7:
Hornformeln
�
�
(A2 → A4 ) ∧ (A2 ∧ A3 ∧ A1 ) → A4 ∧
�
�
�
�
(A5 ∧ A4 ) → ⊥ ∧ A2 ∧ (A4 ∧ A2 ) → A5
(b) X noch nicht markiert ist,
4:
Erfüllbarkeit:
Vorbereitungen
In Implikationsform übersetzt:
(a) X1 , . . . , Xk markiert sind und
3:
Erfüllbarkeit
do
Wähle eine solche Klausel und markiere X
if es gibt eine Klausel der Art (X1 ∧ · · · ∧ Xk ) → ⊥ in F , für die
X1 , . . . , Xk markiert sind then
Ausgabe “unerfüllbar”
else
Ausgabe “erfüllbar”
Markierte Variablen:
A2
A4
A5
F ist unerfüllbar
Satz 2
Algorithmus 1 löst das Erfüllbarkeitsproblem für Horn-Formeln F in linearer
Laufzeit.
4 – 23/25
4 – 24/25
Logik
TU Do
SoSe 2011
Klausur 07/08, Aufgabe 2
C. Schubert
Aufgabenstellung
Beispiellösung
Sei F die Formel
(a) Markiere E , C , A. Es kann keine
Klausel mehr bearbeitet werden, also
ist die Formel erfüllbar.
(B ∨ ¬A ∨ ¬D ∨ ¬C ) ∧ (¬E ∨ C )∧
(¬C ∨ A) ∧ (¬A ∨ ¬D) ∧ E
(a) Wenden Sie den Markierungsalgorithmus auf F an
(b) Geben Sie ein minimales Modell
von F an, d.h. ein Modell α
von F , für das die Anzahl der
aussagenlogischen Variablen X
mit α(X ) = 1 minimal ist.
(c) Sei G eine Hornformel und
seien α1 , α2 zwei Modelle von
G . Zeigen Sie, dass dann auch
die Belegung α mit
α(X ) = min(α1 (X ), α2 (X )) für
jede aussagenlogische Variable
X ein Modell von G ist.
Erfüllbarkeit
Erfüllbarkeit:
Vorbereitungen
Hornformeln
(b) α(E ) = α(C ) = α(A) = 1 und
α(B) = α(D) = 0.
(c) Es genügt, die Behauptung für jede
Klausel C = L1 ∨ · · · ∨ Ln von G zu
zeigen, wobei nur eines der Literale
positiv sein kann.
1. Fall: Li ist negativ für i = 1, . . . , n.
Dann existiert ein i mit
α1 (Li ) = 1. Sei Li = ¬Xj . Also
gilt α1 (Xj ) = 0. Also ist auch
α(Xj ) = 0, also α(C ) = 1
2. Fall: Für ein i ist Li positiv. Gilt
α1 (Lj ) = 1 oder α2 (Lj ) = 1 für
ein j �= i, so folgt α(Lj ) = 1 wie
im ersten Fall. Andernfalls ist
α1 (Li ) = α2 (Li ) = 1 und damit
auch α(Li ) = 1.
4 – 25/25
Logik
TU Do
SoSe 2011
Logik für Informatiker
Logik
TU Do
SoSe 2011
Überblick
C. Schubert
C. Schubert
AL
Resolution
AL
Resolution
Teil 5: Aussagenlogik — Resolution
Dr. Christoph Schubert
basierend auf
Folien von Prof. Thomas Schwentick
1
Aussagenlogische Resolution
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 3. Mai 2011 (15:13 Uhr)
5 – 1/19
Ziel der aussagenlogischen Resolution
Der Markierungsalgorithmus versucht aus den gegebenen Klauseln einen
Widerspruch herzuleiten
Ein solcher Widerspruch kann sich in Zeile 4 ergeben, wo er
gewissermaßen ⊥ markieren müsste
Da ⊥ aber niemals wahr werden kann, ergibt sich ein Widerspruch
Logik
TU Do
SoSe 2011
5 – 2/19
Logik
TU Do
SoSe 2011
Resolventen
C. Schubert
AL
Resolution
Der Markierungsalgorithmus hat dabei die Eigenschaft:
C. Schubert
Der Markierungsalgorithmus basiert auf der Idee, dass wir aus den
AL-Formeln A → B und A die Formel B folgern können
Denn: falls für eine Belegung α gilt
AL
Resolution
α |= A → B und α |= A,
so gilt zwangsläufig auch α |= B
wenn er einen Widerspruch findet, so ist die Klauselmenge unerfüllbar
Wenn er keinen Widerspruch findet, ist sie erfüllbar
Eine ähnliche Folgerung: falls für eine Belegung α gilt
Wir betrachten jetzt einen Erfüllbarkeitstest, der auch für Klauselmengen
funktioniert, die nicht nur Hornklauseln enthalten: aussagenlogische
Resolution
Die Grundidee der Resolution ist genauso:
α |= (A1 ∧ · · · ∧ Ak ) → B und
α |= B → (C1 ∨ · · · ∨ Cl ), so gilt zwangsläufig auch
α |= (A1 ∧ · · · ∧ Ak ) → (C1 ∨ · · · ∨ Cl )
In Mengenschreibweise: falls α die Klauseln {¬A1 , . . . , ¬Ak , B} und
{¬B, C1 , . . . , Cl } wahr macht, so auch die Klausel
{¬A1 , . . . , ¬Ak , C1 , . . . , Cl }
Das lässt sich verallgemeinern zu:
Wir versuchen, aus den gegebenen Klauseln einen Widerspruch herzuleiten
Allerdings ist es hier etwas komplizierter:
Statt herzuleiten, welche Variablen den Wert 1 erhalten müssen,
berechnen wir neue Klauseln, die wahr werden müssten, wenn die
gegebene Klauselmenge wahr wird
Falls sich dabei die leere Klausel � ergibt, haben wir den gewünschten
Widerspruch
Falls α die Klauselmengen {L1 , . . . , Lk , X } und {L�1 , . . . , L�l , ¬X } wahr
macht, so auch die Resolvente {L1 , . . . , Lk , L�1 , . . . , L�l }
dabei
Wir müssen dann beweisen:
Li und L�j Literale (können also positiv oder negiert sein)
X aussagenlogische Variable
Wenn � ableitbar ist, so ist die Klauselmenge unerfüllbar
Wenn � nicht ableitbar ist, ist sie erfüllbar
Wir betrachten zunächst die Schlussregeln, die die aussagenlogische
Resolution verwendet
5 – 3/19
5 – 4/19
Logik
TU Do
SoSe 2011
Schlussregeln
Die Folgerungen auf der vorherigen Folie sind Beispiele für Schlussregeln
Wir definieren nicht allgemein, was eine Schlussregel ist
Übersichtlichere Notation für Schlussregeln
Die Schlussregel der letzten Folie nennen wir Resolutionsregel und
schreiben sie wie folgt:
C. Schubert
AL
Resolution
Im Falle der Resolutionsregel bedeutet korrekt das Folgende:
Für jede Wahl von Zahlen k, l, Literalen L1 , . . . , Lk , L�1 , . . . , L�l und der
Variablen X und für jede passende Wahrheitsbelegung α gilt:
Falls α |= {L1 , . . . , Lk , X } und α |= {L�1 , . . . , L�k , ¬X }
dann gilt auch: α |= {L1 , . . . , Lk , L�1 , . . . , L�l }
{L1 , . . . , Lk , X }
Dabei stehen k, l für beliebige natürliche Zahlen, die Li , L�j für beliebige
Literale und X für eine AL-Variable
{A, B, C }
{A}
{A, ¬B, ¬D}
{A, C , ¬D}
�
{¬A}
{L1 , . . . , Lk , L�1 , . . . , L�l }
ist korrekt für alle k ≥ 0, l ≥ 0, Literale L1 , . . . , Lk , L�1 , . . . , L�l und X ∈ AV
P
Beweis.
soll intuitiv bedeuten: Immer
Q
wenn P wahr ist, ist auch Q wahr
Je nach Kontext können P, Q dabei
unterschiedliche Objekte sein
Sei α eine Belegung, die {L1 , . . . , Lk , X } und {L�1 , . . . , L�l , ¬X } wahr macht.
Schreibe K =def {L1 , . . . , Lk , L�1 , . . . , L�l }. Wir unterscheiden zwei Fälle:
α(X ) = 1 Dann gilt α |= {L�1 , · · · , L�l }. Also auch: α |= K
α(X ) = 0 Dann gilt α |= {L1 , · · · , Lk }. Also auch: α |= K
Wir nennen eine Schlussregel korrekt, wenn sie diese intuitive Bedeutung in
einem präzisen Sinne erfüllt
5 – 5/19
Wie das folgende Beispiel zeigt, ist eine Schlussregel nicht zwangsläufig
korrekt, auch wenn sie zunächst plausibel aussieht
Beispiel 2
AL
Resolution
{L�1 , . . . , L�l , ¬X }
Intuitive Bedeutung
Schlussregeln: Korrektheit
C. Schubert
Die Resolutionsregel
{L1 , . . . , Lk , L�1 , . . . , L�l }
Beispiel 1
Logik
TU Do
SoSe 2011
Lemma 1 (Resolutionslemma)
{L�1 , . . . , L�l , ¬X }
{L1 , . . . , Lk , X }
Korrektheit der Resolutionsregel
Logik
TU Do
SoSe 2011
5 – 6/19
Logik
TU Do
SoSe 2011
Ein “Resolutionsbeweis” (1/2)
C. Schubert
C. Schubert
AL
Resolution
AL
Resolution
Die Resolutionsmethode erzeugt aus einer gegebenen Menge K von
Klauseln durch Anwendung der Resolutionsregel neue Klauseln
Die folgende Schlussregel ist nicht korrekt:
{L1 , . . . , Lk , X , Y } {L�1 , . . . , L�l , ¬X , ¬Y }
Wir werden sehen: erhalten wir so die leere Klausel �, so ist K unerfüllbar
{L1 , . . . , Lk , L�1 , . . . , L�l }
Ein Resolutionsschritt ist die einmalige Anwendung der Resolutionsregel
zur Herleitung einer Resolventen K aus zwei Klauseln K1 , K2
Denn: es gibt ein Gegenbeispiel. Wir betrachten die Klauseln
Ein Resolutionsschritt lässt sich als kleiner Baum visualisieren:
K1 = {A, B, C },
K2 = {A� , ¬B, ¬C }
{A, ¬B}
und die Belegung α : A �→ 0, B �→ 1, C �→ 0, A� �→ 0
{B, ¬C }
{A, ¬C }
Klar: α |= K1 und α |= K2
Eine Anwendung der nicht korrekten Schlussregel ergibt die Klausel
{A, A� }
Aber: α �|= {A, A� }
Bevor wir eine Schlussregel verwenden, müssen wir uns also immer zuerst von
ihrer Korrektheit überzeugen
5 – 7/19
5 – 8/19
Logik
TU Do
SoSe 2011
Ein “Resolutionsbeweis” (2/2)
Der Resolutionssatz der Aussagenlogik (1/5)
C. Schubert
Mehrere Resolutionsschritte lassen sich als etwas größerer Baum
darstellen: Z.B. für Klauseln {A, B, C }, {¬A, B, C }, {B, ¬C }, {¬B}:
{A, B, C }
{B, ¬C }
{¬B}
AL
Resolution
C. Schubert
Also: wenn aus einer Klauselmenge K die leere Klausel � durch
Anwendung der Resolutionsregel erreicht wird, so ist K unerfüllbar
Außerdem werden wir zeigen, dass die Umkehrung auch gilt
Zur Vorbereitung definieren wir zunächst die Menge aller Klauseln, die
sich aus K durch Anwendung von Resolutionsschritten erreichen lassen
Dazu definieren wir:
{B, C }
{B}
Res(K) =def K ∪ { K | K ist Resolvente zweier Klauseln aus K }
Res1 (K)=def Res(K)
k−1 (K)), für jedes k > 1
Resk (K)=def Res(Res
�
Res∞ (K)=def
Resk (K)
�
Insgesamt erhalten wir hier die leere Klausel (�) als letzte Resolvente
Da jede Belegung, die zwei Klauseln wahr macht, auch ihre Resolvente
wahr macht, und � nicht erfüllbar ist, folgt: die vier Klauseln sind nicht
(zusammen) erfüllbar
k≥1
Satz 1 (Resolutionssatz)
→ Mit Resolution lässt sich die Unerfüllbarkeit von Klauselmengen
feststellen!
Eine endliche Klauselmenge K ist genau dann unerfüllbar, wenn � ∈ Res∞ (K)
5 – 9/19
Logik
TU Do
SoSe 2011
5 – 10/19
Der Resolutionssatz der Aussagenlogik (3/5)
C. Schubert
Satz 1 (Resolutionssatz)
Eine endliche Klauselmenge K ist genau dann unerfüllbar,wenn � ∈ Res∞ (K)
AL
Resolution
Das müssen wir allerdings noch allgemein beweisen
{¬A, B, C }
Der Resolutionssatz der Aussagenlogik (2/5)
Logik
TU Do
SoSe 2011
AL
Resolution
Logik
TU Do
SoSe 2011
C. Schubert
Beweis (Fortsetzung)
Wir zeigen jetzt (2), die Vollständigkeit der Resolution:
AL
Resolution
K unerfüllbar =⇒ � ∈ Res∞ (K)
Der Beweis ist eine Induktion nach der Anzahl n der Variablen in K
n = 0:
Beweis
Wir zeigen:
Da K keine Variablen enthält, aber unerfüllbar ist, muss K die leere
Klausel � enthalten �
(1) � ∈ Res∞ (K) =⇒ K unerfüllbar
(2) K unerfüllbar =⇒ � ∈ Res∞ (K)
n−1 → n:
Wir zeigen zuerst (1), die Korrektheit der Resolution
Sei also K unerfüllbar mit Variablen {A1 , . . . , An }
Sei K1 die Klauselmenge, die aus K entsteht, indem
Wir nehmen also an: � ∈ Res∞ (K)
→ es gibt ein k, für das gilt: � ∈ Resk (K)
→ Da keine Belegung die Klausel � wahr machen kann, ist also Resk (K)
unerfüllbar
Aus dem Resolutionslemma folgt:
Klauseln, in denen An (positiv) vorkommt, gestrichen werden, und
¬An aus allen Klauseln entfernt wird
Sei dual dazu K2 die Klauselmenge, die aus K entsteht indem
Klauseln, in denen ¬An vorkommt, gestrichen werden, und
An aus allen Klauseln entfernt wird
Für jede Klauselmenge K� gilt: K� erfüllbar =⇒ Res(K� ) erfüllbar
Behauptung: K1 und K2 sind unerfüllbar
Wäre K erfüllbar, dann wäre also auch Res1 (K) erfüllbar
Dann wäre auch Res2 (K) erfüllbar, ...
Induktion liefert: Wäre K erfüllbar, dann wäre auch Resk (K) erfüllbar
Da Resk (K) aber unerfüllbar ist, können wir folgern, dass auch K
unerfüllbar ist
Denn: andernfalls könnte eine erfüllende Belegung α1 von K1 durch
α1 (An ) =def 1 oder eine erfüllende Belegung α2 von K2 durch α2 (An ) =def 0
zu einer erfüllenden Belegung von K erweitert werden
Mit Induktion folgt: � ∈ Res∞ (K1 ) und � ∈ Res∞ (K2 )
5 – 11/19
5 – 12/19
Logik
TU Do
SoSe 2011
Der Resolutionssatz der Aussagenlogik (4/5)
C. Schubert
Beweis (Fortsetzung)
AL
Resolution
Wir wissen also: � ∈ Res∞ (K1 ) und � ∈ Res∞ (K2 )
Es gibt deshalb ein k, so dass gilt: � ∈ Resk (K1 ) und � ∈ Resk (K2 )
C. Schubert
Beispiel zur Illustration des Beweises des Resolutionssatzes
K = {{A1 , A2 , A3 }, {¬A1 , A2 , A3 }, {A2 , ¬A3 }, {¬A2 }}
Ein Resolutionsbaum für K1 :
K kommt in K vor oder
K ∪ {¬An } kommt in K vor
{¬A2 }
Daraus folgt, dass aus jedem Resolutionsbaum für K1 ein
Resolutionsbaum für K gewonnen werden kann, indem, wenn nötig,
Klauseln um ¬An ergänzt werden
(Beispiel gleich)
Insbesondere wird aus dem Resolutionsbaum für � dann ein
Resolutionsbaum für � oder {¬An }
{A2 , ¬A3 }
{¬A3 }
Ein Resolutionsbaum für K2 :
Analog lässt sich mit Hilfe von K2 zeigen:
� ∈ Resk (K) oder {An } ∈ Resk (K)
Also gilt insgesamt:
{A1 , A2 , A3 }
{¬A2 }
� ∈ Resk (K) oder
{An } ∈ Resk (K) und {¬An } ∈ Resk (K)
{¬A1 , A2 , A3 }
{A2 , A3 }
{A3 }
Also: hier sind {A3 }, {¬A3 } ∈ Res2 (K) und deshalb auch � ∈ Res3 (K)
�
5 – 13/19
Logik
TU Do
SoSe 2011
5 – 14/19
Bemerkungen zum Resolutionsalgorithmus
C. Schubert
Aus dem Resolutionssatz gewinnen wir Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel
AL
Resolution
K2 = {{A1 , A2 }, {¬A1 , A2 }, {¬A2 }}
Denn: für jede Klausel K aus K1 gilt:
Ein Erfüllbarkeitstest für AL-Formeln
Logik
TU Do
SoSe 2011
K1 = {{A2 }, {¬A2 }}
Behauptung: � ∈ Resk (K) oder {¬An } ∈ Resk (K)
In jedem Fall folgt: � ∈ Resk+1 (K) �
Der Resolutionssatz der Aussagenlogik (5/5)
AL
Resolution
Logik
TU Do
SoSe 2011
C. Schubert
Die Korrektheit dieses Algorithmus folgt aus dem Resolutionssatz
Der Algorithmus terminiert immer, da die Menge K nicht unbegrenzt
wachsen kann:
AL
Resolution
K kann höchstens so viele Klauseln enthalten, wie sich aus den n
Variablen von F bilden lassen: ≤ 4n
Resolutionsalgorithmus
Require: AL-Formel F in KNF
Ensure: “ja”, falls F erfüllbar ist, sonst “nein”
1: K := K(F )
2: repeat
3:
K� := K
4:
K := Res(K)
�
5: until K = K oder � ∈ K
6: if � ∈ K then
7:
Ausgabe “nein”
8: else
9:
Ausgabe “ja”
Wie aufwändig ist dieser Algorithmus?
Obere Schranke, wie gesagt: nach maximal 4n Schleifendurchläufen endet
der Algorithmus
Untere Schranke: es gibt (Familien von) Formeln, für die exponentiell
viele Schleifendurchläufe nötig sind
Satz 2 (Haken 85)
Es gibt ein c > 1 und eine Folge F1 , F2 , . . . unerfüllbarer AL-Formeln mit
Fn hat ≤ n3 Variablen
Der Resolutionsalgorithmus benötigt bei Eingabe Fn mindestens c n
Schleifendurchläufe
5 – 15/19
5 – 16/19
Beispiel-Berechnung zu Resolutionsalgorithmus
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
Klausur 07/08, Aufgabe 1
C. Schubert
AL
Resolution
Beispiel 3
Eingabe: F = (A1 ∨ A2 ∨ A3 ) ∧ ¬A2 ∧ (A2 ∨ ¬A1 ∨ A3 ) ∧ (A2 ∨ ¬A3 )
K = {{A1 , A2 , A3 }, {¬A1 , A2 , A3 }, {A2 , ¬A3 }, {¬A2 }}
Res1 (K) = K ∪ {{A2 , A3 }, {¬A3 }, {A1 , A3 },
{¬A1 , A3 }, {A1 , A2 }, {¬A1 , A2 }}
2
1
3
2
C. Schubert
Beispiel 4 (Klausur 07/08, Aufgabe 1)
Bespiellösung zu (b)
Anton hat gerade seine Logik-Klausur
geschrieben. Wie immer diskutiert er im
Anschluss mit seinen Kommilitonen über
die einzelnen Aufgaben. Dabei gelangt er
zu folgenden Überlegungen:
1 Für ein Bestehen der Klausur muss
er mindestens eine der drei
Aufgaben richtig gelöst haben.
Zeige die Unerfüllbarkeit von
(¬B ∨ A1 ∨ A2 ∨ A3 )∧
(¬A3 ∨ A1 ∨ A2 ) ∧ (¬A1 ∨ A2 )∧
(A1 ∨ ¬A2 ) ∧ B ∧ ¬A1
{¬B, A1 , A2 , A3 }
{B}
{A1 , A2 , A3 }
{A1 , A2 , ¬A3 }
{A1 , A2 }
{A1 , ¬A2 }
(a) Übersetzen Sie Antons Überlegungen in aussagenlogische Formeln.
{A1 }
{¬A1 }
(b) Zeigen Sie mittels aussagenlogischer Resolution, dass Anton
nur dann die Klausur besteht,
wenn er die erste Aufgabe richtig
gelöst hat.
�
2
Res (K) = Res (K) ∪ {{A1 }, {¬A1 }, {A2 }, {A3 }}
Res (K) = Res (K) ∪ {�}
3
5 – 17/19
Ein Zwischenfazit
Wir haben jetzt also einen Algorithmus für das Erfüllbarkeitsproblem für
AL-Formeln, der weniger naiv vorgeht als die Wahrheitstabellen-Methode
Aber wesentlich effizienter ist er nicht
Wir wissen sogar: dieser Algorithmus hat im schlimmsten Fall
exponentielle Laufzeit (Satz von Haken)
Die Frage, ob es für dieses Problem einen Algorithmus mit polynomieller
Laufzeit gibt, ist äquivalent zum berühmtesten offenen Problem der
(Theoretischen) Informatik: dem P-NP-Problem
Näheres dazu erfahren Sie in der GTI-Vorlesung
Hier nur soviel:
Logik
TU Do
SoSe 2011
C. Schubert
AL
Resolution
Das Erfüllbarkeitsproblem für AL-Formeln ist NP-vollständig
Wenn es einen polynomiellen Algorithmus hat, ist P = NP
Wenn es keinen polynomiellen Algorithmus hat, ist P �= NP
Nichtsdestotrotz: Die Fähigkeit, in der Praxis SAT-Probleme zu lösen
(Stichwort: SAT-Solving). hat sich in den vergangenen 10-15 Jahren
gewaltig verbessert
Für einige eingeschränkte Klassen von AL-Formeln lässt sich das
Erfüllbarkeitsproblem effizient lösen:
Horn-Formeln (das haben wir gesehen)
2-SAT-Formeln (mit maximal 2 Literalen je Klausel)
Im nächsten Kapitel beschäftigen wir uns noch mit der Erfüllbarkeit von
unendlichen Formelmengen
5 – 19/19
AL
Resolution
Aufgabe 3 konnte er nur dann
richtig lösen, wenn er eine der
ersten beiden richtig gelöst hat.
Er hat die ersten beiden Aufgaben
entweder beide richtig oder beide
falsch gelöst.
5 – 18/19
Logik
TU Do
SoSe 2011
Logik für Informatiker
Unser Programm für Heute
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Beispiele
Beispiele
ML: Syntax
ML: Syntax
Teil 6: Modallogik — Einführung
Dr. Christoph Schubert
1
Beispiele
2
Modallogik: Syntax und Semantik
basierend auf
Folien von Prof. Thomas Schwentick
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 10. Mai 2011 (16:26 Uhr)
6 – 1/18
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
ML: Syntax
6 – 2/18
Ein klassisches Beispiel: Muddy Children
Grundsituation:
Drei Kinder haben draußen gespielt und einige haben jetzt
möglicherweise ein schmutziges Gesicht
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
ML: Syntax
Kein Kind kann sehen, ob es selbst ein schmutziges Gesicht hat
Jedes Kind sieht, welches der anderen Kinder ein schmutziges Gesicht hat
1
Erste Interaktion:
Beispiele
Der Vater sagt: “Mindestens einer von euch hat ein schmutziges Gesicht”
Zweite Interaktion:
Der Vater fragt: “Wer weiß, ob er ein schmutziges Gesicht hat?”
2
Kein Kind meldet sich
Modallogik: Syntax und Semantik
Dritte Interaktion:
Der Vater fragt: “Wer weiß, ob er ein schmutziges Gesicht hat?”
Kein Kind meldet sich
Vierte Interaktion:
Der Vater fragt: “Wer weiß, ob er ein schmutziges Gesicht hat?”
Alle Kinder melden sich und sagen “Ich habe ein schmutziges Gesicht”
Wie ist dies zu erklären?
6 – 3/18
6 – 4/18
Logik
TU Do
SoSe 2011
Noch ein Beispiel: Ein Murmelspiel
Was haben die beiden Beispiele gemeinsam?
Beide Szenarien lassen sich im Prinzip mit Hilfe aussagenlogischer
Variablen modellieren:
C. Schubert
Wir betrachten ein Murmelspiel:
Beispiele
Eine Murmel kann in A oder B eingeworfen
werden
Logik
TU Do
SoSe 2011
Gemeinsamkeiten der beiden Beispiele
ML: Syntax
Murmelspiel:
Variablen R1 , R2 mit der Bedeutung “Schalter 1 (bzw. Schalter 2) führt nach
rechts”
Variable D mit der Bedeutung “Die letzte Murmel wurde in D ausgegeben”
Aber: in beiden Szenarien ist es nötig, über verschiedene
Variablenbelegungen zu sprechen, die inhaltlich miteinander verknüpft
sind:
Wird in der Grundstellung eine Murmel in
B eingeworfen, so passiert sie Schalter 2
und wird bei C ausgegeben
Anschließend schaltet Schalter 2 um
Wird nun noch eine Murmel in B
eingeworfen, so wird sie bei D
ausgegeben und Schalter 2 kehrt in die
Ausgangsposition zurück
Muddy Children:
Jedes Kind weiß, ob die beiden anderen Kinder schmutzig sind, aber es weiß
nicht, ob es selbst schmutzig ist
Kind i kennt also nicht den Wert von Ci aber die Werte der anderen beiden
Variablen
Für jedes Kind sind also zwei mögliche Situationen denkbar, entsprechend zwei
verschiedenen Variablenbelegungen
Murmelspiel:
Frage: Ist es möglich, ausgehend von der Grundstellung, zwei Murmeln so
einzuwerfen, dass die dritte Murmel auf jeden Fall den Ausgang D nimmt?
Jede Schalterstellung entspricht einer Variablenbelegung
Jeder Einwurf einer Murmel führt zu einer neuen Schalterstellung und damit zu
einer neuen Variablenbelegung
6 – 5/18
Logik
TU Do
SoSe 2011
�
3
�
�
(1, 1, 0)
�
3
2
�
(1, 0, 1)
�
1
�
�
(1, 0, 0)
�
�
(0, 1, 0)
�
1
2
�
�
�
3
�
(0, 1, 1)
�
1
�
2
�
�
�
2
3
�
�
�
�
(0, 0, 1)
�
1
�
�
�
(0, 1, 0)
�
�
1
(1, 0, 1)
1
�
(1, 0, 0)
(0, 0, 1)
�
�
�
Wir verwenden die folgende Notation:
�
�
2
2
3
�
�
2
�
�
�
�
3
(1, 1, 0)
�
C. Schubert
(1, 1, 1)
ML: Syntax
(0, 1, 1)
�
3
(0, 0, 0)
3
In der Geschichte von Folie 2 befinden
wir uns in Situation (1, 1, 1), in der alle
Kinder schmutzig sind
Kind 1 hält in dieser Situation die
Situationen (1, 1, 1) und (0, 1, 1)
für möglich
(0, 0, 0)
Die Vektoren stehen für die acht möglichen Situationen und geben
jeweils die Werte der Variablen (C1 , C2 , C3 ) an
Eine mit i beschriftete Kante führt von Situation a zu Situation b, wenn
Kind i in Situation a die Situation b für möglich hält
Insbesondere gelten:
(a) Kind 1 hält es für möglich,
dass ¬C1 gilt
(b) Kind 1 weiß, dass C2 gilt
Für jede Situation gibt es zusätzlich noch drei Kanten (1,2,3) zu sich
selbst (hier nicht eingezeichnet)
6 – 7/18
Logik
TU Do
SoSe 2011
Muddy Children: Grundszenario
Beispiele
�
1
6 – 6/18
C. Schubert
1
2
�
�
�
ML: Syntax
jeweils eine Variable Ci mit der Bedeutung “Kind i hat ein schmutziges
Gesicht”
Nachdem die Murmel einen Schalter (1
oder 2) passiert hat, wird dieser gekippt
Beispiel:
Das Muddy-Children-Beispiel lässt sich durch folgendes Diagramm
modellieren:
(1, 1, 1)
Beispiele
Muddy Children:
Grundstellung: beide Schalter führen nach
links
Muddy Children: Modellierung
C. Schubert
s |= ♦i F : “In Situation s hält
Kind i für möglich, dass F gilt”
s |= �i F : “In s weiß i, dass F
gilt”
Beispiele
ML: Syntax
Die beiden Aussagen lassen sich dann
schreiben durch:
(a) (1, 1, 1) |= ♦1 ¬C1
(b) (1, 1, 1) |= �1 C2
Was weiß Kind 1 in Situation (1, 1, 1)
über das Wissen von Kind 2?
Kind 1 hält es für möglich, dass
Kind 2 die Situation (0, 0, 1) für
möglich hält
Also:
(1, 1, 1) |= ♦1 ♦2 (¬C1 ∧ ¬C2 )
Und Kind 1 weiß, dass Kind 2
weiß, dass C3 gilt:
(1, 1, 1) |= �1 �2 C3
Außerdem: (1, 1, 1) |=
♦1 ♦2 ♦3 (¬C1 ∧ ¬C2 ∧ ¬C3 )
6 – 8/18
Logik
TU Do
SoSe 2011
Muddy Children: Nach der ersten Interaktion
Nachdem der Vater verkündet hat, dass mindestens ein Kind schmutzig
ist, hat sich das Wissen wie folgt verändert:
3
�
�
3
2
(1, 0, 1)
�
1
�
(1, 0, 0)
�
�
Beispiele
1
�
�
�
�
2
�
(1, 1, 0)
Nachdem sich herausgestellt hat, dass kein Kind weiß, ob es schmutzig
ist, wissen nun alle Kinder, dass mindestens zwei Kinder schmutzig sein
müssen
Das relevante Wissen wird also durch das folgende Diagramm
beschrieben:
(1, 1, 1)
C. Schubert
ML: Syntax
(1, 1, 1)
�
Muddy Children: Nach der zweiten Interaktion
�
3
(0, 1, 0)
�
1
3
(0, 1, 1)
�
�
�
2
�
(1, 1, 0)
�
Da alle Beteiligten wissen, dass (0, 0, 0) unmöglich ist, kommt diese
Situation im Modell nicht mehr vor
Das wirkt sich sogar auf das Wissen in der Situation (1, 1, 1) aus:
(1, 1, 1) �|= ♦1 ♦2 ♦3 (¬C1 ∧ ¬C2 ∧ ¬C3 )
Es gilt jetzt aber beispielsweise: (0, 0, 1) |= �3 C3
D.h. in Situation (0, 1, 1) kann Kind 2 also schließen, ob es schmutzig ist,
wenn es weiß, ob Kind 3 weiß, dass es schmutzig ist
6 – 9/18
Logik
TU Do
SoSe 2011
�
�
�
(1, 0, 1)
��
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
Beispiele
ML: Syntax
ML: Syntax
1
Beispiele
2
Modallogik: Syntax und Semantik
Hier soll bedeuten:
�
(1, 0, 0)
�
(0, 1, 1)
6 – 10/18
(0, 0, 1) |= ♦♦�D?
� � �
(0, 0, 1)
1
C. Schubert
Anders geschrieben: Gilt
(1, 1, 0)
�
(1, 0, 1)
ML: Syntax
Aus der Antwort von Kind 2 auf die zweite Frage kann Kind 1 also
schließen, ob es schmutzig ist
Nachdem der Vater zum zweiten Mal ohne Antwort gefragt hat, ist in
der Situation (1, 1, 1) deshalb keines der drei Kinder mehr unsicher: sie
wissen alle, dass sie schmutzig sind
Deshalb gilt außerdem: (0, 1, 1) |= ¬♦2 ((C2 ∧ �3 C3 ) ∨ (¬C2 ∧ ¬�3 C3 ))
Das Murmelspiel können wir auf
ähnliche Weise als Diagramm
repräsentieren:
�
2
Beispiele
(1, 1, 1) |= ¬♦1 ((C1 ∧ �2 C2 ) ∨ (¬C1 ∧ ¬�2 C2 ))
D.h. Kind 3 weiß in Situation (0, 0, 1), dass es schmutzig ist
Unsere Frage war:
Ist es möglich, ausgehend von der
Situation, in der beide Schalter
nach links führen, zwei Murmeln
so einzuwerfen, dass die dritte
Murmel auf jeden Fall den
Ausgang D nimmt?
�
C. Schubert
Wie gesagt: da Kind 3 nicht wusste, ob es schmutzig ist, hält Kind 2 in
Situation (0, 1, 1) die Situation (0, 0, 1) nicht mehr für möglich (und in
(1, 1, 1) sowieso nicht)
Entsprechendes gilt bezüglich der Situationen (1, 0, 0) und (0, 1, 0)
Analog zum letzten Fall gilt jetzt:
(0, 0, 1)
Murmelspiel: Diagramm und Formeln
�
Logik
TU Do
SoSe 2011
�
(0, 1, 0)
Die “Situationen” werden hier durch
die Variablen (R1 , R2 , D) repräsentiert
Ri = 1 ⇐⇒ Schalter i führt nach
rechts
D = 1 ⇐⇒ letzte Kugel war in D
Kanten entsprechen Situations-Übergängen durch Einwurf einer Murmel
s |= ♦F : In einem Schritt
kann das System von
Situation s aus in eine
Situation kommen, in der F
gilt
s |= �F : In einem Schritt
kommt das System von
Situation s aus zwangsläufig
in eine Situation, in der F gilt
Wir beobachten:
(1, 1, 0) |= �D
→ (1, 0, 0) |= ♦�D
→ (0, 0, 1) |= ♦♦�D
6 – 11/18
6 – 12/18
Syntax der Modallogik
Hier: nur Modallogik über Strukturen, deren Kanten nicht markiert sind (also
nur ♦, � und nicht ♦i )
Definition 1 (Syntax Modallogik)
Logik
TU Do
SoSe 2011
C. Schubert
Beispiele
jede aussagenlogische Variable ist in ML
3
sind F und G in ML, so auch ¬F , (F ∧ G ) und (F ∨ G )
4
Beispiele
Definition 2 (Kripke-Struktur)
ML: Syntax
einer Grundmenge V von Welten
einer 2-stelligen Erreichbarkeits-Relation E , sowie
einer Funktion P, die jeder Welt s eine endliche Menge P(s)
aussagenlogischer Variablen zuordnet
ist F is ML, so auch ♦F und �F
Oftmals stellen wir Kripke-Strukturen als Graphen dar.
Somit ist jede aussagenlogische Formel auch eine modallogische Formel
für ♦ sagen wir “Diamond” und für � sagen wir “Box”
Beispiel: Kripke-Struktur
1
B �
Beispielformeln:
♦♦�D
(♦A ∨ �B) ∧ (♦�(C ∨ ♦A))
�
4
C �
Konvention: �, ♦ binden stärker als ∨, ∧, also: �A ∧ C ≡ (�A) ∧ C
Wir verwenden wieder F → G als Abkürzung für ¬F ∨ G
� 2
A, B
�
�3
�
A
K1 = (V1 , E1 , P1 )
V1 = {1, 2, 3, 4}
E1 = {(1, 2), (1, 4), (2, 3),
(3, 1), (3, 2), (4, 3), (4, 4)}
P1 (1) = {B}, P1 (2) = {A, B},
P1 (3) = {A}, P1 (4) = {C }
6 – 13/18
Logik
TU Do
SoSe 2011
Modallogik: Semantik (2/2)
C. Schubert
Eine Kripke-Struktur K = (V , E , P) besteht aus
� und ⊥ sind in ML
2
Modallogische Formeln werden in Kripke-Strukturen interpretiert:
ML: Syntax
Der Menge ML der Formeln der Modallogik ist wie folgt definiert:
1
Logik
TU Do
SoSe 2011
Modallogik: Semantik (1/2)
Definition 3 (Semantik Modallogik)
C. Schubert
Sei K = (V , E , P) eine Kripkestruktur und s ∈ V eine Welt. Wir definieren
Beispiele
ML: Syntax
K, s |= F
6 – 14/18
Beispiel Semantik Modallogik
Logik
TU Do
SoSe 2011
C. Schubert
Die Berechnung aller Welten s einer Kripke-Struktur K, für die eine gegebene
Formel F der Modallogik gilt, erfolgt “bottom-up” gemäß der Definition der
Semantik
Beispiele
ML: Syntax
Beispiel
für eine modallogische Formel F induktiv wie folgt:
Wir berechnen die Welten von K1 , in denen F = ♦�A ∧ �♦(A ∧ ¬B) gilt:
1
2
3
4
A
� �
B
�
�
� 2
K1 = 1
¬B
� �
A, B
B �
�
A ∧ ¬B
�
♦(A ∧ ¬B)
�
�
�
�
4
�♦(A ∧ ¬B) �
�3
C �
A
�A
�
♦�A
�
�
F
�
-
K, s |= �,
K, s �|= ⊥,
K, s |= X , falls X ∈ P(s),
K, s |= ¬F , falls K, s �|= F ,
K, s |= F ∧ G , falls K, s |= F und K, s |= G ,
K, s |= F ∨ G , falls K, s |= F oder K, s |= G ,
K, s |= ♦F , falls es eine Welt s � gibt mit: (s, s � ) ∈ E und K, s � |= F ,
K, s |= �F , falls für jede Welt s � gilt: falls (s, s � ) ∈ E so K, s � |= F
Bemerkung: Die Menge P(s) kodiert die Wahrheitsbelegung, die in Welt s
gilt: P(s) entspricht einer Wahrheitsbelegung αs via:
αs (X ) = 1 ⇐⇒ X ∈ P(s)
6 – 15/18
6 – 16/18
Logik
TU Do
SoSe 2011
Ein weiteres Beispiel: Ein Spiel
2
�4
�
�
�
�3
1
�
7�
�� 6
�8
�9
5
Zwei Spieler ziehen abwechselnd
eine Spielfigur von einem Knoten
über eine gerichtete Kante zu
einem anderen Knoten
Nur eine Spielfigur im Spiel
Diese wird von beiden bewegt
Wer nicht ziehen kann, verliert
Wir können die Knoten des
Spielgraphen als Welten einer
Kripkestruktur auffassen
Aussagen über das Spiel können
dann durch modallogische Formeln
ausgedrückt werden
“In der aktuellen Position kann der
Spieler am Zug nicht ziehen”: �⊥
Beispiele
Erläuterung:
ML: Syntax
C. Schubert
In jeder Welt gilt �
Wenn es von einer Welt s
einen Übergang in eine
andere Welt gibt, so gilt
K, s |= ♦�
→ �⊥ ≡ ¬♦� drückt aus, dass
es keinen Übergang in eine
andere Welt gibt
C. Schubert
Die Interpretation der aussagenlogischen Operatoren (∧, ∨, ¬) ist in
allen “Anwendungsbereichen” gleich.
Beispiele
ML: Syntax
� und ♦ können hingegen unterschiedlich interpretiert werden, und daher
auch zur Modellierung unterschiedlicher Sachverhalte verwendet werden:
Mögliche Interpretationen
�F
F notwendig
der Agent weiß F
Insbesondere drückt �⊥ also aus,
dass der Spieler, der nicht am Zug
ist, gewinnt
F beweisbar
F wahr nach allen
Ausführungen eines
Programmes
F in allen zukünftigen
Zuständen wahr
“In der aktuellen Position kann der
Spieler am Zug in einem Zug
gewinnen”: ♦�⊥
“In der aktuellen Position kann der
Spieler am Zug in zwei Zügen
gewinnen”: ♦�♦�⊥
“Egal was der Spieler am Zug als
erstes macht, er kann auf jeden
Fall im nächsten Zug gewinnen”:
��♦�⊥
Logik
TU Do
SoSe 2011
Zur Modellierung mittels Modallogik
6 – 17/18
♦F
F möglich
der Agent hält F für
möglich
F wahr nach einer
Ausführung eines Programmes
F in einem zukünftigen Zustand wahr
“Alethische Logik”
“Epistemische Logik”
“Beweislogik”
“Dynamische Logik”
“Temporallogik”
6 – 18/18
Logik
TU Do
SoSe 2011
Logik für Informatiker
Teil 7: Modallogik — Äquivalenzen und Erfüllbarkeit
Unser Programm für Heute
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Äquivalenzen
Normalformen
Äquivalenzen
Normalformen
AL Tableau
AL Tableau
ML Tableau
ML Tableau
1
Äquivalenzen und Normalformen
2
Aussagenlogisches Tableau
3
Modallogisches Tableau
Dr. Christoph Schubert
basierend auf
Folien von Prof. Thomas Schwentick
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 24. Mai 2011 (13:22 Uhr)
7 – 1/25
Überblick
Logik
TU Do
SoSe 2011
7 – 2/25
Modallogik: Substitutionslemma
C. Schubert
Definition 1
C. Schubert
Äquivalenzen
Normalformen
Zwei ML-Formeln F , G heißen äquivalent und wir schreiben F ≡ G , falls für
alle Kripke-Strukturen K und alle Welten s gilt:
Äquivalenzen
Normalformen
AL Tableau
K, s |= F ⇐⇒ K, s |= G
ML Tableau
1
Logik
TU Do
SoSe 2011
Äquivalenzen und Normalformen
AL Tableau
ML Tableau
Sowohl das Substitutionslemma als auch das Ersetzungslemma der
Aussagenlogik gelten in gleicher Form auch für die Modallogik
2
Substitutionslemma Modallogik
Aussagenlogisches Tableau
Seien F1 und F2 modallogische Formeln, für die F1 ≡ F2 gilt
3
Sei S eine Substitution AV → ML
Dann gilt S(F1 ) ≡ S(F2 )
Modallogisches Tableau
Beispiel 1
F1 = A ∧ B und F2 = ¬(¬A ∨ ¬B). Betrachte Substitution
S : A �→ �C ; B �→ �D. Das Substitutionslemma gibt:
�C ∧ �D ≡ ¬(¬�C ∨ ¬�D)
7 – 3/25
7 – 4/25
Ersetzungslemma
Logik
TU Do
SoSe 2011
C. Schubert
Ersetzungslemma Modallogik
Sei F1 eine modallogische Formel, in der eine Teilformel G1 vorkommt
Modallogik: Äquivalenzen (1/2)
Satz 1
Äquivalenzen
Normalformen
C. Schubert
Für ML-Formeln gelten alle Äquivalenzen aus dem Satz aus Folie 3-9
AL Tableau
Außerdem gilt für ML-Formeln F , G :
ML Tableau
Dualität
Sei G1 ≡ G2
Logik
TU Do
SoSe 2011
Äquivalenzen
Normalformen
AL Tableau
ML Tableau
¬�F ≡ �¬F
¬�F ≡ �¬F
Sei F2 die Formel, die aus F1 entsteht, indem (ein Vorkommen von) G1
durch G2 ersetzt wird
Distributivität
�(F ∧ G ) ≡ �F ∧ �G
�(F ∨ G ) ≡ �F ∨ �G
Dann gilt: F1 ≡ F2
Distribution
Beispiel 2
Wenn �(F → G ) gilt, dann auch �F → �G
Wenn �(F → G ) gilt, dann auch �F → �G
�(F → G ) ≡ �F → �G
F1 = ��A
G1 = �A
Notwendigkeit
Ist F allgemein gültig, so auch �F
G2 = ¬�¬A
Dann gilt: ��A ≡ �¬�¬A
Folgerung
Zu jeder ML-Formel F gibt es eine äquivalente Formel F � in
Negations-Normalform, in der die Negation ¬ nur unmittelbar vor Variablen
vorkommt
7 – 5/25
Modallogik: Äquivalenzen (2/2)
Beweis.
Als Beispiel für den Beweis der Aussagen aus Satz 1 zeigen wir: Wenn
�(F → G ) gilt, dann auch �F → �G
Logik
TU Do
SoSe 2011
7 – 6/25
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Äquivalenzen
Normalformen
Äquivalenzen
Normalformen
AL Tableau
AL Tableau
ML Tableau
Sei also K = (V , E , P) eine Kripke-Struktur und s ∈ V
ML Tableau
1
Äquivalenzen und Normalformen
2
Aussagenlogisches Tableau
3
Modallogisches Tableau
Angenommen K, s |= �(F → G )
Zu zeigen: K, s |= �F → �G
Wir unterscheiden zwei Fälle:
1. Fall: K, s |= �G
Dann folgt direkt K, s |= �F → �G nach Definition von →
2. Fall: K, s �|= �G
Dann gibt es eine Welt s � ∈ V mit (s, s � ) ∈ E und K, s � �|= G
Wegen K, s |= �(F → G ) gilt für alle Welten s � ∈ V mit (s, s � ) ∈ E :
K, s � |= F → G
→ K, s � �|= F
K, s �|= �F
K, s |= �F → �G
7 – 7/25
7 – 8/25
Logik
TU Do
SoSe 2011
Vorüberlegungen
Ziel: Beweiskalkül und Erfüllbarkeitstest für die Modallogik
Da die Modallogik als Erweiterung der Aussagenlogik aufgefasst werden
kann, liegt es nahe, ein Verfahren für die Aussagenlogik geeignet für die
Modallogik zu erweitern
Welche Erfüllbarkeitstests kennen wir für AL-Formeln F ?
Wahrheitstabelle
C. Schubert
Äquivalenzen
Normalformen
AL Tableau
ML Tableau
1. Teste α |= F für alle Belegungen α
2. Falls es ein α gibt mit α |= F , Ausgabe α
3. Andernfalls: Ausgabe “unerfüllbar”
Resolution
1.
2.
3.
4.
Logik
TU Do
SoSe 2011
AL-Tableaukalkül: Beispiel für die Herangehensweise
Wandle F in KNF und dann in eine Klauselmenge K um
Berechne Res∞ (K)
Falls � ∈ Res∞ (K): Ausgabe “unerfüllbar”
Andernfalls: Destilliere erfüllende Belegung aus den
atomaren Formeln in Res∞ (K)
C. Schubert
Ist (¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) erfüllbar?
Die Formel ist erfüllbar, wenn eine der beiden Teilformeln erfüllbar ist
(1) Ist ¬A ∧ ((B ∨ A) ∧ (B → A)) erfüllbar?
AL Tableau
Dafür müssten die Formeln ¬A und ((B ∨ A) ∧ (B → A)) simultan erfüllbar
sein
Dafür müssten ¬A, B ∨ A, und B → A simultan erfüllbar sein
Zwei Fälle:
(1a) ¬A, B, und B → A simultan erfüllbar - zwei Unterfälle:
• ¬A, B, und ¬B simultan erfüllbar: �
• ¬A, B, und A simultan erfüllbar: �
(1b) ¬A, A, und B → A simultan erfüllbar: �
Sind A und (¬A ∧ B) ∨ ¬B simultan erfüllbar? Zwei Fälle:
(2a) A und ¬A ∧ B simultan erfüllbar
• A, ¬A, und B simultan erfüllbar �
(2b) A und ¬B simultan erfüllbar: �
Dieses Vorgehen wird ziemlich unübersichtlich
Deshalb werden wir jetzt zunächst einen weiteren Beweiskalkül für die
Aussagenlogik kennen lernen, der sich leicht für die Modallogik erweitern
lässt
Tableaukalkül: Systematische und übersichtliche Notation für die obige
Grundidee
7 – 9/25
Ein aussagenlogisches Tableau ist ein Baum, dessen Knoten mit
aussagenlogischen Formeln beschriftet sind
Ein Tableau für eine AL-Formel F in Negations-Normalform (ohne
Einschränkung ohne Vorkommen von � und ⊥) kann wie folgt
konstruiert werden:
Logik
TU Do
SoSe 2011
Zunächst wird die Wurzel des Baumes erzeugt und mit F beschriftet
2
Danach wird so lange eine der beiden folgenden Regeln angewendet, bis
dies nicht mehr möglich ist:
∨-Regel:
7 – 10/25
Logik
TU Do
SoSe 2011
AL-Tableaukalkül: Erstes Beispiel
C. Schubert
C. Schubert
Äquivalenzen
Normalformen
Äquivalenzen
Normalformen
AL Tableau
ML Tableau
Konstruktion: Tableau
1
ML Tableau
(2) Backtracking: Ist (A ∧ ((¬A ∧ B) ∨ ¬B)) erfüllbar?
Aber: bei beiden Methoden ist nicht klar, wie sie für die Modallogik
erweitert werden könnten
AL-Tableaukalkül: Regeln
Äquivalenzen
Normalformen
(¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B)) �
¬A ∧ ((B ∨ A) ∧ (B → A)) �
A ∧ ((¬A ∧ B) ∨ ¬B) �
¬A
A
(B ∨ A) ∧ (B → A) �
(¬A ∧ B) ∨ ¬B �
Wähle einen unmarkierten Knoten v mit einer Formel der Form F1 ∨ F2
Füge an jedes Blatt des Baumes unterhalb v (oder an v , falls v ein Blatt
ist) zwei neue Knoten v1 und v2 als Kinder an, die mit F1 bzw. F2
beschriftet sind
Markiere v
B ∨ A�
¬A ∧ B �
B → A�
¬A
B
∧-Regel:
¬B
Wähle einen unmarkierten Knoten v mit einer Formel der Form F1 ∧ F2
Füge an jedes Blatt des Baumes unterhalb v (oder an v , falls v ein Blatt
ist) ein neues Kind v � an, das mit F1 beschriftet ist und an v � ein weiteres
Kind v �� , das mit F2 beschriftet ist
Markiere v
7 – 11/25
A
A
¬B
AL Tableau
ML Tableau
¬B
B
A
7 – 12/25
AL-Tableaukalkül: Bedeutung
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
AL-Tableaukalkül: Erstes Beispiel (Fortsetzung)
C. Schubert
Ein Tableau heißt saturiert, wenn alle Knoten, die keine Literale
enthalten, markiert sind
Woran lässt sich an einem saturierten Tableau T zu F ablesen, ob F
erfüllbar ist?
Dazu betrachten wir die Blätter von T :
Äquivalenzen
Normalformen
C. Schubert
(¬A ∧ ((B ∨ A) ∧ (B → A))) ∨ (A ∧ ((¬A ∧ B) ∨ ¬B))
AL Tableau
ML Tableau
Wir nennen ein Blatt v von T geschlossen, wenn auf dem Weg von v zur
Wurzel eine Variable X und ihre Negation ¬X vorkommt
→ Geschlossene Blätter entsprechen also widersprüchlichen Pfaden
Wir nennen ein Blatt offen, wenn es nicht geschlossen ist
¬A ∧ ((B ∨ A) ∧ (B → A))
A ∧ ((¬A ∧ B) ∨ ¬B)
¬A
A
(B ∨ A) ∧ (B → A)
(¬A ∧ B) ∨ ¬B
Eine Formel F ist genau dann erfüllbar, wenn F ein saturiertes Tableau T
mit mindestens einem offenen Blatt hat (Das werden wir noch beweisen!)
Und: wenn es ein solches Tableau für F gibt, so haben alle saturierten
Tableaus für F ein offenes Blatt
Wähle ein offenes Blatt v von T
2
Definiere eine Wahrheitsbelegung α so, dass sie alle atomaren Formeln
auf dem Weg von v zur Wurzel wahr macht
¬A ∧ B
¬B
B→A
¬A
�
B
Dann lässt sich eine erfüllende Belegung für F wie folgt konstruieren:
1
B ∨A
A
B
¬B
A
¬B
A
�
�
�
�
Erfüllende Belegung: A �→ 1, B �→ 0
Logik
TU Do
SoSe 2011
C. Schubert
Zur Erinnerung:
saturiertes Tableau: alle nicht-Literale sind markiert
geschlossenes Blatt: auf dem Weg zur Wurzel kommen A und ¬A
(A ∈ AV) vor
Äquivalenzen
Normalformen
AL Tableau
ML Tableau
offenes Blatt: nicht geschlossenes Blatt
Beweis von Satz 3(a)
Wir zeigen zunächst (a): Jedes Tableau zu einer Formel F hat höchstens die
Tiefe |F |−1 und höchstens 2|F | Knoten
Beweis Aussage (a).
Klar: im Tableau zu F kommen nur
Teilformeln von F vor
→ Jeder Pfad hat höchstens so viele
Knoten wie F Vorkommen von
Teilformeln hat
(a) Für jede AL-Formel F erzeugt die Tableau-Methode nach endlich vielen
Schritten ein saturiertes Tableau T der Tiefe ≤ |F | − 1 mit ≤ 2|F | Knoten
(b) Der Pfad jedes offenen Blattes eines saturierten Tableaus induziert eine
erfüllende Belegung für F
In Kapitel 2 haben wir gezeigt: die
Anzahl der Vorkommen von
Teilformeln von F in F ist ≤ |F |
(c) Ist F unerfüllbar, so sind alle Blätter jedes saturierten Tableaus T zu F
geschlossen
→ die Tiefe jedes Pfades ist ≤ |F | − 1
(d) Ist F erfüllbar, so hat jedes saturierte Tableau T zu F ein offenes Blatt
→ T hat höchstens 2
binär ist
7 – 15/25
ML Tableau
7 – 14/25
Und: jede Teilformel von F kommt auf
jedem Pfad höchstens so oft vor, wie
sie in F vorkommt
Satz 2
AL Tableau
�
7 – 13/25
AL-Tableaukalkül: Korrektheit, Vollständigkeit, Termination
Äquivalenzen
Normalformen
|F |
Knoten, da T
Die Tableau-Methode terminiert also nach
höchstens 2|F | Regelanwendungen
Beispiel: Vorkommen von
Teilformeln
Logik
TU Do
SoSe 2011
C. Schubert
Äquivalenzen
Normalformen
AL Tableau
ML Tableau
Die Formel
(A ∧ B) ∨ (C → (A ∧ B))
hat die folgenden Vorkommen
von Teilformeln:
A: 2
B: 2
C: 1
A ∧ B: 2
C → (A ∧ B): 1
(A ∧ B) ∨ (C → (A ∧ B)): 1
Zusammen: 9
7 – 16/25
Beweisidee zu Satz 3(b)–(d)
Beweisidee zu (b): offenes Blatt =⇒ erfüllende Belegung
Sei v ein offenes Blatt eines saturierten Tableaus zu F ,
Pv sei der Pfad von v zur Wurzel w des Baumes (einschließlich v und w )
Zu v definieren wir eine Belegung α für die Variablen von F :
�
1 X kommt in Pv vor
α(X ) =def
0 andernfalls
Logik
TU Do
SoSe 2011
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Äquivalenzen
Normalformen
Äquivalenzen
Normalformen
AL Tableau
AL Tableau
ML Tableau
(im zweiten Fall kommt ¬X in Pv vor oder weder X noch ¬X kommen
vor)
ML Tableau
1
Äquivalenzen und Normalformen
2
Aussagenlogisches Tableau
3
Modallogisches Tableau
Behauptung: α |= F
Dies zeigt man durch Induktion nach der Länge von Pv .
Beweisidee zu (c): F unerfüllbar =⇒ nur geschlossene Blätter
Folgt durch Kontraposition aus (b)
Beweisidee zu (d): F erfüllbar =⇒ offenes Blatt in jedem Tableau
Induktion über Struktur des Tableaus T
7 – 17/25
Tableaukalkül für ML: Grundidee (1/2)
Logik
TU Do
SoSe 2011
7 – 18/25
Tableaukalkül für ML: Grundidee (2/2)
C. Schubert
Äquivalenzen
Normalformen
Ist die Formel
��A ∧ �(A → �¬A)
erfüllbar?
AL Tableau
ML Tableau
Logik
TU Do
SoSe 2011
C. Schubert
Um ��A wahr zu machen, muss es eine Welt geben, die in einem
Schritt erreichbar ist und �A erfüllt
Idee: Wir ergänzen jeden Knoten des Tableaus um die Angabe einer Welt
Äquivalenzen
Normalformen
AL Tableau
ML Tableau
Knotenbeschriftungen sind also von der Form s, F (und die intendierte
Bedeutung ist, dass F in s gilt)
Wir können die ∧-Regel des AL-Tableaukalküls einmal anwenden:
��A ∧ �(A → �¬A)�
Um die Modaloperatoren aufzulösen, erlauben wir das Hinzufügen neuer
Welten:
Wenn wir einen mit s, �F beschrifteten Knoten markieren, fügen wir
��A
einen mit (s, s � ) ∈ E beschrifteten Knoten ein (für eine neue Welt s � ), und
darunter einen mit s � , F beschrifteten Knoten
(Details folgen noch...)
Wenn wir einen mit s, �F beschrifteten Knoten markieren, fügen wir, für
jede Welt s � , für die es auf dem Pfad einen mit (s, s � ) ∈ E markierten
Knoten gibt, einen mit s � , F beschrifteten Knoten an
(Details folgen noch...)
�(A → �¬A)
Aber wie soll es dann weiter gehen?
7 – 19/25
7 – 20/25
Logik
TU Do
SoSe 2011
Tableaukalkül für ML: erstes Beispiel
Ist ��A ∧ �(A → �¬A) erfüllbar?
Also gilt F in Welt s1 der
folgenden Kripkestruktur und
ist deshalb erfüllbar:
s1 , ��A ∧ �(A → �¬A) �
s1
s1 , ��A; �
s1 , �A ∧ �(A → B) ∧ �¬B�
Äquivalenzen
Normalformen
s1 , �(A → B)�
s1 , �¬B�
�
s2 , �A �
s2 , A
s3 , A
s2 , ¬B
(s2 , s3 ) ∈ E
s2 , ¬A
s2 , �¬A�
�
s3 , ¬A
s3 , ¬B
7 – 21/25
Modallogischer Tableaukalkül: Definition
�
Ein Tableau für eine ML-Formel F wird wie folgt konstruiert:
Jeder Knoten des Tableaus wird durch ein Paar si , G beschriftet
Knoten, die mit einer Formel der Typen
si , F 1 ∨ F 2
Logik
TU Do
SoSe 2011
C. Schubert
Äquivalenzen
Normalformen
Die Wurzel wird mit s1 , F beschriftet
si , ¬X
ML Tableau
s3 , A → B�
s2 , ¬A ∨ �¬A �
si , X
AL Tableau
Zur Erinnerung: Pv ist der Pfad vom
Knoten v zur Wurzel
(s1 , s3 ) ∈ E
s3 , A
Äquivalenzen
Normalformen
Dann muss für jeden schon
markierten Knoten mit
Beschriftung s, �F � in Pv ein
mit t, F � beschrifteter Knoten
unterhalb v eingefügt werden
(s1 , s2 ) ∈ E
�
C. Schubert
Sei u ein Knoten mit
Beschriftung s, �F , der
markiert wird, und sei v ein mit
(s, t) ∈ E beschrifteter Knoten,
der dabei neu eingefügt wird
s1 , �A �
AL Tableau
s2
(s1 , s2 ) ∈ E
Umgang mit �:
C. Schubert
ML Tableau
s1 , �(A → �¬A) �
Logik
TU Do
SoSe 2011
Tableaukalkül für ML: zweites Beispiel
AL Tableau
si , F 1 ∧ F 2
ML Tableau
beschriftet sind, werden wie im AL-Tableaukalkül behandelt und die dabei
eventuell neu eingefügten Knoten haben ebenfalls die Welt si
s3 , ¬A
s3 , B
�
�
7 – 22/25
Logik
TU Do
SoSe 2011
Tableaukalkül für ML: drittes Beispiel
C. Schubert
Mit dem modallogischen Tableaukalkül
können wir auch modallogische
Äquivalenzen und Folgerungen testen
s1 , �(¬A ∨ B) ∧ �A ∧ �¬B �
Beispiel: Wenn �(F1 → F2 ) gilt, dann
auch �F1 → �F2
s1 , �A �
s1 , �(¬A ∨ B) �
s2 , A
eine Tautologie ist
s2 , ¬B
Dazu zeigen wir, dass ihre Negation
�-Regel:
F = ¬(�(A → B) → (�A → �B))
Wähle einen unmarkierten Knoten u mit einer Formel der Form si , �G
Wähle j so, dass sj noch nicht in T vorkommt und füge an jedes Blatt v
des Baumes unterhalb u (oder an u, falls u ein Blatt ist)
unerfüllbar ist
Dazu bringen wir F zunächst in
Negations-Normalform
einen neuen markierten Knoten mit Beschriftung (si , sj ) ∈ E und
darunter einen neuen Knoten mit Beschriftung sj , G an
Füge außerdem für jeden schon markierten und mit si , �G � beschrifteten
Knoten in Pv einen Knoten sj , G � unterhalb von v an
�(¬A ∨ B) ∧ �A ∧ �¬B
In beiden Fällen wird u dann markiert
ML Tableau
(s1 , s2 ) ∈ E
�(A → B) → (�A → �B)
Wähle einen unmarkierten Knoten u mit einer Formel der Form si , �G
Füge an jedes Blatt v des Baumes unterhalb u (oder an u, falls u ein
Blatt ist) für jede Welt sj , für die (si , sj ) ∈ E in Pv vorkommt, einen
neuen Knoten sj , G an (die dadurch entstehenden Knoten unterhalb von v
bilden einen Weg)
AL Tableau
s1 , �¬B �
Aufgrund des Substitutionslemmas
genügt s zu zeigen, dass die Formel
�-Regel:
Äquivalenzen
Normalformen
s2 , ¬A ∨ B �
s2 , ¬A
s2 , B
�
�
Also ist F unerfüllbar und die
Folgerung bewiesen
und wenden den Tableaukalkül an
7 – 23/25
7 – 24/25
ML-Tableaukalkül: Korrektheit, Vollständigkeit, Termination
Die Analyse des ML-Tableaukalküls ist der Analyse des
AL-Tableaukalküls sehr ähnlich
Ein Blatt v ist geschlossen, falls in Pv zwei Knoten si , X und si , ¬X
vorkommen
Logik
TU Do
SoSe 2011
C. Schubert
Äquivalenzen
Normalformen
AL Tableau
ML Tableau
Auch die restlichen Begriffe sind analog wie im Falle von AL
Satz 3
(a) Für jede ML-Formel F erzeugt die Tableau-Methode nach endlich vielen
Schritten ein saturiertes Tableau T
(b) Der Pfad jedes offenen Blattes eines saturierten Tableaus induziert eine
Kripke-Struktur K und eine Welt s1 mit K, s1 |= F
(c) Ist F unerfüllbar, so ist jedes Blatt in einem saturierte Tableau T zu F
geschlossen
(d) Ist F erfüllbar, so besitzt jedes saturierte Tableau T zu F ein offenes Blatt
Damit haben wir also das angestrebte Ziel, eine Methode zum Testen der
Erfüllbarkeit einer modallogischen Formel, erreicht
7 – 25/25
Logik
TU Do
SoSe 2011
C. Schubert
Zwei Kripkestrukturen:
K
Logik für Informatiker
Teil 8: Modallogik — Bisimulationen
�
1
�
A
Dr. Christoph Schubert
� 2
�
5
�B
�7�
A
�3
B
A
K�
basierend auf
Folien von Prof. Thomas Schwentick
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
�
4
A
Sommersemester 2011
Version vom 24. Mai 2011 (13:21 Uhr)
Logik
TU Do
SoSe 2011
Ähnlichkeit in Kripkestrukturen (1/2)
�
� 10
B�
�
8
�A�
� �
6
B �
�9�
A
� 11
B
Kripkestrukturen werden bei der
automatischen Verifikation zur
Modellierung von Systemen
verwendet
In diesem Zusammenhang kann
es interessant sein zu wissen, ob
zwei Kripkestrukturen von
gegebenen Welten aus das
gleiche Systemverhalten
aufweisen
Wenn dies für mehrere
Kripkestrukturen, die ein
gegebenes System
modellieren, und die
entsprechenden
“Startwelten” der Fall ist,
kann dann die kleinste von
ihnen zur Verifikation
verwendet werden
Wir werden jetzt zunächst
versuchen, den Begriff “das
gleiche Systemverhalten
aufweisen” genauer zu fassen
8 – 1/12
Logik
TU Do
SoSe 2011
Ähnlichkeit in Kripkestrukturen (2/2)
Wann ist das Systemverhalten
von K, 1 aus hinsichtlich der
beobachtbaren Wahrheitsbelegungen gleich dem
Systemverhalten von K� , 4 aus?
K
1
�
A
�
� 2
�
�3
B
A
K�
5
�B
�
4
A
�
� 10
B�
�7�
A
6
B �
�9�
A
C. Schubert
1
�
A
�
Definition 1 (Bisimulations-Spiel)
� 2
�
Sei s Welt von K, s � Welt von K�
�3
B
Zu Beginn des Spiels für K, s und
K� , s � liegt je ein Spielstein auf s und s �
In jeder Spielrunde
A
K�
5
�B
Wir formalisieren diese Intuition
durch ein Spiel
6
B �
B
8 – 3/12
8
�9�
A
wählt Spieler 1 einen der beiden
Spielsteine und verschiebt ihn entlang
einer Kante (in der Richtung des
Pfeiles), und
Spieler 2 verschiebt danach den
anderen Stein entlang einer Kante
Spieler 1 hat gewonnen, wenn nach
einer Spielrunde
�
�A�
� �
� 11
�
� 10
B�
�7�
A
�
4
A
�A�
� �
Logik
TU Do
SoSe 2011
Das Bisimulations-Spiel (1/2)
K
�
8
8 – 2/12
C. Schubert
Intuitiv: wenn jedes Verhalten,
das von K, 1 aus möglich ist,
von K� , 4 aus simuliert werden
kann und umgekehrt
C. Schubert
� 11
die beiden Steine in Welten mit
verschiedenen Wahrheitsbelegungen
liegen, oder
genau einer der beiden Spieler keine
Zugmöglichkeit hat
B
8 – 4/12
Logik
TU Do
SoSe 2011
Das Bisimulations-Spiel (1/2)
Wann ist für Kripkestrukturen eine
Spielposition (s, s � ) eine
Gewinnposition für Spieler 2?
K
1
�
A
�
� 2
�
A
K�
5
�B
�
4
A
�
� 10
B�
�7�
A
6
B �
s
“Gewinnpositionen” formalisieren wir
jetzt durch den Begriff der Bisimulation
�
t
�
s
�
t
� 11
�9�
A
B
Logik
TU Do
SoSe 2011
Für alle ML-Formeln F gilt:
K, 1 |= F ⇐⇒ K� , 4 |= F
K
� 2
�
�3
B
A
K�
5
�B
�
� 10
B�
�7�
A
�
4
A
6
B �
ML und Bisimulationen (1/2)
8 – 6/12
Logik
TU Do
SoSe 2011
C. Schubert
Der folgende Satz zeigt, dass diese Intuition korrekt ist und im Endlichen
sogar die Umkehrung gilt
Notation: schreibe (K, s) ≡ (K� , s � ) wenn für alle F ∈ ML gilt:
K, s |= F ⇐⇒ K� , s � |= F
Satz 2
Für Kripkestrukturen K, K� und Welten s, s � gilt:
(a) (K, s) ∼ (K� , s � ) =⇒ (K, s) ≡ (K� , s � )
(b) Sind K und K� endlich, so gilt:
(K, s) ≡ (K� , s � ) =⇒ (K, s) ∼ (K� , s � )
(K, s) ∼ (K� , s � ) gilt genau dann,
wenn Spieler 2 eine Gewinnstrategie
im Spiel von (K, s) und (K� , s � ) aus
hat
8 – 7/12
ohne Beweis
Zu beachten: S muss nicht die Menge aller Gewinnpositionen sein
Intuitiv: wenn in s eine ML-Formel gilt, die in s � nicht gilt, so kann Spieler
1 das Spiel von s aus gewinnen
Satz 1
B
(K, s) ∼ (K� , s � ): es gibt eine Bisimulation S mit (s, s � ) ∈ S. Wir nennen
s und s � dann bisimilar
Wie können wir zeigen, dass zwei Welten s, s � nicht bisimilar sind?
gibt es t � mit (s � , t � ) ∈ E �
und (t, t � ) ∈ S, und
für alle t � mit (s � , t � ) ∈ E �
gibt es t mit (s, t) ∈ E und
(t, t � ) ∈ S
� 11
�
t�
Dass zwei Welten bisimilar sind, können wir durch Angabe einer
Bisimulation zeigen
(a) A ∈ P(s) ⇐⇒ A ∈ P � (s � )
(b) B ∈ P(s) ⇐⇒ B ∈ P � (s � )
(c)
für alle t mit (s, t) ∈ E
�
�9�
A
s�
C. Schubert
Denn: die Relation S =
{(1, 4), (1, 7), (1, 9), (2, 5),
(2, 6), (2, 10), (2, 11), (3, 8)}
ist eine Bisimulation zwischen
K und K�
Denn es gilt für alle (s, s � ) ∈ S:
8
�A�
� �
�
t�
(Rückwärtsbedingung)
Bisimulationen (2/2)
�
s�
(Vorwärtsbedingung), und
(c) für alle t � mit (s � , t � ) ∈ E � gibt es t mit (s, t) ∈ E und (t, t � ) ∈ S
8 – 5/12
1
�
A
C. Schubert
(a) P(s) = P � (s � )
(b) für alle t mit (s, t) ∈ E gibt es t � mit (s � , t � ) ∈ E � und (t, t � ) ∈ S,
8
�A�
� �
Definition 2 (Bisimulation)
Seien K = (V , E , P) und K� = (V � , E � , P � ) Kripkestrukturen
Eine Relation S ⊆ V × V � heißt Bisimulation, falls für alle (s, s � ) ∈ S
gilt:
Think recursively: wenn
P(s) = P � (s � ) und Spieler 2 für jede
Zugmöglichkeit von Spieler 1 im
nächsten Zug wieder eine
Gewinnposition erreichen kann
�3
B
C. Schubert
Logik
TU Do
SoSe 2011
Bisimulationen (1/2)
8 – 8/12
Logik
TU Do
SoSe 2011
ML und Bisimulationen (2/2)
Satz 2
ML hat die Baummodelleigenschaft (1/2)
Wir nennen eine Kripkestruktur K = (V , E , P) einen Baum, wenn (V , E )
ein gerichteter Baum mit einer Wurzel ist, in dem alle Kanten von der
Wurzel weg orientiert sind
Wir erlauben hier auch unendliche Bäume!
Wir zeigen jetzt: Für eine ML-Formel “sieht jede Kripkestruktur wie ein
Baum aus”
C. Schubert
Für Kripkestrukturen K, K� und Welten s, s � gilt:
(a) (K, s) ∼ (K� , s � ) =⇒ (K, s) ≡ (K� , s � )
(b) Sind K und K� endlich, so gilt:
(K, s) ≡ (K� , s � ) =⇒ (K, s) ∼ (K� , s � )
C. Schubert
Beispiel
Wir beweisen nur (a)
Beweis.
�
Logik
TU Do
SoSe 2011
1�
B
�
Zu zeigen: K, s |= F =⇒ K , s |= F
Die Umkehrung folgt durch Vertauschen von K, K� und s, s �
Induktion nach der Struktur von F :
Für F = X , �, ⊥ und die Booleschen Operatoren: klar
Für F = ♦G :
�
�
Es gelte K, s |= ♦G
→ es gibt t mit (s, t) ∈ E und K, t |= G
Da (K, s) ∼ (K� , s � ) gibt es dann ein t � mit (s � , t � ) ∈ E � und K, t ∼ K� , t �
Mit Induktion folgt K� , t � |= G
Also haben wir ein t � mit (s � , t � ) ∈ E � und K� , t � |= G
→ K� , s � |= ♦G
2�
A, B
� 2
A, B
1
B �
4
C �
�3
�
�
� 3�
C
�
∼
A
7�
B
�
�
5� �
A
4�
A
�
8�
A, B
9�
B
�
�
10�
A, B
11�
A
�
6�
C
�
12�
C
F = �G ≡ ¬♦¬G lässt sich auf die anderen Fälle zurückführen
8 – 9/12
ML hat die Baummodelleigenschaft (2/2)
Logik
TU Do
SoSe 2011
8 – 10/12
Logik
TU Do
SoSe 2011
ML hat die endliche Baumeigenschaft
C. Schubert
C. Schubert
Sei md(F ) die Verschachtelungstiefe der modalen Operatoren ♦ und � in
F
Ein (endlicher) Weg in einer Kripkestruktur K = (V , E , P) ist ein Tupel
(s1 , . . . , sk ) von Welten aus V mit (si , si+1 ) ∈ E , für alle i < k
Die Abwicklung TK,s von K von der Welt s aus ist die Kripkestruktur
mit:
Beispiel:
Weltmenge VK,s = Menge aller endlichen Wege von K, die in s beginnen
Kante (w , w � ), falls w � ein Weg ist, der w um einen Knoten verlängert
P((s1 , . . . , sk )) = P(sk )
md(♦A ∨ �B ∧ (♦�(C ∨ ♦A))) = 3
k
Für eine Kripkestruktur K, eine Welt s und k ≥ 0 sei TK,s
der endliche
Baum, der nur aus den oberen k + 1 Ebenen von TK,s besteht
Dann gilt für jede ML-Formel F :
Lemma 3
md(F )
K, s |= F ⇐⇒ TK,s
Für jedes K, jedes s und jede ML-Formel F gilt:
K, s |= F ⇐⇒ TK,s , s |= F
, s |= F
Satz 3
ML hat die endliche Baummodelleigenschaft, d.h., für jede erfüllbare
ML-Formel F gibt es eine Kripkestruktur K und eine Welt s mit:
Beweis.
{(sk , (s1 , . . . , sk )) | (s1 , . . . , sk ) ist Weg von K, s1 = s} ist eine
Bisimulation
K ist ein endlicher Baum
K, s |= F
Es gilt sogar noch mehr:
8 – 11/12
8 – 12/12
Logik
TU Do
SoSe 2011
Logik für Informatiker
Teil 9 Prädikatenlogik: Grundlagen
Dr. Christoph Schubert
Unser Programm für Heute
C. Schubert
C. Schubert
Einleitende
Beispiele
Einleitende
Beispiele
Relationen
und
Funktionen
1
Einleitende Beispiele
Strukturen
Syntax der
Prädikatenlogik
Syntax der
Prädikatenlogik
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 7. Juni 2011 (12:32 Uhr)
2
Relationen und Funktionen
3
Strukturen
4
Syntax der Prädikatenlogik
9 – 1/26
Logik
TU Do
SoSe 2011
9 – 2/26
Einleitende Beispiele (1/4)
C. Schubert
Einleitende
Beispiele
1
Einleitende Beispiele
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
2
Relationen und Funktionen
3
Strukturen
4
Syntax der Prädikatenlogik
Relationen
und
Funktionen
Strukturen
basierend auf
Folien von Prof. Thomas Schwentick
Überblick
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
C. Schubert
Das Dreifärbungsproblem für die Landkarte der BRD konnten wir auf die
Erfüllbarkeit der folgenden aussagenlogischen Formel zurückführen:
=1
=1
=1
=1
=1
=1
=1
=1
FNRW
∧ FBW
∧ FBY
∧ FRP
∧ FSR
∧ FHS
∧ FTH
∧ FSX
∧
=1
=1
=1
=1
=1
=1
=1
=1
FNI ∧ FSA ∧ FBR ∧ FB ∧ FHH ∧ FHB ∧ FMV ∧ FSH ∧
�=
�=
�=
�=
�=
�=
�=
�=
FNRW,HS
∧ FBW,BY
∧ FBW,RL
∧ FBW,HS
∧ FBY,HS
∧ FBY,TH
∧ FBY,SX
∧ FSR,RL
∧
�=
�=
�=
�=
�=
�=
�=
�=
FRL,HS ∧ FRL,NRW ∧ FHS,TH ∧ FHS,NI ∧ FTH,SX ∧ FTH,SA ∧ FTH,NI ∧ FSX,BR ∧
�=
�=
�=
�=
�=
�=
�=
�=
FSX,SA
∧ FNRW,NI
∧ FNI,SH
∧ FNI,HB
∧ FNI,HH
∧ FNI,MV
∧ FNI,SA
∧ FNI,BR
∧
�=
�=
�=
�=
�=
FSA,BR
∧ FBR,MV
∧ FBR,B
∧ FSH,HH
∧ FSH,MV
Einleitende
Beispiele
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
Dies war eine Abkürzung für eine Formel der Länge 1024:
(GNRW ∨ RNRW ∨ BNRW ) ∧ ¬(GNRW ∧ RNRW )∧
¬(BNRW ∧ RNRW ) ∧ ¬(BNRW ∧ GNRW ) ∧ · · ·
· · · (GSH ∨ RSH ∨ BSH ) ∧ ¬(GSH ∧ RSH )∧ ¬(BSH ∧ RSH ) ∧ ¬(BSH ∧ GSH )∧
¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS ) · · ·
· · · ¬(GSH ∧ GMV ) ∧ ¬(RSH ∧ RMV ) ∧ ¬(BSH ∧ BMV )
Wir werden jetzt eine elegantere Modellierung mittels Prädikatenlogik
betrachten
9 – 3/26
9 – 4/26
Logik
TU Do
SoSe 2011
Einleitende Beispiele (2/4)
Einleitende Beispiele (3/4): Essende Philosophen
Speisende Philosophen:
C. Schubert
Die aussagenlogische Formel vermischt die
“Daten” und die “Eigenschaften”, die
gelten sollen
Einleitende
Beispiele
Mit Hilfe der Prädikatenlogik können wir
diese beiden Aspekte nun trennen:
Relationen
und
Funktionen
Wir können die Informationen über Länder
und ihre Nachbarschaftsbe- ziehungen
durch einen Graphen G = (V , E )
modellieren:
Strukturen
Rund um einen Tisch sitzen n Philosophen
Zwischen je zwei nebeneinander sitzenden Philosophen liegt ein
Essstäbchen
Um essen zu können, braucht ein Philosoph zwei Stäbchen
Da Philosophen kurze Arme haben, kann ein Philosoph nur die beiden
Stäbchen unmittelbar links und rechts von sich erreichen Das heißt,
während ein Philosoph isst, kann keiner seiner beiden Nachbarn essen
Syntax der
Prädikatenlogik
Diese Situation könnten wir mit Hilfe aussagenlogischer Formeln
modellieren:
Färbungen der Länder lassen sich durch 3
Relationen G , R, B modellieren
Wie wir gesehen haben, hat die Modallogik nur eine eingeschränkte
Ausdrucksstärke
Jede Formel kann nur begrenzt weit “in eine Struktur hineinschauen”
Bisimilare Welten können durch ML-Formeln nicht unterschieden werden
Die Prädikatenlogik kann mehr Eigenschaften von Kripkestrukturen
beschreiben als die Modallogik:
Einleitende
Beispiele
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
i=1
Unter Verwendung der Prädikatenlogik können wir anders vorgehen:
Eine Färbung ist zulässig, falls sie die
folgenden prädikatenlogischen Formeln
erfüllen:
Einleitende Beispiele (4/4): Kripkestrukturen
C. Schubert
Dazu könnten wir Variablen A1 , . . . , An verwenden mit der Bedeutung
Ai ≡ “Philosoph i isst”
Das Wissen über die Anordnung der Philosophen könnten wir zusammen
mit dem Wissen über ihre Essgewohnheiten in einer Formel repräsentieren:
n−1
�
Fn = ¬(A1 ∧ An ) ∧
¬(Ai ∧ Ai+1 )
Die Knotenmenge V enthält alle
Länder: {NRW, BW, BY, . . . , SH}
Die Kantenrelation E enthält alle
Paare benachbarter Länder:
{(NRW, HS), (BW, BY), . . . , (SH, MV)}
∀x [G (x) ∨ R(x) ∨ B(x)]
∀x ¬[(G (x) ∧ R(x))∨
(G (x) ∧ B(x)) ∨ (R(x) ∧ B(x))]
∀x ∀y [E (x, y ) → ¬((G (x) ∧ G (y ))∨
(B(x) ∧ B(y )) ∨ (R(x) ∧ R(y )))]
Logik
TU Do
SoSe 2011
Die Anordnung der Philosophen modellieren wir durch einen Graphen
G = (V , E ) mit
V = {1, . . . , n}
E = {(1, 2), (2, 3), . . . , (n−1, n), (n, 1)}
Dass Philosoph j isst, drücken wir durch P(j) aus
Die Essgewohnheiten
können wir dann
durch folgende Formel beschreiben:
�
�
∀x∀y E (x, y ) → ¬(P(x) ∧ P(y ))
9 – 5/26
Logik
TU Do
SoSe 2011
Überblick
9 – 6/26
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitende
Beispiele
Einleitende
Beispiele
Relationen
und
Funktionen
1
Einleitende Beispiele
Relationen
und
Funktionen
Strukturen
Strukturen
Syntax der
Prädikatenlogik
Syntax der
Prädikatenlogik
Eine Kripkestruktur kann dabei als gerichteter Graph G = (V , E )
aufgefasst werden
Die Welten sind also die Knoten des Graphen
Die Übergänge sind die Kanten des Graphen
Für jede aussagenlogische Variable A und Welt w soll PA (w ) gelten, wenn
A ∈ P(w )
“Jede Welt hat eine ausgehende Kante” lässt sich dann beschreiben durch:
∀x∃y E (x, y )
“Von jeder Welt gibt es höchstens einen Übergang in eine Welt, in der A
gilt” lässt sich ausdrücken durch:
∀x∀y1 ∀y2 [(E (x, y1 ) ∧ E (x, y2 )∧ PA (y1 ) ∧ PA (y2 )) → y1 = y2 ]
9 – 7/26
2
Relationen und Funktionen
3
Strukturen
4
Syntax der Prädikatenlogik
9 – 8/26
Repräsentation von Daten: Informatik vs. Mathematik
Logik
TU Do
SoSe 2011
C. Schubert
Definition 1
Kodierung. . . :
n
Eine n-stellige Relation R über A ist eine Teilmenge von A = A × · · · × A
Relationen
und
Funktionen
Strukturen
C. Schubert
Sei A eine Menge
Einleitende
Beispiele
Informatiker beschäftigen sich (unter anderem) mit der geeigneten
Repräsentation von Daten/Informationen zur Verarbeitung durch
Computer
Verschiedene Aspekte:
Logik
TU Do
SoSe 2011
Relationen
Beispiele
A=N
R = {(m, n) ∈ N2 | m < n} = {(0, 1), (0, 2), (1, 2), (0, 3), . . .}
. . . im Rechner: Bit-Folgen
. . . in Dateien: Daten lassen sich im Zweifelsfall als Strings/Textdateien
repräsentieren (z.B. in XML)
Relationen
und
Funktionen
Strukturen
Strikte Ordnung der natürlichen Zahlen:
Syntax der
Prädikatenlogik
Einleitende
Beispiele
Syntax der
Prädikatenlogik
Äquivalente Brüche:
Datenstrukturen:
A = Z2
R = {((z1 , n1 ), (z2 , n2 )) ∈ (Z2 )2 | z1 n2 = z2 n1 } =
{. . . , ((−2, 3), (−4, 6)), ((−2, 3), (−6, 9)), . . .}
Arrays, Pointerstrukturen, etc. bieten eine komfortablere Repräsentation von
Daten, die sich für die Manipulation “innerhalb von Programmen” eignen
Datenbanken: “externe” Speicherung von Informationen
Daten im Web. . .
Logik-Hörer:
A = Menge aller Strings über {a, . . . , z},
R = {(x, y ) ∈ A2 | x ist Vorname, y ist Nachname
eines Hörers der Logik-Vorlesung}
Der mathematische Weg zur Repräsentation von Daten: Relationen,
Funktionen, Strukturen
Bemerkung
Über jeder Grundmenge A gibt es genau zwei 0-stellige Relationen:
∅ und {()}
9 – 9/26
Funktionen
n-stellige Funktionen f : An → A über einer Grundmenge A
Beispiel
Addition über den natürlichen Zahlen:
f + : N2 → N
f+ (n, m) = n + m
0-stellige Funktionen über A:
Logik
TU Do
SoSe 2011
(“()” ist das (!) 0-stellige Tupel)
Überblick
9 – 10/26
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitende
Beispiele
Einleitende
Beispiele
Relationen
und
Funktionen
1
Einleitende Beispiele
Relationen
und
Funktionen
Strukturen
Strukturen
Syntax der
Prädikatenlogik
Syntax der
Prädikatenlogik
Abbildung () �→ c mit c ∈ A
→ 0-stellige Funktionen über A können als Konstanten aus A aufgefasst
werden
Genau das werden wir auch tun:
Wir verwenden im Folgenden keine 0-stelligen Funktionen aber erlauben
Konstanten
2
Relationen und Funktionen
3
Strukturen
4
Syntax der Prädikatenlogik
Es besteht ein enger Zusammenhang zwischen Funktionen und
Relationen:
Der Graph einer n-stelligen Funktion f :
graph(f ) = {(a1 , . . . , an , a) | f (a1 , . . . , an ) = a}
ist eine n + 1-stellige Relation
Beispiel
graph(f+ ) = {(0, 0, 0), (0, 1, 1), . . . , (9, 16, 25), . . .}
9 – 11/26
9 – 12/26
Strukturen
Für die meisten Modellierungen ist es vorteilhaft, mehr als eine Relation oder
eine Funktion zur Verfügung zu haben
→ Wir verwenden Strukturen, die mehrere Relationen, Funktionen (und
Konstanten) zusammenfassen
Logik
TU Do
SoSe 2011
Beispiel für Strukturen: Graphen
C. Schubert
C. Schubert
Einleitende
Beispiele
Einleitende
Beispiele
Relationen
und
Funktionen
(Gerichtete) Graphen:
a
Strukturen
Definition: Struktur
Eine Struktur A besteht aus
Logik
TU Do
SoSe 2011
Syntax der
Prädikatenlogik
einer Grundmenge A,
Relationen R1 , . . . , Rk über A
Funktionen f1 , . . . , fl über A
Konstanten c1 , . . . , cm aus A
� �
c
�� b
AG = (V , E ), wobei
V = { a, b, c, d } und
�
d
E = { (a, b), (a, c), (c, b), (b, d), (d, c) }
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
Eingabe-Instanzen für algorithmische Probleme lassen sich auch durch
mathematische Strukturen modellieren
Erreichbarkeitsproblem:
Wir schreiben A dann als (A, R1 , . . . , Rk , f1 , . . . , fl , c1 , . . . , cm )
Beim Erreichbarkeitsproblem besteht die Eingabe aus einem Graphen
sowie einem Start- und einem Zielknoten
Die Eingabe G , a, d lässt sich zum Beispiel durch die Struktur
AG ,a,d = (V , E , a, d)
beschreiben, mit V und E wie oben
Bemerkungen:
Es ist auch k = 0, l = 0 oder m = 0 möglich: nicht jede Struktur muss
also Konstanten, Relationen und Funktionen besitzen
Wir betrachten nur Strukturen mit endlich vielen Relationen und
Funktionen
Statt “Grundmenge” sagen wir manchmal auch “Universum”
9 – 13/26
Beispiele für Strukturen: Algebraische Strukturen
Logik
TU Do
SoSe 2011
9 – 14/26
Beispiele für Strukturen: “Informatik-Strukturen” (1/2)
C. Schubert
In der Mathematik werden häufig Strukturen mit Funktionen betrachtet (die
dann Operationen entsprechen)
Gruppen
Gruppen lassen sich durch Strukturen der Art (G , ◦, e) repräsentieren, mit
G die Menge der Elemente ist,
Einleitende
Beispiele
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
Logik
TU Do
SoSe 2011
C. Schubert
Zeichenketten
Der String s = bacabba lässt sich durch die Struktur (P, ≤, Qa , Qb , Qc )
repräsentieren, wobei
P = {1, 2, 3, 4, 5, 6, 7} die Menge der Positionen von s ist,
Einleitende
Beispiele
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
≤ die übliche lineare Ordnung auf P ist,
◦ eine 2-stellige Funktion, die Gruppenverknüpfung, ist, und
Qa = {2, 4, 7} die Menge der Positionen, an denen ein a steht, ist, und
entsprechend: Qb = {1, 5, 6}, Qc = {3}
e eine Konstante ist, das neutrale Element
Peano-Arithmetik (natürliche Zahlen mit Addition und Multiplikation)
Relationale Datenbanken
Sie lässt sich durch die Struktur (N, +, ×, 0, 1) repräsentieren:
D = (U, R1 , . . . , Rk )
N ist die Menge der natürlichen Zahlen
U: die Menge der in D vorkommenden Datenwerte
+, × sind 2-stellige Funktionen
R1 , . . . , Rk : Die Relationen über U (“Tabellen”)
0 und 1 sind Konstanten
9 – 15/26
9 – 16/26
Logik
TU Do
SoSe 2011
Beispiele für Strukturen: “Informatik-Strukturen” (2/2)
Strukturen: Signaturen (1/2)
Formeln werden jeweils über Strukturen eines gewissen “Typs” sprechen,
also z.B. über Erreichbarkeitsprobleme oder Strings.
Diesem “Typ” formalisieren wir wie folgt:
C. Schubert
Transitionssysteme
Einleitende
Beispiele
B,C
�
�1�
�
Relationen
und
Funktionen
A
A
�� 2
B
�3
A
�4
Strukturen
o
C
Syntax der
Prädikatenlogik
B,C
Definition: Signatur
Eine Signatur ist eine Menge von Relations-, Funktions- und
Konstantensymbolen, wobei wir jedem Relationssymbole R und jedem
Funktionssymbole f eine feste Stelligkeit a(R) bzw. a(f ) zuordnen
Dieses Transitionssystem kann durch (Z , EA , EB , EC , Po , s) repräsentiert
werden, wobei
Z = {1, 2, 3, 4}
(“A-Transitionen”)
Po = {4}
Einleitende
Beispiele
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
Beispiele
EB = {(1, 1), (2, 3), (3, 1)}
EC = {(1, 1), (2, 1), (3, 1)},
C. Schubert
Die Signatur σ(A) einer Struktur A ist die Menge der Symbole zu den in
A vorkommenden Relationen, Funktionen und Konstanten
Eine Struktur A ist passend zu einer Signatur S, wenn S ⊆ σ(A)
(Zustände)
EA = {(1, 2), (2, 2), (3, 4)},
Logik
TU Do
SoSe 2011
Die Signatur von Erreichbarkeitsproblemen ist {E , c, d}, wobei E ein
2-stelliges Relationssymbol ist und c, d Konstantensymbole sind
(Zustände mit Eigenschaft o)
s=1
Die Signatur von Zeichenketten über dem Alphabet {a, b, c} ist
{≤ , Qa , Qb , Qc }, wobei ≤ ein 2-stelliges Relationssymbol ist und
Qa , Qb , Qc jeweils 1-stellige Relationssymbole sind
(Anfangszustand)
9 – 17/26
Strukturen: Signaturen (2/2)
Wir müssen unterscheiden zwischen
konkreten Relationen, Funktionen und Konstanten, die in konkreten
Strukturen vorkommen
Relationssymbolen, Funktionssymbolen und Konstantensymbolen, die in
Signaturen (und in Formeln) vorkommen und für beliebige Relationen,
Funktionen und Konstanten stehen
Logik
TU Do
SoSe 2011
9 – 18/26
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitende
Beispiele
Einleitende
Beispiele
Relationen
und
Funktionen
1
Einleitende Beispiele
Relationen
und
Funktionen
Strukturen
Strukturen
Syntax der
Prädikatenlogik
Syntax der
Prädikatenlogik
Dieser Unterschied schlägt sich in unserer Notation wieder:
2
Relationen und Funktionen
3
Strukturen
4
Syntax der Prädikatenlogik
Notation
Die konkrete Relation, die in einer Struktur A dem Relationssymbol R
zugeordnet ist, bezeichnen wir mit R A
Da dies zu oft zu einer etwas überladenen Notation führt, lassen wir das
Superskript A oft weg, wenn aus dem Zusammenhang klar ist,
dass eine konkrete Relation gemeint ist, und
welche konkrete Struktur gemeint ist
[In den bisherigen Beispielen haben wir nicht immer diese Notation
verwendet. . . ]
9 – 19/26
9 – 20/26
Logik
TU Do
SoSe 2011
Syntax der Prädikatenlogik (1/2)
C. Schubert
Sei PV eine abzählbare Menge prädikatenlogischer Variablen
PV enthalte mindestens x, y , z sowie xi , yi , zi , für alle i ∈ N
Definition: Terme
Einleitende
Beispiele
Relationen
und
Funktionen
Strukturen
Sei σ eine Signatur
Die Menge PT (σ) der prädikatenlogischen Terme über σ ist induktiv wie
folgt definiert:
Syntax der
Prädikatenlogik
Terme über {R, f , c}, für 2-stelliges f , sind z.B.
c, x, y , f (c, x), f (y , f (x, x)), . . .
9 – 21/26
∨
(1) Ist R ein k-stelliges Relationssymbol aus σ und sind t1 , . . . , tk Terme über
σ, so ist R(t1 , . . . , tk ) in PL(σ)
(2) Sind F , F1 , F2 in PL(σ), so auch
(a) ¬F
(b) (F1 ∧ F2 )
(c) (F1 ∨ F2 )
Logik
TU Do
SoSe 2011
Zusätzliche Klammern in Formeln sind erlaubt
∃ heißt Existenzquantor, ∀ heißt Allquantor
Formeln vom Typ (1) heißen atomar
Formeln, die nur durch (1) und (2) gebildet werden können, heißen
quantorenfrei
Wenn σ durch den Zusammenhang klar ist (oder unwichtig), schreiben
wir einfach PL statt PL(σ)
Umgekehrt: die Signatur σ(F ) einer Formel F ist die Menge der in F
vorkommenden Relations-, Funktions- und Konstantensymbole
Syntax der Prädikatenlogik: Teilformeln
∀y
P(x, g (z))
P(f (z), y )
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
9 – 22/26
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitende
Beispiele
Einleitende
Beispiele
Relationen
und
Funktionen
Relationen
und
Funktionen
Strukturen
∀z
Einleitende
Beispiele
in PL(σ)
Beispiel
∀z P(x, g (z)) ∨ ∀y P(f (z), y ) hat den Syntaxbaum:
Sei σ eine Signatur
Die Menge PL(σ) der prädikatenlogischen Formeln über σ ist induktiv
wie folgt definiert:
C. Schubert
(a) ∃x F und
(b) ∀x F
Terme, die keine Variablen verwenden, nennen wir Grundterme
Die Struktur prädikatenlogischer Formeln lässt sich durch Syntaxbäume
illustrieren
Definition: prädikatenlogische Formeln
Logik
TU Do
SoSe 2011
(3) Ist x eine Variable und F in PL(σ), so sind auch
Jede Variable aus PVist ein Term
Jedes Konstantensymbol aus σ ist ein Term
Ist f ein k-stelliges Funktionssymbol aus σ und sind t1 , . . . , tk Terme über
σ, so ist f (t1 , . . . , tk ) ein Term über σ
Syntax der Prädikatenlogik: Gültigkeitsbereich von Quantoren
Syntax der Prädikatenlogik (2/2)
Syntax der
Prädikatenlogik
Was ist die Reichweite von Quantoren?
Bezieht sich ∀z noch auf P(f (z), y ) oder nicht mehr?
Soll ∨ oder ∀z eine stärkere Bindungsstärke haben?
Strukturen
Wir definieren die Menge T (F ) der Teilformeln induktiv wie folgt:
Ist F atomar, so ist T (F ) =def {F }
T (¬F ) =def {¬F } ∪ T (F )
T (F1 ∧ F2 ) =def {F1 ∧ F2 } ∪ T (F1 ) ∪ T (F2 )
T (F1 ∨ F2 ) =def {F1 ∨ F2 } ∪ T (F1 ) ∪ T (F2 )
T (∃ F ) =def {∃ F } ∪ T (F )
T (∀ F ) =def {∀ F } ∪ T (F )
Syntax der
Prädikatenlogik
Diese Frage haben wir implizit durch die induktive Definition der
prädikatenlogischen Formeln beantwortet
Streng genommen müsste die Formel ein äußeres Klammerpaar (· · · )
haben
In jedem Fall ist die “äußerste Operation”, durch die die Formel
entstanden ist, das “oder”, da andernfalls P(x, g (z)) ∨ ∀y P(f (x), y )
geklammert sein müsste
→ Syntaxbaum
9 – 23/26
9 – 24/26
Syntax der Prädikatenlogik: Einige Begriffe
Jedes Vorkommen einer Variablen x in einer Formel im Wirkungsbereich
eines Quantors ∃x oder ∀x heißt gebunden (durch die jeweiligen
Quantoren)
Jedes andere Vorkommen einer Variablen in einer Formel ist frei
Die freien Variablen einer Formel sind alle Variablen, die mindestens
einmal frei vorkommen
Eine Formel ist geschlossen, wenn sie keine freien Vorkommen von
Variablen enthält
Die Schreibweise F (x1 , . . . , xk ) soll implizit bedeuten, dass F keine
anderen freien Variablen hat als die in x1 , . . . , xk genannten (aber
möglicherweise weniger)
Logik
TU Do
SoSe 2011
Relationen und Prädikate
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitende
Beispiele
Einleitende
Beispiele
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
In prädikatenlogischen Formeln schreiben wir “R(x, y )” anstelle von
“(x, y ) ∈ R”
Dieser Notation liegt die (ältere) Auffassung zugrunde, dass R ein
Prädikat ist
Relationen
und
Funktionen
Strukturen
Syntax der
Prädikatenlogik
Die (modernere) Auffassung, dass R eine Relation ist, ist jedoch für
unsere Zwecke praktischer, insbesondere für die Definition der Semantik
Für viele Anwendungen (beispielswise in der Wissensrepräsentation) ist
jedoch durchaus die Prädikate-Sichtweise fruchtbar
Wichtig ist hier, dass die beiden Sichtweisen inhaltlich keinen
wesentlichen Unterschied mit sich bringen
Sei F1 =def R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y )
Sämtliche Vorkommen von x in F1 sind frei, die Vorkommen von y und z
gebunden
Die Signatur von F1 ist {P, R, f , g }
(Anton,Julius) ∈ P und P(Anton,Julius) bedeuten im Prinzip das Gleiche
In Formeln verwenden wir aber ausschließlich die Prädikatenschreibweise
In F2 =def P(x) ∨ ∃x R(x, y ) kommt x sowohl frei als auch gebunden vor
→ Schließlich heißt die Logik ja “Prädikatenlogik”
Die Menge der freien Variablen dieser Formel ist also {x, y }
Sei F3 =def ∀x [∀y ∃x E (y , x) ∧ E (x, y )]∧ E (x, x)
Das x in E (y , x) ist durch den Quantor ∃x gebunden
Das x in E (x, y ) ist durch den Quantor ∀x gebunden
Das x in E (x, x) ist frei
9 – 25/26
9 – 26/26
Logik
TU Do
SoSe 2011
Logik für Informatiker
Teil 10 — Prädikatenlogik: Normalformen
Unser Programm für Heute
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Semantik PL
Semantik PL
Formeln
erstellen und
verstehen
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
1
Semantik der Prädikatenlogik
2
Formeln erstellen und verstehen
3
Äquivalenzen und Normalformen
Äquivalenzen
und Normalformen
Dr. Christoph Schubert
basierend auf
Folien von Prof. Thomas Schwentick
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 14. Juni 2011 (15:43 Uhr)
10 – 1/36
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
1
Semantik der Prädikatenlogik
2
Formeln erstellen und verstehen
3
Äquivalenzen und Normalformen
Äquivalenzen
und Normalformen
10 – 3/36
10 – 2/36
Prädikatenlogische Interpretationen (1/2)
Zur Erinnerung:
Semantik der Aussagenlogik: Belegung, d.h. Wahrheitswerte für
aussagenlogische Variablen
Semantik der Modallogik: Kripke-Struktur, d.h. mögliche “Welten” und
ihre Beziehungen zueinander (für �, ♦), Wahrheitswerte für Variablen in
jeder Welt
Semantik der Prädikatenlogik: Wenn wir die Formel F = ∀x∃y E (y , s(x))
interpretieren wollen, so müssen wir festlegen
1 welche “Werte” für x und y zulässig sind
2 welche Bedeutung das Relationssymbol E haben soll
3 welche Bedeutung das Funktionssymbol s haben soll
Zusätzlich müssen wir angeben (z.B. für Interpretation von G = E (z, c0 )):
(4) welchen Wert das Konstantensymbol c0 annehmen soll
(5) wie wir mit freien Variablen (wie z in Formel G ) umgehen wollen.
Daher:
für (1) – (4) geben wir eine Struktur (A, R1 , . . . , Rk , f1 , . . . , fl , c1 , . . . , cm )
an
freien Variablen ordnen wir Elementen von A zu
Beispiel: für die Interpretation von F und G : wähle A = N,
E = > = { (m, n) ∈ N2 | m > n }, s : N → N, s(n) = n + 1, c0 = 0. Dann
sollte F stets wahr sein, der Wahrheitswert von G hängt von der Wahl für z
ab (falsch für z = 0, wahr für alle anderen z
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
10 – 4/36
Prädikatenlogische Interpretationen (2/2)
Für die Semantik einer PL-Formel F benötigen wir
eine Struktur, in der die Relations-, Funktions- und Konstantensymbole
interpretiert werden, sowie
eine Zuordnung von Werten zu den freien Variablen von F
Formal:
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Prädikatenlogische Interpretationen: Beispiel (1/3)
Kürzlich in der Logik-Übung gaben solche Studierende eine korrekte
Lösung ab, auf die eine der folgenden Aussagen zutraf:
(1) Der Studierende hat die Aufgaben verstanden
(2) Der Studierende war bei den jeweils besten Teilnehmern der
Übungsgruppen beliebt
(3) Der beste Freund des Studierenden war bei allen Studierenden beliebt
Modellierung:
(1) – (3) machen jeweils eine Aussage über einen Studierenden
Für diesen verwenden wir die Variable x
Die Funktion f soll jedem Studierenden seine/n beste(n) Freund(in)
zuordnen
g ordnet jedem Studierenden den besten Studierenden seiner Ü-Gruppe zu
P(x, y ) soll ausdrücken, dass x bei y beliebt ist
R(x) soll ausdrücken, dass x die Aufgaben verstanden hat
Definition 1
Eine Interpretation I = (A, β) besteht aus
einer Struktur A mit Grundmenge A und
einer partiellen Abbildung β : PV → A (der Belegung)
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Ziel: eine Formel F (x), die wahr wird, falls x einer der in (1)–(3)
beschriebenen Studierenden ist
Die drei Aussagen lassen sich dann wie folgt ausdrücken:
Notation: Ist β eine Belegung mit β(x) = 2, so schreiben wir statt (A, β)
auch (A, x �→ 2)
Eine Interpretation (A, β) heißt passend für eine PL-Formel F , falls
(1) R(x)
(2) ∀z P(x, g (z))
(3) ∀y P(f (x), y )
A passend zur Signatur von F ist und
β(x) für jede freie Variable x von F definiert ist
Die Gesamtformel F ist dann also:
R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y )
Entsprechend sind passende Terme definiert
“Studierender” und “Freund” stehen hier und im Folgenden jeweils für
männliche und weibliche Personen
10 – 5/36
Prädikatenlogische Interpretationen: Beispiel (2/3)
Seien Anton, Berta, Julius und Otto in einer ÜG (mit Julius als Bestem)
Seien Paula, Richard und Martha in einer anderen ÜG (mit Paula als
Bester)
Bei Julius sei Anton beliebt, bei Anton sei Otto beliebt, bei Paula seien
Anton und Martha beliebt
Für alle (bis auf Otto) ist Otto der beste Freund, Ottos bester Freund ist
Richard
Außerdem habe Berta die Aufgaben verstanden
Eine zu
F (x) = R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y )
passende Interpretation (A, β), die die obige Situation repräsentiert, ist
dann:
Logik
TU Do
SoSe 2011
10 – 6/36
Prädikatenlogische Interpretationen: Beispiel (3/3)
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Semantik PL
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Eine andere zu F (x) = R(x) ∨ ∀z P(x, g (z)) ∨ ∀y P(f (x), y ) passende
Interpretation (A� , β � ):
Grundmenge: R
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
�
f A sei die Sinus-Funktion
�
g A sei die Cosinus-Funktion
�
�
P A sei die ≤-Relation (also: (p, q) ∈ P A , falls p ≤ q)
�
R A = [3, ∞)
β � (x) = π/2
Grundmenge:
� {Anton, Berta, Julius, Martha, Otto, Paula, Richard}
Richard für x = Otto
f A (x) =
Otto
sonst
�
Julius für x = Anton, Berta, Julius oder Otto
g A (x) =
Paula für x = Paula, Richard oder Martha
β � (y ) = 1
Diese Interpretation hat natürlich nichts mit unserem Problem zu tun!
P A = {(Anton, Julius), (Otto, Anton), (Anton, Paula), (Martha, Paula)}
R A = {Berta}
β(x) = Anton
10 – 7/36
10 – 8/36
Semantik der Prädikatenlogik
Die Semantik der Prädikatenlogik ordnet jeder Formel F und jeder
passenden Interpretation I einen Wahrheitswert [[F ]]I zu
β[x/a] bezeichne die Belegung β̂ , die aus β durch β̂(x) =def a entsteht
Ist I = (A, β) , so bezeichnet I [x/a] die Interpretation (A, β[x/a])
Definition: Semantik prädikatenlogischer Formeln
Sei I = (A, β) eine Interpretation
Der Wert [[t]]I eines (zu I passenden) Terms t ist induktiv wie folgt definiert:
Logik
TU Do
SoSe 2011
Semantik der Prädikatenlogik: Beispiel
Sei wieder F = F1 ∨ F2 ∨ F3 mit
C. Schubert
F1 = R(x)
F2 = ∀z P(x, g (z))
F3 = ∀y P(f (x), y )
Semantik PL
Formeln
erstellen und
verstehen
Sei I = (A, β) die Interpretation mit
Äquivalenzen
und Normalformen
Grundmenge:
� {Anton, Berta, Julius, Martha, Otto, Paula, Richard}
Richard für x = Otto
f A (x) =
Otto
sonst
�
Julius für x = Anton, Berta, Julius oder Otto
g A (x) =
Paula für x = Paula, Richard oder Martha
[[x]]I =def β(x) für Variablen x ∈ PV
[[c]]I =def c A für Konstantensymbole c
Der Wahrheitswert [[F ]]I einer PL-Formel F ist induktiv wie folgt definiert:
→ [[F1 ]]I = 0
[[F1 ∧ F2 ]]I :⇐⇒ [[F1 ]]I = 1 und [[F2 ]]I = 1
→ Für alle a ∈ A ist [[P(x, g (z))]]I [z/a] = 1
[[¬F ]]I = 1 :⇐⇒ [[F ]]I = 0
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Für alle a ∈ A ist [[g (z)]]I [z/a] ∈ {Julius, Paula}
[[F1 ∨ F2 ]]I :⇐⇒ [[F1 ]]I = 1 oder [[F2 ]]I = 1
→ [[F2 ]]I = 1
[[∃x F ]]I = 1 : ⇐⇒ es gibt ein a ∈ A mit [[F ]]I [x/a] = 1
Eine Interpretation I mit [[F ]]I = 1 heißt Modell von F
Statt [[F ]]I = 1 schreiben wir auch I |= F
Ist F eine Menge prädikatenlogischer Formeln, so heißt I Modell von F ,
falls für alle F ∈ F gilt: I |= F
Notation: I |= F
Eine Formel F heißt erfüllbar, falls sie ein Modell hat, andernfalls
unerfüllbar
Analog für Mengen F von Formeln
Eine Formel F heißt allgemein gültig (oder: Tautologie), falls jede zu F
passende Interpretation ein Modell von F ist
Beispiel: ∀x P(x) ∨ ∃y ¬P(y ) ist allgemein gültig
Beispiel: ∀x ¬P(x) ∧ ∃y P(y ) ist unerfüllbar
Bemerkungen:
Semantik PL
[[R(x)]]I = 0
[[R(t1 , . . . , tk )]]I = 1 :⇐⇒ ([[t1 ]]I , . . . , [[tk ]]I ) ∈ R A
Prädikatenlogik: einige Begriffe und Bemerkungen
C. Schubert
P A = {(Anton, Julius), (Otto, Anton), (Anton, Paula), (Martha, Paula)}
R A = {Berta}
β(x) = Anton
[[f (t1 , . . . , tk )]]I =def f A ([[t1 ]]I , . . . , [[tk ]]I ) für k-stellige Funktionssymbole
f und Terme t1 , . . . , tk
[[∀x F ]]I = 1 : ⇐⇒ für alle a ∈ A gilt [[F ]]I [x/a] = 1
Logik
TU Do
SoSe 2011
→ [[F ]]I = 1
10 – 9/36
Logik
TU Do
SoSe 2011
10 – 10/36
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Semantik PL
Semantik PL
Formeln
erstellen und
verstehen
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Der Zusammenhang zwischen unerfüllbaren und allgemein gültigen
Formeln ist genauso wie bei aussagenlogischen Formeln:
F unerfüllbar ⇐⇒ ¬F allgemeingültig
Ist F eine geschlossene Formel mit Modell (A, β), so nennen wir auch A
ein Modell von F und schreiben A |= F
Für das 2-stellige Relationssymbol “=” erlauben wir immer nur die
Interpretation {(a, a) | a ∈ A}
1
Semantik der Prädikatenlogik
2
Formeln erstellen und verstehen
3
Äquivalenzen und Normalformen
Äquivalenzen
und Normalformen
Infix-Schreibweise: “t1 = t2 ” statt “= (t1 , t2 )”
Wenn wir die Verwendung von “=” erlauben, sprechen wir von
Prädikatenlogik mit Gleichheit
Andernfalls: Prädikatenlogik ohne Gleichheit
10 – 11/36
10 – 12/36
Prädikatenlogik: Formeln Erstellen (1)
Zur Erinnerung: Modellierung des Übungsgruppen-Szenarios:
f (a) ist bester Freund von a
g (a) ist bester Studierender in der Übungsgruppe von a
P(a, b) bedeutet, dass a bei b beliebt ist
R(a) bedeutet, dass a die Aufgaben verstanden hat
Wir suchen jetzt jeweils Formeln in der Prädikatenlogik mit Gleichheit für
umgangssprachlich formulierte Aussagen:
Jeder ist für jemanden der beste Freund
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Umformuliert in “umgangssprachliche Aussage mit Quantoren”:
Für jeden Studierenden gibt es einen Studierenden, der ihn als besten
Freund hat
∀x ∃y f (y ) = x
Prädikatenlogik: Formeln Verstehen (1)
Zur Erinnerung: Modellierung des Übungsgruppen-Szenarios:
f (a) ist bester Freund von a
g (a) ist bester Studierender in der Übungsgruppe von a
(a, b) ∈ P falls a bei b beliebt ist
a ∈ R falls a die Aufgaben verstanden hat
∀x P(x, f (x))
Für jeden Studierenden gilt: er ist bei seinem besten Freund beliebt
Einfacher formuliert: Jeder Studierende ist bei seinem besten Freund
beliebt
10 – 13/36
Logik
TU Do
SoSe 2011
10 – 14/36
Prädikatenlogik: Formeln Verstehen (2)
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Semantik PL
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Es gibt kein c und für alle a-Positionen x und alle b-Positionen y gilt:
x ≤y
Für alle Positionen x und y gilt: x hat kein c und falls x eine a-Position
und y eine b-Position
sind, so gilt x ≤ y
�
�
∀x ∀y [¬Qc (x)∧ (Qa (x) ∧ Qb (y )) → x ≤ y ]
Wir wollen nun PL-Formeln in natürlich-sprachliche Ausdrücke übersetzen:
∀x ∀y [F+1 (x, y ) → (¬Qa (x) ∨ ¬Qa (y ))]
Für zwei aufeinander folgende Positionen gilt, dass sie nicht beide a
enthalten
Im String kommt aa nicht als Teilstring vor
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
∃x ∀y [y ≤ x ∧ Qa (x)]
Es gibt eine Position, für die alle Positionen kleiner oder gleich sind, und
die ein a enthält
Das letzte Zeichen ist ein a
Strings, die abwechselnd aus a’s und b’s bestehen
Für je zwei Positionen, die unmittelbar hintereinander stehen, gilt: genau
eine hat ein a, die andere ein b
Hilfsformel für “unmittelbar hintereinander stehen”:
Dann:
Äquivalenzen
und Normalformen
Für alle Studierenden x und alle Studierenden y gilt: falls x und y
denselben ÜG-Besten haben, haben ihre besten Freunde auch denselben
ÜG-Besten
Einfacher formuliert: Sind zwei Studierende in derselben ÜG G , so sind
auch ihre besten Freunde in derselben (aber möglicherweise von G
verschiedenen) ÜG
Es gibt einen Studierenden, so dass alle Studierenden mit demselben
ÜG-Besten die Ü-Aufgaben verstanden haben
∃x ∀y (g (x)=g (y ) → R(y ))
Wir wollen nun Mengen von Strings durch PL-Formeln charakterisieren:
Strings von der Form a∗ b ∗ (beliebig viele a gefolgt von beliebig vielen b)
Formeln
erstellen und
verstehen
∀x ∀y [g (x)=g (y ) → g (f (x)) = g (f (y ))]
In einer der ÜGs haben alle die Aufgaben verstanden
der Menge A der String-Positionen als Grundmenge,
einer 2-stelligen Relation ≤,
1-stelligen Relationen Qa , Qb , Qc
Semantik PL
Es gibt einen Studierenden x, der die Aufgaben verstanden hat, und der
für keinen Studierenden y der ÜG-Beste ist
Einfacher formuliert (und auf den Punkt gebracht): Es gibt einen
Studierenden, der die Aufgaben verstanden hat, obwohl er nicht Bester
seiner ÜG ist
Für jeden Studierenden gibt es einen Studierenden, der in derselben ÜG ist
(denselben ÜG-Besten hat) und die Aufgaben verstanden hat
∀x ∃y (g (x)=g (y ) ∧ R(y ))
Zur Erinnerung: Strings über {a, b, c} werden modelliert durch
Strukturen mit
C. Schubert
∃x [R(x) ∧ ∀y x�=g (y )]
In allen Gruppen hat jemand die Aufgaben verstanden
Prädikatenlogik: Formeln Erstellen (2)
Logik
TU Do
SoSe 2011
∀x ∀y [(F+1 (x, y ) ∧ Qa (x)) → Qb (y )]
Für jede Position, die ein a enthält und eine rechte Nachbarposition hat,
steht dort ein b
Auf jedes a folgt direkt ein b (außer am Ende)
F+1 (x, y ) = [x≤y ∧ ¬(y ≤x) ∧ ∀z (z≤x ∨ y ≤z)]
∀x ∀y [F+1 (x, y ) → ((Qa (x) ∧ Qb (y )) ∨ (Qb (x) ∧ Qa (y )))]
Strings, die den Teilstring abc enthalten
Es gibt drei hintereinander liegende Positionen, die a, b, c enthalten
∃x ∃y ∃z [F+1 (x, y ) ∧ F+1 (y , z)∧ Qa (x) ∧ Qb (y ) ∧ Qc (z)]
10 – 15/36
10 – 16/36
Logik
TU Do
SoSe 2011
Überblick
Äquivalente Formeln und Ersetzungslemma
C. Schubert
Semantik der Prädikatenlogik
2
Formeln erstellen und verstehen
C. Schubert
Semantik PL
Analog zur Aussagenlogik definieren wir:
Semantik PL
Formeln
erstellen und
verstehen
Definition 2
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
1
Logik
TU Do
SoSe 2011
Zwei Formeln F1 , F2 heißen äquivalent, falls für jede zu F1 und F2 passende
Interpretation I gilt:
[[F1 ]]I = [[F2 ]]I
Äquivalenzen
und Normalformen
Das Ersetzungslemma gilt auch völlig analog (wir verzichten wieder auf eine
formale Definition der Begriffe “vorkommen” und “ersetzen”)
Lemma 3 (Ersetzungslemma der Prädikatenlogik)
3
Seien F1 , F2 , G1 , G2 PL-Formeln mit den folgenden Eigenschaften:
Äquivalenzen und Normalformen
G1 ist eine Teilformel von F1
G1 ≡ G2
F2 entsteht aus F1 , indem (ein Vorkommen von) G1 durch G2 ersetzt wird
Dann gilt: F1 ≡ F2
10 – 17/36
Substitutionen: einleitende Beispiele
Logik
TU Do
SoSe 2011
10 – 18/36
Das Gegenbeispiel
C. Schubert
Aussagenlogische Variablen und prädikatenlogische Variablen spielen in
ihrer Logik völlig unterschiedliche Rollen
Deshalb ist der Umgang mit Substitutionen in der Prädikatenlogik völlig
anders als in der Aussagenlogik
Aussagenlogische Substitutionen ordnen aussagenlogischen Variablen
jeweils aussagenlogische Formeln zu
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Prädikatenlogische Substitutionen ordnen prädikatenlogischen Variablen
jeweils Terme zu
Logik
TU Do
SoSe 2011
C. Schubert
Beispiel
Semantik PL
Sei F = ∃y E (x, y )
F hat die freie Variable x
Intuitiv: F sagt, dass in einem Graphen der x zugeordnete Knoten eine
ausgehende Kante hat
Substitution σ1 : x �→ a
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
σ1 (F ) = ∃y E (a, y )
Der Knoten a hat eine ausgehende Kante �
Substitution σ2 : y �→ x
Formal: Eine (prädikatenlogische) Substitution ist eine partielle Funktion
σ2 (F ) = ∃x E (x, x)?
Es gibt einen Knoten, der eine Kante zu sich selbst hat
→ Hier ändert die naive Anwendung der Substitution die Semantik völlig
σ : PV → PT
Wie lässt sich eine Substitution σ auf eine Formel F anwenden?
Substitution σ3 : x �→ y
Wie soll die Formel σ(F ) definiert sein?
Naiv: eine Substitution wird auf eine Formel angewendet, in dem jedes
Vorkommen einer Variablen x durch σ(x) ersetzt wird
Vorsicht! Hier lauern ein paar Fallstricke
σ3 (F ) = ∃y E (y , y )?
→ Gleiches Phänomen
→ Dieser Ansatz ist schlecht!!!
→ Vorsicht bei gebundenen Variablen!
10 – 19/36
10 – 20/36
Substitutionen: Definition (1/3)
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Wie können wir diese Probleme bei der Definition von σ(F ) vermeiden?
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Ziel
Substitutionen sollen “Äquivalenz erhalten”
Logik
TU Do
SoSe 2011
Substitutionen: Definition (2/3)
C. Schubert
Beispiel
Dieses Beispiel illustriert die Anwendung der Konvention vor einer
Substitution
Sei F = ∀x [E (x, z) ∧ ∀y ∃x E (y , x)] ∧ E (y , x)
Sei σ die Substitution x �→ f (y , z)
Die Variable x kommt in F sowohl frei als auch (durch zwei verschiedene
Quantoren) gebunden vor
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Für die beiden Quantoren, die x quantifizieren, verwenden wir zwei neue
Variablen x1 und x2
→ Die gebundenen Vorkommen von x ersetzen wir entsprechend durch x1
und x2
Konvention
Bevor wir Substitutionen anwenden, ersetzen wir die gebundenen Variablen
durch neue Varablen, so dass
Die Variable y kommt in σ(x) vor
keine Variable sowohl frei als auch gebunden in F vorkommt,
→ Wir verwenden für die gebundenen Vorkommen von y die neue Variable y1
keine zwei Quantoren dieselbe Variable binden und
Wir erhalten (vor der eigentlichen Anwendung von σ):
∀x1 [E (x1 , z) ∧ ∀y1 ∃x2 E (y1 , x2 )] ∧ E (y , x)
keine gebundene Variable in einem Term σ(x) vorkommt
Zu beachten: Freie Vorkommen von Variablen (so wie von y im letzten
Atom) werden nicht verändert (obwohl y im Bild von σ vorkommt!)
Die Anwendung von σ liefert nun:
∀x1 [E (x1 , z) ∧ ∀y1 ∃x2 E (y1 , x2 )] ∧ E (y , f (y , z))
10 – 21/36
Substitutionen: Definition (3/3)
Sei x1 �→ t1 , . . . , xk �→ tk eine Substitution σ
Die Anwendung der Ersetzungen einer Substitution erfolgt simultan unter
Beachtung der Konvention
Für das Resultat schreiben wir σ(F ) oder F [x1 /t1 , . . . , xk /tk ]
Beispiel
Logik
TU Do
SoSe 2011
10 – 22/36
Logik
TU Do
SoSe 2011
Äquivalenzen der Prädikatenlogik (1/2)
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Sei F = ∃y R(x, y , z)
C. Schubert
Für prädikatenlogische Formeln F , G , H gelten:
Formeln
erstellen und
verstehen
Kommutativität
Äquivalenzen
und Normalformen
F ∧G ≡G ∧F
F ∨G ≡G ∨F
(1) F [x/a] =∃y R(a, y , z)
Assoziativität
(2) F [x/z] =∃y R(z, y , z)
(F ∧ G ) ∧ H ≡ F ∧ (G ∧ H)
(3) F [y /z] =∃y R(x, y , z)
(F ∨ G ) ∨ H ≡ F ∨ (G ∨ H)
(4) F [x/y ] =∃y1 R(y , y1 , z)
Distributivität
(5) F [x/a, z/b] =∃y R(a, y , b)
F ∨ (G ∧ H) ≡ (F ∨ G ) ∧ (F ∨ H)
(6) F [x/z, z/a] =∃y R(z, y , a)
F ∧ (G ∨ H) ≡ (F ∧ G ) ∨ (F ∧ H)
(7) F [x/z, z/x] =∃y R(z, y , x)
Semantik PL
Satz 1
Idempotenz
F ∧F ≡F
F ∨F ≡F
Absorption
F ∧ (F ∨ G ) ≡ F
F ∨ (F ∧ G ) ≡ F
De Morgansche Regeln
¬(F ∧ G ) ≡ ¬F ∨ ¬G
¬(F ∨ G ) ≡ ¬F ∧ ¬G
Doppelnegation
¬¬F ≡ F
Lemma 4 (Substitutionslemma)
Ist σ eine Substitution und F1 ≡ F2 , so gilt: σ(F1 ) ≡ σ(F2 )
10 – 23/36
10 – 24/36
Logik
TU Do
SoSe 2011
Äquivalenzen der Prädikatenlogik (2/2)
C. Schubert
C. Schubert
Semantik PL
Semantik PL
Formeln
erstellen und
verstehen
Satz 2
Für prädikatenlogische Formeln F und G gelten:
(1) ¬∀x F ≡ ∃x ¬F und ¬∃x F ≡ ∀x ¬F
Äquivalenzen
und Normalformen
Beweisidee 1
Die Beweise erfolgen jeweils durch Rückführung auf die Semantik von
PL-Formeln
(3) ∀x ∀y F ≡ ∀y ∀x F und ∃x ∃y F ≡ ∃y ∃x F
Äquivalenzen
und Normalformen
[[∀x (F ∨ G )]]I = 1 ⇐⇒ für alle a ∈ A gilt: [[F ∨ G ]]I [x/a] = 1
(4) Falls x in G nicht vorkommt:
⇐⇒ für alle a ∈ A gilt: [[F ]]I [x/a] = 1 oder [[G ]]I [x/a] = 1
und
⇐⇒ für alle a ∈ A gilt: [[F ]]I [x/a] = 1 oder [[G ]]I = 1
∃x (F ∨ G ) ≡ (∃x F ) ∨ G
(da x in G nicht vorkommt)
(5) Falls x in G nicht vorkommt:
∀x (F ∨ G ) ≡ (∀x F ) ∨ G
Formeln
erstellen und
verstehen
Wir betrachten beispielhaft den Beweis der ersten Äquivalenz in (5):
(2) (∀x F ) ∧ (∀x G ) ≡ ∀x (F ∧ G ) und (∃x F ) ∨ (∃x G ) ≡ ∃x (F ∨ G )
∀x (F ∧ G ) ≡ (∀x F ) ∧ G
Logik
TU Do
SoSe 2011
Beweisidee zu Satz 2
und
⇐⇒ für alle a ∈ A gilt [[F ]]I [x/a] = 1 oder es gilt [[G ]]I = 1
∃x (F ∧ G ) ≡ (∃x F ) ∧ G
⇐⇒ [[∀x F ]]I = 1 oder [[G ]]I = 1
⇐⇒ [[(∀x F ) ∨ G ]]I = 1
10 – 25/36
Normalformen: Begriffe
Logik
TU Do
SoSe 2011
C. Schubert
Definition 5
Eine PL-Formel ist in reduzierter Form, wenn sie nur ∃, ∨, ¬ verwendet,
aber nicht ∀ und ∧
Eine PL-Formel F ist in Negations-Normalform (NNF), wenn Negationen
in F nur unmittelbar vor atomaren Formeln vorkommen
Eine PL-Formel F ist in Pränexform, wenn sie die Gestalt
Q1 x1 Q2 x2 · · · Qk xk F � hat, wobei
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
10 – 26/36
Normalformen: Existenz
Zur Erinnerung:
reduzierte Form: nur ∃, ∨, ¬, nicht ∀, ∧
Negations-Normalform: Negationen nur unmittelbar vor atomaren
Formeln
Pränexform: “alle Quantoren vorn und binden unterschiedliche Variablen”
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Lemma 6
die Qi jeweils entweder ∃ oder ∀ sind,
die xi paarweise verschieden sind, und
F � quantorenfrei,
Zu jeder prädikatenlogischen Formel F gibt es jeweils eine äquivalente Formel
in
(a) reduzierter Form,
(also: F � ist atomar oder geklammert!)
(b) Negations-Normalform und
Beispiele
(c) Pränexform
∃x∀y (E (x, y ) ∧ ¬E (y , x))
ist in Pränexform und in NNF, aber nicht in reduzierter Form
(a) und (b) lassen sich durch Anwendung von Satz 2(1) und der De
Morgan-Regeln beweisen
∃x∀yE (x, y ) ∧ ¬E (y , x)
ist in NNF, aber weder in Pränexform noch in reduzierter Form
Pränexform und NNF lassen sich auch immer gleichzeitig erreichen
Nicht immer gleichzeitig erreichen lassen sich:
∃x ¬[∃y (¬E (x, y ) ∨ E (y , x))]
ist in reduzierter Form aber weder in NNF noch in Pränexform
NNF und reduzierte Form
Pränexform und reduzierte Form
10 – 27/36
10 – 28/36
Logik
TU Do
SoSe 2011
Umwandlung in Pränexform
Beispiel
Umwandlung in Pränexform durch Anwendung von Äquivalenzregeln
∀x R(x) ∧ ∃y S(y ) ≡ ∀x [R(x) ∧ ∃y S(y )]
(Satz 2(4))
≡ ∀x ∃y (S(y ) ∧ R(x))
(Satz 2(4))
≡ ∀x [∃y S(y ) ∧ R(x)]
≡ ∀x ∃y (R(x) ∧ S(y ))
Algorithmus zur Berechnung der Pränexform
C. Schubert
Algorithmus (Berechnung der Pränexform)
C. Schubert
Semantik PL
Im Folgenden steht jedes Qi und jedes Qi� für einen Quantor ∃ oder ∀
Eingabe: PL-Formel F
Ausgabe: PL-Formel PF(F ) mit PF(F ) ≡ F und PF(F ) ist in Pränexform
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
(Komm.)
(Komm.)
Die Umwandlung in Pränexform lässt sich allgemein durch einen
rekursiven Algorithmus bewerkstelligen, den wir jetzt betrachten
Die Korrektheit dieses Algorithmus lässt sich durch Induktion nach dem
Aufbau der Formel F beweisen
Damit ergibt sich dann ein Beweis für Lemma 6(c)
1
Wandle F äquivalent so um, dass alle quantifizierten Variablen paarweise
verschieden und von den freien Variablen verschieden sind
2
Fallunterscheidung: F ist von der Form:
atomar return F
¬G Berechne Q1 x1 · · · Qk xk H:= PF(G )
return Q1 x1 · · · Qk xk (¬H)
(wobei ∃ = ∀ und ∀ = ∃)
F1 ∨ F2 Berechne Q1 x1 · · · Qk xk G1 := PF(F1 ) und
Q1� y1 · · · Ql� yl G2 := PF(F2 )
return Q1 x1 · · · Qk xk Q1� y1 · · · Ql� yl (G1 ∨ G2 )
F1 ∧ F2 Berechne Q1 x1 · · · Qk xk G1 := PF(F1 ) und
Q1� y1 · · · Ql� yl G2 := PF(F2 )
returnQ1 x1 · · · Qk xk Q1� y1 · · · Ql� yl (G1 ∧ G2 )
∃x G Berechne Q1 x1 · · · Qk xk H := PF(G )
(wobei alle xi �= x)
return ∃x Q1 x1 · · · Qk xk H
∀x G Berechne Q1 x1 · · · Qk xk H := PF(G )
(wobei alle xi =
� x)
return∀x Q1 x1 · · · Qk xk H
10 – 29/36
Berechnung der Pränexform: Beispiel
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Wir betrachten die Formel [R(x) ∨ ∀y P(x, g (y ))] ∨ ¬∀x ∃y P(f (x), y )
Da x gebunden und frei vorkommt und y zweimal quantifiziert wird,
ersetzen wir die Variable y im ersten All-Quantor (und ihre Vorkommen)
sowie die Variable x im Allquantor:
[R(x) ∨ ∀y1 P(x, g (y1 ))] ∨ ¬∀x1 ∃y P(f (x1 ), y )
Da die Formel von der Form F1 ∨ F2 ist, wird zunächst für die beiden
Teilformeln die Pränexform bestimmt:
Logik
TU Do
SoSe 2011
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
10 – 30/36
Skolemform (1/4)
Wir betrachten nun noch zwei weitere Normalformen, die wir im
nächsten Kapitel für den Erfüllbarkeitstest benötigen werden
Beobachtung: Wenn wir die Erfüllbarkeit einer Formel F durch
Umwandlung in eine andere Formel testen wollen, müssen die einzelnen
Schritte nicht unbedingt äquivalente Formeln ergeben
Es genügt, wenn sich jeweils die Erfüllbarkeit nicht ändert
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Wenn wir Formeln auf Erfüllbarkeit testen wollen, hilft uns diese
Beobachtung, Formeln in Formeln mit weniger Quantoren umzuwandeln
Dazu definieren wir:
Formeln F1 , F2 heißen erfüllbarkeitsäquivalent, wenn sie entweder beide
erfüllbar oder beide unerfüllbar sind
PF(R(x) ∨ ∀y1 P(x, g (y1 ))) liefert die Formel ∀y1 (R(x) ∨ P(x, g (y1 ))
PF(¬∀x1 ∃y P(f (x1 ), y )) führt zum Aufruf PF(∀x1 ∃y P(f (x1 ), y )) und
liefert dann ∃x1 ∀y ¬P(f (x1 ), y )
Definition 7
Eine Formel ist in Skolemform, wenn sie die Form ∀x1 · · · ∀xn G hat, wobei
Insgesamt erhalten wir also:
∀y1 ∃x1 ∀y [R(x) ∨ P(x, g (y1 )) ∨ ¬P(f (x1 ), y )]
G quantorenfrei ist und
im Quantoren-Präfix keine Variable mehrfach vorkommt
Zu beachten: wie schon bei der Pränexform muss, nach Definition der
Syntax prädikatenlogischer Formeln, G also atomar oder durch ein
Klammerpaar umschlossen sein
10 – 31/36
10 – 32/36
Skolemform (2/4)
Lemma 8
Es gibt einen Algorithmus, der zu jeder prädikatenlogischen Formel eine
erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform berechnet
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Semantik PL
Formeln
erstellen und
verstehen
Allgemeiner kann jede Formel durch Anwendung der folgenden Skolem-Regel
(und der Äquivalenzumwandlungen) in eine erfüllbarkeitsäquivalente,
geschlossene Formel in Skolemform umgewandelt werden:
Ist
Natürlich ist diese Formel erfüllbar
Tun wir trotzdem mal so, als wäre das noch nicht klar:
Äquivalenzen
und Normalformen
F = ∀x1 ∀x2 · · · ∀xk ∃y F �
wobei F � eine Formel ist, in der das Funktionssymbol f nicht vorkommt, so ist
die Formel
∀x1 ∀x2 · · · ∀xk F � [y /f (x1 , . . . , xk )]
Wir wollen den ∃-Quantor loswerden, ohne an der Erfüllbarkeit der Formel
etwas zu ändern
Etwas genauer sagt die Formel, dass es zu jedem Knoten einen weiteren
Knoten gibt, so dass es vom ersten Knoten eine Kante zum zweiten
Knoten gibt
Wenn G |= F für einen Graphen
G = (V , E ) gilt, lässt sich also eine Funktion f : V �→ V finden, so dass
jeder Knoten a eine Kante zu f (a) hat
Umgekehrt lässt sich eine solche Funktion nur finden, wenn G |= F gilt
Also ist die Formel F erfüllbarkeitsäquivalent zu ∀x E (x, f (x))
erfüllbarkeitsäquivalent zu F
Zu beachten: F � kann durchaus weitere Quantoren enthalten
10 – 33/36
Die Umwandlung in eine erfüllbarkeitsäquivalente Formel F in Skolemform
erfolgt in drei Phasen:
(i) Wandle F in eine äquivalente Formel F1 in Pränexform um
(ii) Wandle F1 in eine erfüllbarkeitsäquivalente, geschlossene Pränex-Formel
F2 um: F2 = ∃x1 · · · ∃xm F1 , wobei x1 , . . . , xm die freien Variablen von F1
sind
(iii) Wandle F2 durch Anwendung der Skolem-Regel (von links nach rechts)
in eine erfüllbarkeitsäquivalente geschlossene Skolemformel F3 um
Formeln
erstellen und
verstehen
Skolem-Regel
Die Formel F = ∀x ∃y E (x, y ) sagt aus, dass jeder Knoten eines
Graphen mindestens eine ausgehende Kante hat
Skolemform (3/4)
Logik
TU Do
SoSe 2011
C. Schubert
Äquivalenzen
und Normalformen
Beispiel
Skolemform (3/4): Skolem-Regel
Logik
TU Do
SoSe 2011
C. Schubert
10 – 34/36
Matrixklauselform
Die erfüllbarkeitsäquivalente Vereinfachung von Formeln können wir noch
etwas verfeinern, damit der quantorenfreie Teil eine günstige Form hat:
Sei F eine Formel in Pränexform
Sei G = ∀y1 · · · ∀yk H eine zu F erfüllbarkeitsäquivalente, geschlossene
Formel in Skolemform
Sei H � eine KNF zu H
Die Klauselmenge K zu H � nennen wir nun eine Matrixklauselform zu F
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Beispiel
Logik
TU Do
SoSe 2011
C. Schubert
Semantik PL
Formeln
erstellen und
verstehen
Äquivalenzen
und Normalformen
Wir betrachten die Formel R(x) ∨ ∀y P(x, g (y ))∨ ¬∀x ∃y P(f (x), y )
Beispiel
In Pränexform:
∀y1 ∃x1 ∀y [R(x) ∨ P(x, g (y1 ))∨ ¬P(f (x1 ), y )]
Finde erfüllbarkeitsäquivalente Formel in Skolemform zu
F = ∀y ∃z ∀w [(¬P(x, y ) ∧ ¬R(y , f (z))) ∨ P(g (x, w ), x)]
Diese Formel ist erfüllbarkeitsäquivalent zu:
F ist schon in Pränexform
∃x ∀y1 ∃x1 ∀y [R(x) ∨ P(x, g (y1 )) ∨ ¬P(f (x1 ), y )]
Wir quantifizieren die freie Variable x:
Durch die Ersetzung x �→ b und x1 �→ h(y1 ) erhalten wir die Skolemform:
∀y1 ∀y [R(b) ∨ P(b, g (y1 ))∨ ¬P(f (h(y1 )), y )]
∃x ∀y ∃z ∀w [(¬P(x, y ) ∧ ¬R(y , f (z))) ∨ P(g (x, w ), x)]
Der erste ∃-Quantor wird durch eine 0-stellige Funktion, also durch ein
Konstantensymbol a, ersetzt:
Die entstehende Matrixformel R(b) ∨ P(b, g (y1 )) ∨ ¬P(f (h(y1 )), y ) ist
bereits in KNF
∀y ∃z ∀w [(¬P(a, y ) ∧ ¬R(y , f (z))) ∨ P(g (a, w ), a)]
Deshalb erhalten wir die Matrixklauselform:
{{R(b), P(b, g (y1 )), ¬P(f (h(y1 )), y )}}
Der zweite ∃-Quantor wird dann durch eine 1-stellige Funktion h ersetzt:
∀y ∀w [(¬P(a, y ) ∧ ¬R(y , f (h(y )))) ∨ P(g (a, w ), a)]
10 – 35/36
10 – 36/36
Logik
TU Do
SoSe 2011
Logik für Informatiker
Teil 11 — Prädikatenlogik: Erfüllbarkeit
Unser Programm für Heute
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
HerbrandStrukturen
GrundResolution
1
Erfüllbarkeit: Einleitung
PLResolution
GrundResolution
PLResolution
Dr. Christoph Schubert
2
Herbrand-Strukturen
3
Grund-Resolution
4
Unifikation und prädikatenlogische Resolution
basierend auf
Folien von Prof. Thomas Schwentick
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
Sommersemester 2011
Version vom 5. Juli 2011 (11:23 Uhr)
11 – 1/52
Überblick
1
Erfüllbarkeit: Einleitung
Logik
TU Do
SoSe 2011
Zur Erinnerung
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
HerbrandStrukturen
GrundResolution
PLResolution
2
11 – 2/52
Herbrand-Strukturen
Erfüllbarkeit Aussagenlogik
Resolution
Dazu: konjunktive Normalform
GrundResolution
PLResolution
Tableaukalkül
Endliche Modelleigenschaft
3
Grund-Resolution
Erfüllbarkeit Modallogik
Tableaukalkül
4
Endliche Modelleigenschaft
Unifikation und prädikatenlogische Resolution
11 – 3/52
11 – 4/52
Logik
TU Do
SoSe 2011
Prolog (1/2)
Prolog: “Programming in Logic”
→ Deklarative Programmiersprache
Wird z.B. für wissensbasierte Systeme verwendet
Beispiel-Programm:
C. Schubert
Einleitung
HerbrandStrukturen
GrundResolution
ancestor(X,Y) :- parent(X,Y).
ancestor(X,Y) :- parent(X,Z),ancestor(Z,Y).
parent(bob,allen).
parent(dave,bob).
parent(fred,dave).
PLResolution
Logik
TU Do
SoSe 2011
Prolog (2/2)
Wie lässt sich die Unerfüllbarkeit der dem Programm
ancestor(X,Y) :- parent(X,Y).
ancestor(X,Y) :- parent(X,Z),ancestor(Z,Y).
parent(bob,allen).
parent(dave,bob).
parent(fred,dave).
und der Zielregel ? :- ancestor(Y,allen). entsprechenden Formeln
testen?
Einfacher Ansatz: Setze alle möglichen Werte für x und y ein, z.B.:
Die Ziel-Regel entspricht der Formel ∃y A(y , allen)
Ähnlich wie in den Beispielen der AL-Resolution wird nun versucht, zu
zeigen, dass die Menge der Programm-Formeln zusammen mit der
negierten Zielformel ∀y ¬A(y , allen) unerfüllbar ist
und passende Werte für y , die der Erfüllbarkeit im Wege stehen, zu finden
11 – 5/52
Erfüllbarkeit von PL-Formeln: Beispiel
Prädikatenlogische Erfüllbarkeit wirft völlig neue Fragen auf, wie das folgende
Beispiel illustriert
F := ∀u ∀v ∀w (P(u, v ) ∧ P(v , w ) → P(u, w ))∧ ∀x (¬P(x, x) ∧ P(x, f (x))
A
A
F hat das Modell A = (N, P , f ) mit
A
P (n, m) ⇐⇒def n < m, für alle n, m ∈ N
�
Logik
TU Do
SoSe 2011
GrundResolution
PLResolution
11 – 6/52
Erfüllbarkeit prädikatenlogischer Formeln: Plan (1/2)
Logik
TU Do
SoSe 2011
C. Schubert
Unser Ziel ist also ein Erfüllbarkeitstest für PL-Formeln F
C. Schubert
Einleitung
Wichtig: wir betrachten hier und im Folgenden die Prädikatenlogik ohne
Gleichheit!
Einleitung
In Abschnitt 11.2 lernen wir den allgemeinen Ansatz unserer
Erfüllbarkeitstests kennen: Herbrand-Strukturen
GrundResolution
HerbrandStrukturen
GrundResolution
PLResolution
f A (n) = n + 1, für alle n ∈ N
A ist ein unendliches Modell
Hat F auch ein nicht-leeres, endliches Modell? Nein!
Denn angenommen, B = (U, P B , f B ) wäre ein endliches Modell für F
Notation: schreibe f statt f B . f 2 (a) ist eine Abkürzung für f (f (a)),
analog f i (a)
Sei a ∈ U beliebig
Da U endlich ist, können die unendlich vielen Folgenglieder
a, f (a), f (f (a)), . . . nicht alle verschieden sein
Also gibt es i, j mit i < j, so dass gilt: f i (a) = f j (a)
Da P transitiv ist und (b, f (b)) ∈ P für jedes b ∈ U gilt, folgt
(f i (a), f j (a)) ∈ P
Das widerspricht aber der Teilformel ∀x ¬P(x, x)
HerbrandStrukturen
Wir können dann Atome wie z.B. P(dave, bob) als aussagenlogische
Variablen auffassen, und versuchen, die Unerfüllbarkeit der entstehenden
aussagenlogischen Formelmenge mit den bekannten Methoden
nachzuweisen
Es gilt sogar: alle vorkommenden Formeln sind Hornformeln, deshalb ist
ein effizienter Erfüllbarkeitstest möglich
Schönheitsfehler: für jede k-stellige Relation ergeben sich bei n
Grundelementen nk Variablen
Wenn Funktionen vorkommen, gibt es sogar unendlich viele Atome . . .
∀x ∀y [∃z (P(x, z) ∧ A(z, y )) → A(x, y )]
�
Einleitung
P(dave, bob) ∧ A(bob, fred) → A(dave, fred)
P(bob, fred) ∧ A(fred, allen) → A(bob, allen)
und so weiter. . .
Zielformel: ¬A(fred, allen), ¬A(bob, allen),...
Zielregel: ? :- ancestor(Y,allen).
Die Regel ancestor(X,Y) :- parent(X,Z),ancestor(Z,Y)
entspricht der PL-Formel
Beispiel
C. Schubert
In Abschnitt 11.3 betrachten wir dann eine Methode, die sich relativ
direkt aus der aussagenlogischen Resolution ergibt: Grundresolution
HerbrandStrukturen
PLResolution
Danach werden wir in 11.4 eine etwas zielgerichtetere Methode
betrachten: prädikatenlogische Resolution
Beide Erfüllbarkeitstest für eine PL-Formel F verwenden die folgenden
Schritte:
(1) Wandle F in eine erfüllbarkeitsäquivalente geschlossene Skolemformel F �
um
Recall: F � kann mehr Funktionssymbole als F verwenden
(2) Konstruiere die Grundmenge H(F � ) und definiere die Konstanten und
Funktionen für ein mögliches Modell H von F �
Wir werden sehen: wenn F � ein Modell hat, dann auch ein Herbrand-Modell,
dessen Grundmenge H(F � ) eindeutig durch F � bestimmt ist
(3) Stelle fest, ob die Relationen für H so definiert werden können, dass sich
ein Modell für F � ergibt
11 – 7/52
11 – 8/52
Logik
TU Do
SoSe 2011
Erfüllbarkeit prädikatenlogischer Formeln: Plan (2/2)
Die beiden Methoden unterscheiden sich nur in (3) (Konstruktion der
Relationen):
Bei der Grundresolution betrachten wir jedes Atom, das aus U und den
Funktions- und Relationssymbolen von F gebildet werden kann, als
aussagenlogische Variable
Dann definieren wir die Menge E (F � ) aller Klauseln, die sich aus F � durch
Einsetzen von Grundtermen für die PL-Variablen ergeben
Wir werden sehen:
F � prädikatenlogisch erfüllbar ⇐⇒ E (F � ) aussagenlogisch erfüllbar
Leider liefert das Verfahren für erfüllbare Formeln (in der Regel) kein
Ergebnis, aber ein solches Verfahren kann es aus prinzipiellen Gründen gar
nicht geben
(siehe nächstes Kapitel)
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
HerbrandStrukturen
GrundResolution
1
Erfüllbarkeit: Einleitung
PLResolution
Das zweite Verfahren, die prädikatenlogische Resolution, arbeitet
zielgerichteter und meist effizienter als die Grundresolution
GrundResolution
PLResolution
2
Herbrand-Strukturen
3
Grund-Resolution
4
Unifikation und prädikatenlogische Resolution
Zu beachten: Im Folgenden werden wir uns meistens auf die Schritte (2)
und (3) konzentrieren und deshalb voraussetzen, dass die zu testende
Formel schon eine geschlossene Skolemformel ist
11 – 9/52
Logik
TU Do
SoSe 2011
Das Herbrand-Universum zu einer Skolemformel (1/2)
Beispiel
11 – 10/52
Das Herbrand-Universum zu einer Skolemformel (2/2)
C. Schubert
Sei
C. Schubert
Einleitung
�
F1 = ∀x ∀y R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, y )))
Was wissen wir über Modelle A von F1 ?
�
Sie müssen Elemente aA , b A enthalten
HerbrandStrukturen
GrundResolution
PLResolution
Logik
TU Do
SoSe 2011
Einleitung
�
�
Welches Universum wählen wir für F2 = ∀x P(x) ∧ ¬P(f (x)) ?
Kleines Problem: die Formel hat keine Konstantensymbole
Wir nehmen in einem solchen Fall immer das Symbol a als Basis für H(F2 )
HerbrandStrukturen
GrundResolution
PLResolution
Also: H(F2 ) =def alle Terme, die sich aus a und f bilden lassen:
a, f (a), f (f (a)), f (f (f (a))), . . .
Sie müssen auch Elemente f A (aA ), f A (b A ), g A (aA , aA ), g A (aA , b A ),
g A (b A , aA ), g A (b A , b A ) enthalten
Sie müssen außerdem Elemente wie f A (f A (aA )), f A (g A (aA , aA )),
g A (f A (aA ), aA ) enthalten usw.
Definition 1
Das Herbrand-Universum H(F ) zu einer Formel F besteht aus allen
Termen, die sich aus den in F vorkommenden Konstantensymbolen und
Funktionssymbolen bilden lassen
Welche dieser Elemente zueinander gleich oder verschieden sind, wissen
wir dabei nicht
Falls F keine Konstantensymbole enthält, wird a als Konstantensymbol
hinzugenommen
Unsere Erfüllbarkeitstests versuchen ein Modell zu konstruieren, dessen
Grundmenge genau aus allen Termen besteht, die sich aus den in der
Formel vorkommenden Konstanten- und Funktionssymbolen bilden lassen
Im Falle von F1 enthält H(F1 ) also alle Terme, die sich aus a, b, f , g
bilden lassen: a, b, f (a), f (b), g (a, a), g (a, b), g (b, a), f (f (a)),
f (g (a, a)), . . .
Dieser rein syntaktische Ansatz wurde von Jacques Herbrand entwickelt
11 – 11/52
11 – 12/52
Herbrand-Strukturen: Motivation
Logik
TU Do
SoSe 2011
Beispielformel F2 von der vorherigen Folie hat das Herbrand-Universum
a, f (a), f (f (a)), . . .
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
Unser Ziel: ein Modell für eine Skolemformel F finden
Erster Schritt: Grundmenge festlegen �
Herbrand-Strukturen: Definition
GrundResolution
PLResolution
Definition 2
Sei F eine geschlossene Skolemformel
Eine Struktur A heißt Herbrand-Struktur für F , falls gilt:
HerbrandStrukturen
GrundResolution
PLResolution
Die Grundmenge von A ist H(F )
Ist c ein Konstantensymbol von F , so ist c A = c
Ist f ein k-stelliges Funktionssymbol von F und sind t1 , . . . , tk ∈ H(F ), so
ist f A (t1 , . . . , tk ) = f (t1 , . . . , tk )
Zweiter Schritt: Konstanten festlegen
Wie soll in A die Konstante a interpretiert werden?
Also: wie soll aA gewählt werden?
Wir nehmen das Naheliegende: aA =def a
Verschiedene Herbrand-Strukturen unterscheiden sich also nur bezüglich
ihrer Relationen
Dritter Schritt: Funktionen auf der Grundmenge festlegen
fA
Wie soll
definiert sein?
Wir wählen auch hier das Naheliegende: f A (t) =def f (t), für jeden Term t
Zum Beispiel: f A (a) =def f (a)
Ein Herbrand-Modell einer Formel F ist eine Herbrand-Struktur, die ein
Modell für F ist
Statt Herbrand-Modell sagt man manchmal auch Term-Modell.
11 – 13/52
Satz von Löwenheim-Skolem (1/3)
Satz 1 (Löwenheim-Skolem)
Jede PL-Formel hat genau dann ein Modell, wenn sie ein Modell mit
abzählbar unendlicher Grundmenge hat
Logik
TU Do
SoSe 2011
Satz von Löwenheim-Skolem (2/3)
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
GrundResolution
PLResolution
Beweisidee
11 – 14/52
Die Richtung “⇐=” ist klar
Bemerkungen
Wenn wir von einer Formel F ausgehen, die nicht in Skolemform ist,
kann H aufgrund der Skolemisierung zusätzliche Funktionen und
Konstanten haben
Trotzdem ist H dann auch ein Modell für die ursprüngliche Formel F
HerbrandStrukturen
GrundResolution
PLResolution
Die zusätzlichen Funktionen stören nicht
Für “ =⇒ ” sei F = ∀x1 · · · ∀xl G eine geschlossene Skolemformel
Durch Weglassen der zusätzlichen Funktionen und Konstanten kann also
ein “genau passendes” Modell für F gewonnen werden
Wir zeigen: Hat F ein Modell, so hat F auch ein Herbrand-Modell H
Sei A ein Modell für F mit Grundmenge A
Wir konstruieren H wie folgt:
Falls F ein Funktionssymbol hat, ist die Grundmenge von H abzählbar
unendlich
Grundmenge H(F ), Konstanten, Funktionen gemäß Definition von
Herbrand-Strukturen
Ist P ein k-stelliges Relationssymbol von F und sind t1 , . . . , tk ∈ H(F ), so
sei P H definiert durch:
Falls F keine Funktionssymbole enthält (und H(F ) deshalb nur aus
endlich vielen Konstanten besteht), lässt sich trotzdem ein abzählbar
unendliches Modell finden
(t1 , . . . , tk ) ∈ P H ⇐⇒ A |= P(t1 , . . . , tk )
Man zeigt H |= F mittels Induktion nach der Anzahl der Quantoren in F
11 – 15/52
11 – 16/52
Satz von Löwenheim-Skolem (3/3)
Beispiel
Dieses Beispiel soll nur die Konstruktion von H im Beweis von Satz 1
illustrieren. Sei dazu wieder
�
�
F = ∀u ∀v ∀w (P(u, v ) ∧ P(v , w ) → P(u, w )) ∧ ∀x (¬P(x, x) ∧ P(x, f (x))
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
Herbrand-Modell: Beispiel
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
GrundResolution
PLResolution
HerbrandStrukturen
Beispiel
Sei F3 = ∀x∀y [P(f (x), g (x, y )) ∧ ¬P(g (x, x), f (y ))]
Wir versuchen, für F3 ein Herbrand-Modell zu konstruieren
Die Definition der Funktionen ist wie zuvor besprochen
P A (n, m) : ⇐⇒ n < m, für alle n, m ∈ N
f A (n) = n + 1, für alle n ∈ N
Wie soll P definiert werden?
Das ist hier recht einfach:
Wie können wir aus A ein Herbrand-Modell für F gewinnen?
Um P(f (x), g (x, y )) für jede Variablenbelegung wahr zu machen, müssen
wir alle Paare der Form (f (t1 ), g (t1 , t2 )) mit t1 , t2 ∈ H(F3 ) nach P
aufnehmen
Universum U von H: a, f (a), f (f (a)), ...
Wir wählen aH willkürlich: aH =def 5
Die Funktion f H ist definiert durch: f H (t) =def f (t), für alle t ∈ U
Da P dann keine Paare der Form P(g (t1 , t1 ), f (t2 )) enthält, ist die zweite
Teilformel ¬P(g (x, x), f (y )) auch für jede Variablenbelegung wahr
Wann ist (f i (a), f j (a)) ∈ P H ?
Dazu schauen wir, ob ((f i (a))A , (f j (a))A ) ∈ P A ist
Dies ist genau dann der Fall, wenn 5 + i < 5 + j ist, also, wenn i < j
Also: (f i (a), f j (a)) ∈ P H ⇐⇒def i < j
11 – 17/52
Um die Erfüllbarkeit einer PL-Formel zu testen, können wir also:
(1) sie in eine erfüllbarkeitsäquivalente geschlossene Skolemformel F
umwandeln, und
(2) das Herbrand-Universum H(F ) sowie die Funktionen auf H(F )
konstruieren
In Schritt (3) müssen wir dann herausfinden, ob Relationen über H(F ) so
gewählt werden können, dass F wahr wird
PLResolution
H(F3 ) = {a, f (a), g (a, a), f (f (a)), f (g (a, a)), g (a, f (a)), . . .}
Wie schon gesehen: F hat das Modell A = (N, P A , f A ) mit
Herbrand-Expansionen
GrundResolution
Logik
TU Do
SoSe 2011
11 – 18/52
Logik
TU Do
SoSe 2011
Herbrand-Expansionen: Beispiele (1/2)
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
HerbrandStrukturen
GrundResolution
PLResolution
Beispiel
�
GrundResolution
�
Für F2 = ∀x P(x) ∧ ¬P(f (x)) gilt:
PLResolution
H(F2 ) = {a, f (a), f (f (a)), f (f (f (a))), . . .}
E (F2 ) =
Wir werden jetzt sehen, wie für Schritt (3) aussagenlogische Resolution
verwendet werden kann
{P(a) ∧ ¬P(f (a)),
Dazu definieren wir:
wegen x �→ a
P(f (a)) ∧ ¬P(f (f (a))),
wegen x �→ f (a)
Definition 3
P(f (f (a))) ∧ ¬P(f (f (f (a)))),
wegen x �→ f (f (a))
Sei F = ∀x1 · · · ∀xl G eine geschlossene Skolemformel mit Matrix-Formel G
P(f (f (f (a)))) ∧ ¬P(f (f (f (f (a))))),
wegen x �→ f (f (f (a)))
. . .}
Die Herbrand-Expansion E (F ) von F sei die folgende Menge von PL-Formeln:
{ G [x1 /t1 , . . . , xl /tl ] | t1 , . . . , tl ∈ H(F ) }
Beobachtung: Die Herbrand-Expansion enthält also genau alle Formeln, die
sich durch “Einsetzen” der Elemente der Grundmenge H(F ) der
Herbrand-Struktur in G ergeben können
11 – 19/52
11 – 20/52
Herbrand-Expansionen: Beispiele (2/2)
Beispiel
�
Für F1 = ∀x ∀y R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a)))∧
�
(¬P(b) ∨ ¬R(g (b, y ))) gilt:
H(F1 ) = {a, b, f (a), f (b), g (a, a), g (a, b), g (b, a), g (b, b),
f (f (a)), f (f (b)), f (g (a, a)), f (g (a, b)), . . .}
E (F1 ) =
Logik
TU Do
SoSe 2011
Überblick
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
HerbrandStrukturen
GrundResolution
1
Erfüllbarkeit: Einleitung
PLResolution
{R(a) ∧ (P(a) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a))),
wegen x �→ a, y �→ a
R(b) ∧ (P(b) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a)))
wegen x �→ b, y �→ a
R(b) ∧ (P(b) ∨ ¬R(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, b)))
wegen x �→ b, y �→ b
R(a) ∧ (P(a) ∨ ¬R(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, b)))
wegen x �→ a, y �→ b
R(f (a)) ∧ (P(f (a)) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a)))
wegen x �→ f (a), y �→ a
R(f (a)) ∧ (P(f (a)) ∨ ¬R(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, b)))
wegen x �→ f (a), y �→ b
. . .}
Logik
TU Do
SoSe 2011
C. Schubert
In der Herbrand-Expansion kommen nur noch Grundterme vor
Einleitung
Insbesondere kommen keine prädikatenlogischen Variablen mehr vor
HerbrandStrukturen
→ Um ein Modell für F mit Grundmenge H(F ) zu konstruieren, genügt es,
eine Wahrheitsbelegung für die atomaren Formeln von E (F ) zu finden,
die alle Formeln in E (F ) wahr macht
2
Herbrand-Strukturen
3
Grund-Resolution
4
Unifikation und prädikatenlogische Resolution
11 – 22/52
Erfüllbarkeitstest für prädikatenlogische Formeln
Folgerung
→ Das ist ein aussagenlogisches Erfüllbarkeitsproblem mit unendlich vielen
aussagenlogischen Variablen
Logik
TU Do
SoSe 2011
C. Schubert
Einleitung
Wenn eine Formel F unerfüllbar ist, lässt sich also aus E (F ) die leere Klausel
per (aussagenlogischer) Resolution herleiten
GrundResolution
PLResolution
GrundResolution
PLResolution
11 – 21/52
Satz von Gödel, Herbrand, Skolem
Logik
TU Do
SoSe 2011
HerbrandStrukturen
GrundResolution
Wir erhalten den folgenden Algorithmus
PLResolution
Grundresolutionsalgorithmus
Require: geschlossene Skolemformel F
Ensure: “unerfüllbar”, falls F unerfüllbar ist, andernfalls “erfüllbar” oder
keine Termination
1: M := ∅, i := 0
2: while i < |E (F )| do
3:
i := i + 1
4:
Gi := i-te Formel von E (F )
5:
M := M ∪ {Gi }
6:
if M ist aussagenlogisch unerfüllbar then
7:
Return “unerfüllbar”,
8: Return “erfüllbar”,
Wir sagen: E (F ) ist aussagenlogisch erfüllbar, wenn es eine Belegung der
atomaren Formeln von E (F ) mit Wahrheitswerten gibt, die alle Formeln
in E (F ) wahr macht
Dann erhalten wir folgenden Satz
Satz 2 (Gödel, Herbrand, Skolem)
Eine geschlossene Skolemformel F ist genau dann erfüllbar, wenn E (F )
aussagenlogisch erfüllbar ist
11 – 23/52
11 – 24/52
Logik
TU Do
SoSe 2011
Bemerkungen zum Grundresolutionsalgorithmus
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
Wenn eine Formel F erfüllbar ist und E (F ) unendlich ist, terminiert der
Algorithmus nicht
Wir sagen, dass das Unerfüllbarkeitsproblem für PL-Formeln
semi-entscheidbar ist, weil es einen Algorithmus gibt, der
Logik
TU Do
SoSe 2011
Grundresolutionsalgorithmus: Erstes Beispiel
GrundResolution
PLResolution
für unerfüllbare Formeln anhält und “unerfüllbar” ausgibt und
für erfüllbare Formeln nicht terminiert
HerbrandStrukturen
�
�
Sei F2 = ∀x P(x) ∧ ¬P(f (x))
H(F2 ) = {a, f (a), f (f (a)), f (f (f (a))), . . .}
E (F2 ) = {P(a) ∧ ¬P(f (a)),
P(f (a)) ∧ ¬P(f (f (a))),
. . .}
{P(f (a))}
Über semi-entscheidbare Probleme erfahren Sie mehr in der Vorlesung
Grundbegriffe der theoretischen Informatik
GrundResolution
wegen x �→ a
wegen x →
� f (a)
{¬P(f (a))}
�
Der Algorithmus heißt Grundresolutionsalgorithmus, weil er nur
Grundterme verwendet (im Gegensatz zur prädikatenlogischen
Resolution)
Leider wird nicht immer so schnell eine unerfüllbare Klauselmenge
erreicht
11 – 25/52
Logik
TU Do
SoSe 2011
Grundresolutionsalgorithmus: Zweites Beispiel (1/2)
C. Schubert
�
Sei F1 = ∀x ∀y R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, y )))
H(F1 ) = {a, b, f (a), g (a, a), f (b), g (a, b), g (b, a), g (b, b), f (f (a)), . . .}
�
E (F1 ) = {R(a) ∧ (P(a) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a)))
wegen x �→ a, y �→ a (1)
···
···
R(f (a)) ∧ (P(f (a)) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a)))
wegen x �→ f (a), y �→ a (5)
···
···
R(b) ∧ (P(b) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, f (a))))
wegen x �→ b, y �→ f (a) (8)
···
···
R(g (b, a)) ∧ (P(g (b, a)) ∨ ¬R(a) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, a)))
wegen x �→ g (b, a), y �→ a (26)
···
{P(b), ¬R(f (a))}
{R(f (a))}
Einleitung
HerbrandStrukturen
GrundResolution
11 – 26/52
Grundresolutionsalgorithmus: Zweites Beispiel (2/2)
In diesem Beispiel ergibt also erst die 26. Iteration des
Grundresolutionsalgorithmus die Ausgabe “unerfüllbar”
Einige Beobachtungen bezüglich des Resolutionsbeweises
{P(b), ¬R(f (a))}
PLResolution
{R(f (a))}
{R(g (b, a))}
{P(b)}
{¬P(b), ¬R(g (b, a))}
{¬P(b)}
Logik
TU Do
SoSe 2011
C. Schubert
Einleitung
HerbrandStrukturen
GrundResolution
PLResolution
�
(1) Die Klausel {R(x)} wird zweimal verwendet
(2) Der Resolutionsschritt auf der linken Seite verwendet die PL-Klauseln
1
2
P(x) ∨ ¬R(y ) ∨ ¬R(f (a)) mit Substitution x �→ b, y �→ f (a),
R(x) mit Substitution x �→ f (a)
Die Variable x wird hier also in den beiden Klauseln auf verschiedene Weise
substituiert
Das ist “erlaubt”, weil alle Variablen durch ∀ quantifiziert sind
Durch die Substitution verringert sich die Anzahl der Literale in der ersten
Klausel
{R(g (b, a))} {¬P(b), ¬R(g (b, a))}
{P(b)}
PLResolution
{¬P(b)}
Im Folgenden werden wir sehen, wie solche Substitutionen und dann
auch Resolutionsbeweise gezielter gefunden werden können
�
Dies führt uns zur prädikatenlogischen Resolution
11 – 27/52
11 – 28/52
Logik
TU Do
SoSe 2011
Überblick
C. Schubert
Grundresolution ist eine Art
“Brute-Force-Ansatz”:
1
Erfüllbarkeit: Einleitung
GrundResolution
PLResolution
2
3
Herbrand-Strukturen
Beispiel
Test der Erfüllbarkeit von
F2 = ∀x [P(x) ∧ ¬P(f (x))]: mit
Grundresolution. Ansatz:
Unifikation und prädikatenlogische Resolution
{P(x)}
{¬P(f (x))}
{P(f (a))}
{¬P(f (a))}
PLResolution
x�→a
x�→f (a)
�
{¬P(f (a))}
Die prädikatenlogische Resolution
sucht gezielt nach “nützlichen”
Termen der Herbrand-Expansion,
die für Resolutionsschritte
verwendbar sind
�
4
HerbrandStrukturen
GrundResolution
Matrixklauselform von F2 :
{P(x)}, {¬P(f (x))}
H(F2 ) =
{a, f (a), f (f (a)), f (f (f (a))), . . .}
{P(f (a))}
Einleitung
“Direkterer” Resolutionsbeweis für
die Unerfüllbarkeit von F2 :
E (F2 ) = {P(a) ∧ ¬P(f (a)),
P(f (a)) ∧ ¬P(f (f (a))), . . .}
Grund-Resolution
C. Schubert
Beispiel
Einleitung
HerbrandStrukturen
Logik
TU Do
SoSe 2011
Prädikatenlogische Resolution: Vorüberlegungen (1/3)
Die Grundresolution erzeugt zuerst
“wahllos” die Herbrand-Expansion
und versucht dann passende
Literale für Resolutionsschritte zu
finden
Motto: “was passen kann, wird
passend gemacht”
Könnten wir nicht zielgerichteter
vorgehen?
11 – 29/52
Logik
TU Do
SoSe 2011
Prädikatenlogische Resolution: Vorüberlegungen (2/3)
Erfüllbarkeit von
C. Schubert
F1 = ∀x ∀y [R(x) ∧ (P(x) ∨ ¬R(y ) ∨ ¬R(f (a))) ∧ (¬P(b) ∨ ¬R(g (b, y )))]
Matrixklauselform von F1 :
Einleitung
HerbrandStrukturen
GrundResolution
{R(x)}, {P(x), ¬R(y ), ¬R(f (a))}, {¬P(b), ¬R(g (b, y ))}
PLResolution
Gibt Resolutions“baum”:
{¬P(b), ¬R(g (b, y ))}
y �→a
11 – 30/52
Logik
TU Do
SoSe 2011
Einschub: Rechnen mit Substitutionen
Zur Erinnerung: PL-Substitutionen sind partielle Funktionen PV → PT
Schreibweise: σ = {x �→ y , y �→ f (b), z �→ x}
Einleitung
Alle Zuordnungen einer Substitution σ werden simultan angewendet
Ist σ(x) für eine Variable nicht definiert, so bleibt die Variable durch die
Anwendung der Substitution unverändert. Somit haben
σ(x) ist nicht definiert
C. Schubert
und
σ(x) = x
HerbrandStrukturen
GrundResolution
PLResolution
die gleiche Wirkung
{R(x)}
x�→g (b,a)
{¬P(b), ¬R(g (b, a))} {R(g (b, a))}
{R(f (a))}
{¬P(b)}
Komposition von Substitutionen
{P(x), ¬R(y ), ¬R(f (a))}
x�→f (a)
τ ◦ σ bezeichnet die Substitution, die durch Hintereinanderausführung von
(zuerst) σ und (dann) τ entsteht
x�→b,y �→f (a)
{P(b), ¬R(f (a))}
Beispiel: {x �→ a, y �→ f (b), z �→ y }◦ {u �→ f (x), v �→ g (y ), y �→ b} =
{u �→ f (a), v �→ g (f (b)), x �→ a, y �→ b, z �→ y }
{P(b)}
�
Komposition von Substitutionen und Belegungen
Ist A eine Struktur mit aA = 1, b A = 4, f A (3) = 5,
σ = {x �→ a, y �→ f (u), z �→ x}, β = {z �→ 2, u �→ 3}, so gilt:
Wichtigster Schritt: Substitutionen auf zwei Klauseln anwenden, so dass
zwei “resolvierbare” Literale entstehen
(und möglicherweise außerdem mehrere Literale zusammen fallen)
[[x]](A,β◦σ) = 1
11 – 31/52
und
[[y ]](A,β◦σ) = 5
11 – 32/52
Logik
TU Do
SoSe 2011
Prädikatenlogische Resolution: Vorüberlegungen (3/3)
Ein weiteres Beispiel: {¬R(x)}, {R(f (y )), P(y )}, {¬P(x), ¬P(f (b))}
C. Schubert
{¬R(x)}
{R(f (y )), P(y )}
{¬P(x), ¬P(f (b))}
{¬R(f (a))}
{R(f (a)), P(a)}
{¬P(f (b))}
y �→a
x�→f (a)
x�→f (b)
HerbrandStrukturen
GrundResolution
Logik
TU Do
SoSe 2011
C. Schubert
Einleitung
Problem
HerbrandStrukturen
Gegeben eine Menge von prädikatenlogischen Literalen L1 , . . . , Lm , finde eine
Substitution σ, die
σ(L1 ) = · · · = σ(Lm )
GrundResolution
PLResolution
erfüllt. Eine solche Substitution heißt Unifikator von L1 , . . . , Lm
???
Beobachtung: Die Festlegung auf a im ersten Schritt war eigentlich unnötig
Beispiel
Besser: neue Variable anstatt a
{¬R(x)}
{R(f (y )), P(y )}
{¬R(f (z))}
{R(f (z)), P(z)}
L1 = R(x, a, y ),
{¬P(x), ¬P(f (b))}
y �→z
x�→f (z)
Für die prädikatenlogische Resolution müssen wir das folgende algorithmische
Problem (möglichst effizient) lösen können:
Einleitung
PLResolution
{P(a)}
Unifikatoren (1/2)
L2 = R(f (z), u, b),
L3 = R(v , u, w )
Die Substitution σ � :
x�→f (b)
{P(z)}
u �→ a
z�→f (b)
{¬P(f (b))}
x �→ f (a)
{¬P(f (b))}
�
v �→ f (a)
y �→ b
w �→ b
z �→ a
bildet alle Literale auf R(f (a), a, b) ab
11 – 33/52
Unifikatoren (2/2)
Um uns im Rahmen eines Resolutionsbeweises möglichst viele Möglichkeiten
für spätere Resolutionsschritte zu erhalten, interessieren wir uns für
Unifikatoren, die möglichst wenige Festlegungen treffen
Definition 4
Ein Unifikator σ heißt allgemeinster Unifikator (MGU) für L1 , . . . , Lm , falls für
jeden Unifikator σ1 von L1 , . . . , Lm eine Substitution σ2 existiert mit
σ1 = σ2 ◦ σ
Logik
TU Do
SoSe 2011
11 – 34/52
Existenz von Unifikatoren
C. Schubert
Logik
TU Do
SoSe 2011
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
Natürlich gibt es nicht für jede Menge von Literalen einen Unifikator
HerbrandStrukturen
GrundResolution
Beispiele
GrundResolution
PLResolution
Beispiele von Literalpaaren ohne Unifikator:
PLResolution
Verschiedene Relationsnamen: P(a), R(y )
Positives und negatives Literal: P(a), ¬P(y )
Bemerkung: Die Abkürzung MGU steht für “most general unifier”
Verschiedene Funktionssymbole: P(a, f (x)), P(y , g (b))
Beispiel
Beispiel
Die Substitution σ :
u �→ a
w �→ b
y �→ b
v �→ f (z)
x �→ f (z)
ist ein MGU für
R(x, a, y )
R(f (z), u, b)
R(v , u, w )
und bildet alle Literale auf R(f (z), a, b) ab
Variablen-Rekursion: P(a, f (x)), P(y , x)
Die Substitution σ
(vorherige Folie)
�
u �→ a
v �→ f (a)
y �→ b
z �→ a
w �→ b
Der Algorithmus auf der nächsten Folie entscheidet, ob die gegebene
Literalmenge einen Unifikator hat und
berechnet einen allgemeinsten Unifikator oder
x �→ f (a)
gibt “nicht unifizierbar” aus
lässt sich schreiben als:
σ � = {z �→ a} ◦ σ
11 – 35/52
11 – 36/52
Logik
TU Do
SoSe 2011
Der Unifikationsalgorithmus
C. Schubert
Unifikationsalgorithmus
Einleitung
Require: Menge L �= ∅ von PL-Literalen
Ensure: Allgemeinster Unifikator σ für L oder “nicht unifizierbar”
1: if es gibt ein positives und ein negatives Literal in L oder es kommen
verschiedene Relationssymbole in L vor then
2:
Return “nicht unifizierbar”
3: L� := L, σ := ∅
4: while |L� | > 1 do
5:
Wähle zwei Literale L1 , L2 in L�
6:
Seien z1 (in L1 ) und z2 (in L2 ) die ersten Zeichen, an denen L1 und L2
verschieden sind
7:
if weder z1 noch z2 ist Variable then
8:
Return “nicht unifizierbar”
9:
if z1 ist Variable then
10:
Sei t der in L2 mit z2 beginnende Term
11:
if z1 kommt in t vor then
12:
Return “nicht unifizierbar”
13:
else
14:
σ := {z1 �→ t} ◦ σ
15:
Wende z1 �→ t auf alle Literale in L� an
16:
else
17:
Falls z2 ist Variable: analog
18: Return σ
HerbrandStrukturen
GrundResolution
PLResolution
Logik
TU Do
SoSe 2011
Unifikationsalgorithmus: Beispiele (1/4)
Beispiel
C. Schubert
L = {P(f (x), g (y , h(a, z))), P(f (g (a, b)), g (g (u, v ), w ))}, also: |L� | = 2
Einleitung
z1 = x, z2 = g
GrundResolution
Sei L1 = P(f (x), g (y , h(a, z))),
L2 = P(f (g (a, b)), g (g (u, v ), w ))
Also: t = g (a, b) und x kommt nicht in t vor
HerbrandStrukturen
PLResolution
→ σ := {x �→ g (a, b)}
L� = {P(f (g (a, b)), g (y , h(a, z))), P(f (g (a, b)), g (g (u, v ), w ))}, |L� | = 2
Sei L1 = P(f (g (a, b)), g (y , h(a, z)))
L2 = P(f (g (a, b)), g (g (u, v ), w ))
z1 = y , z2 = g
t = g (u, v ) und y kommt in t nicht vor
→ σ := {y �→ g (u, v )} ◦ σ
L� = {P(f (g (a, b)), g (g (u, v ), h(a, z))), P(f (g (a, b)), g (g (u, v ), w ))},
immer noch: |L� | = 2
Sei L1 = P(f (g (a, b)), g (g (u, v ), h(a, z)))
L2 = P(f (g (a, b)), g (g (u, v ), w ))
z1 = h, z2 = w
Also: t = h(a, z) und w kommt nicht in t vor
→ σ := {w �→ h(a, z)} ◦ σ
L� = {P(f (g (a, b)), g (g (u, v )), h(a, z))}, also: |L� | = 1
11 – 37/52
Logik
TU Do
SoSe 2011
Unifikationsalgorithmus: Beispiele (2/4)
Sei L1 = P(a, f (x))
Einleitung
Einleitung
PLResolution
L2 = P(y , g (b))
HerbrandStrukturen
Beispiel
L = {P(a, f (x)), P(y , x)}, also: |L� | = 2
Sei L1 = P(a, f (x))
L2 = P(y , x)
z1 = a, z2 = y
z1 = a, z2 = y
Also: t = a und y kommt nicht in t vor
Also: t = a und y kommt nicht in t vor
→ σ := {y �→ a}
�
GrundResolution
PLResolution
→ σ := {y �→ a}
�
L� = {P(a, f (x)), P(a, x))}, immer noch: |L� | = 2
L = {P(a, f (x)), P(a, g (b))}, immer noch: |L | = 2
Sei L1 = P(a, f (x))
Logik
TU Do
SoSe 2011
C. Schubert
GrundResolution
L = {P(a, f (x)), P(y , g (b))}, also: |L� | = 2
Unifikationsalgorithmus: Beispiele (3/4)
11 – 38/52
C. Schubert
HerbrandStrukturen
Beispiel
Ausgabe: {x �→ g (a, b), y �→ g (u, v ), w �→ h(a, z)}
L2 = P(a, g (b))
Sei L1 = P(a, f (x))
z1 = f , z2 = g
L2 = P(a, x)
z1 = f , z2 = x
Weder z1 noch z2 ist Variable
Also: t = f (x) und z2 = x kommt in t vor
→ nicht unifizierbar
→ nicht unifizierbar
11 – 39/52
11 – 40/52
Logik
TU Do
SoSe 2011
Unifikationsalgorithmus: Beispiele (4/4)
Der MGU zu einer Literalmenge kann exponentiell groß sein (im Verhältnis
zur Gesamtlänge der vorkommenden Literale)
Beispiel
R(x1 , x2 , x3 , . . . , xn−1 , xn )
R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a)
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
HerbrandStrukturen
GrundResolution
Sei die folgende Literalmenge gegeben
Unifikation und prädikatenlogische Resolution (1/2)
Beispiel
GrundResolution
PLResolution
{¬R(x)}
{R(f (y )), P(y )}
{¬R(f (z))}
{R(f (z)), P(z)}
y �→z
x�→f (z)
Im ersten Schritt erhalten wir:
R(f (x2 , x2 ), x2 , x3 , . . . , xn−1 , xn )
R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a)
PLResolution
{P(z)}
Im zweiten Schritt erhalten wir:
R(f (f (x3 , x3 ), f (x3 , x3 )), f (x3 , x3 ), x3 , . . . , xn−1 , xn )
R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a)
Ein prädikatenlogischer Resolutionsschritt lässt sich auf Klauseln K1 und K2
anwenden, wenn
Im dritten Schritt erhalten wir:
ein Literal L1 von K1 mit einem Literal L2 von K2 , das in K2 negiert
vorkommt (¬L2 ), unifiziert werden kann (oder umgekehrt)
R(f (f (f (x4 , x4 ), f (x4 , x4 )), f (f (x4 , x4 ), f (x4 , x4 ))),
f (f (x4 , x4 ), f (x4 , x4 )), f (x4 , x4 ), . . . , xn−1 , xn )
R(f (x2 , x2 ), f (x3 , x3 ), f (x4 , x4 ), . . . , f (xn , xn ), a)
Die Länge des ersten Terms des ersten Literals wird in jedem Schritt
ungefähr verdoppelt
11 – 41/52
Unifikation und prädikatenlogische Resolution (2/2)
Logik
TU Do
SoSe 2011
C. Schubert
Wir werden sehen: auch mehrere Literale je Klausel können beteiligt sein
Lässt sich für die beiden Klauseln
K1 = {P(x, y ), ¬R(g (x), z)}
K2 = {R(x, u)}
ein Resolutionsschritt anwenden?
Einleitung
HerbrandStrukturen
GrundResolution
PLResolution
R(g (x), z) und R(x, v ) sind nicht unifizierbar
11 – 42/52
Logik
TU Do
SoSe 2011
Prädikatenlogische Resolventen
Definition 5
C. Schubert
�
Seien K , K prädikatenlogische Klauseln
Einleitung
�
Seien τ, τ Variablenumbenennungen, so dass
H =def τ (K ) und H � =def τ � (K � ) keine Variablen gemeinsam haben
Seien L1 , . . . , Lk Literale in H und L�1 , . . . , L�m Literale in H � , so dass
{¬L1 , . . . , ¬Lk , L�1 , . . . , L�m } unifizierbar ist mit allgemeinstem Unifikator
σ(dabei gelte: ¬¬L = L)
HerbrandStrukturen
GrundResolution
PLResolution
Dann heißt R =def σ((H − {L1 , . . . , Lk }) ∪ (H � − {L�1 , . . . , L�m }))
prädikatenlogische Resolvente von K und K �
Aber: In der Herbrand-Expansion würden beispielsweise R(g (a), a) und
¬R(g (a), a) entstehen, die resolvierbar sind
Die Unifikation wird hier nur dadurch verhindert, dass die beiden
Klauselmengen gemeinsame Variablen haben
Durch Variablenumbenennungen können wir in diesem Fall zwei Literale
unifizierbar und damit die Klauseln resolvierbar machen:
Beispiel
K = {P(x), S(f (x), a)}
K � = {¬P(f (x)), ¬P(y ), ¬Q(z)}
τ � ={x�→y }
τ =∅
Dazu genügt es, in K2 die Variable x in v umzubenennen
H = {P(x), S(f (x), a)}
Achtung: Es müssen in einer Klausel immer alle Vorkommen einer
Variablen umbenannt werden
σ={x�→f (u)}
H � = {¬P(f (u)), ¬P(y ), ¬Q(z)}
σ={y �→f (u)}
R = {S(f (f (u)), a), ¬Q(z)}
11 – 43/52
11 – 44/52
Logik
TU Do
SoSe 2011
Zwischenbemerkung zur Orientierung
Logik
TU Do
SoSe 2011
Das prädikatenlogische Resolutionslemma
C. Schubert
Einleitung
HerbrandStrukturen
Wir haben jetzt also eine Methode, ohne den Umweg über die
Grundresolution, “direkt in der Prädikatenlogik” Resolution zu verwenden
Jetzt müssen wir noch zeigen, dass diese Methode
GrundResolution
PLResolution
(a) korrekt und
(b) vollständig
C. Schubert
Lemma 6 (PL-Resolutionslemma)
Einleitung
HerbrandStrukturen
Es seien
(1) K und K � prädikatenlogische Klauseln
�
�
�
�
(2) τ, τ Variablenumbenennungen, so dass H =def τ (K ) und H =def τ (K )
keine Variablen gemeinsam haben
GrundResolution
PLResolution
(3) L1 , . . . , Lk Literale in H und L�1 , . . . , L�m Literale in H � , so dass
{¬L1 , . . . , ¬Lk , L�1 , . . . , L�m } unifizierbar ist mit allgemeinstem Unifikator σ
ist
(4) R = σ((H \ {L1 , . . . , Lk }) ∪ (H � \ {L�1 , . . . , L�m }))
die prädikatenlogische Resolvente von K und K �
Für die Korrektheit beweisen wir das folgende Resolutionslemma
Für die Vollständigkeit zeigen wir mit dem Lifting-Lemma, dass die
prädikatenlogische Resolution alle Grundresolutionen “simulieren” kann
(5) A eine zu K und K � passende Struktur
Dann gilt: Falls
Wichtig: Die Vollständigkeit können wir nur garantieren, weil wir MGUs
verwenden!
(a) für alle Belegungen β gilt: (A, β) |= K und
(b) für alle Belegungen β � gilt: (A, β � ) |= K � ,
so gilt auch für alle Belegungen γ: (A, γ) |= R
Wir werden Lemma 6 nicht beweisen, sondern nur kurz die Beweisidee
erläutern.
11 – 45/52
Logik
TU Do
SoSe 2011
PL-Resolutionslemma: Illustration der Beweisidee
C. Schubert
�
K = {. . . , L, . . . }
{. . . , L , . . . } = K
�
τ�
τ
H = {M1 , . . . , Mn , L1 , . . . , Lk }
{L�1 , . . . , L�m , M1� , . . . , Ml� } = H �
σ
R=
σ
{σ(M1 ), . . . , σ(Mn ), σ(M1� ), . . . , σ(Ml� )}
Einleitung
HerbrandStrukturen
GrundResolution
PLResolution
Sei A eine Struktur, so dass
(a) für alle passenden Belegungen β gilt: (A, β) |= K , und
(b) für alle passenden Belegungen β � gilt: (A, β � ) |= K �
Sei γ eine passende Belegung für R
Zu zeigen: (A, γ) |= R
Wegen (a) gilt: (A, γ ◦ σ ◦ τ ) |= L für mindestens ein Literal L aus K
1. Fall: τ (L) = Mi , für ein i (im Beispiel: i = 1) =⇒ (A, γ) |= σ(Mi )
2. Fall: τ (L) = Li , für ein i (Beispiel: i = 1)
11 – 46/52
Das Lifting-Lemma
PL-Resolutionslemma zeigt: ein einzelner Resolutionsschritt ist korrekt
Daraus folgt die Korrektheit der PL-Resolution
Wir müssen noch zeigen, dass sie vollständig ist, dass also für jede
unerfüllbare Formel die Unerfüllbarkeit mit PL-Resolution nachgewiesen
werden kann
Da die Grundresolution ein solches vollständiges Verfahren ist, genügt es
uns zu zeigen, das die PL-Resolution “nicht weniger vollständig” ist als
die Grundresolution
Das folgende Lifting-Lemma zeigt uns, wie wir aus einem Schritt eines
Grundresolutionsbeweises einen Schritt eines PL-Resolutionsbeweis
gewinnen können
Eine Substitution σ heißt Grundsubstitution für eine PL-Klausel K , falls
σ(K ) keine Variablen enthält
Logik
TU Do
SoSe 2011
C. Schubert
Einleitung
HerbrandStrukturen
GrundResolution
PLResolution
Lemma 7 (Lifting-Lemma)
Seien K1 , K2 prädikatenlogische Klauseln mit Grundsubstitutionen σ1 , σ2
Seien K1� = σ1 (K1 ) und K2� = σ2 (K2 )
→ für alle i gilt dann (A, γ ◦ σ ◦ τ � ) �|= L�i (da σ(L1 ) = σ(¬L�i ))
→ (A, γ ◦ σ ◦ τ � ) |= L� für ein Literal L� aus K � und τ � (L� ) = Mj� , für ein j
(im Beispiel: j = 1)
→ (A, γ) |= σ(Mj� )
Dann gilt: falls R � aussagenlogische Resolvente von K1� und K2� ist, so gibt
es eine PL-Resolvente R von K1 und K2 und eine Grundsubstitution σ mit
σ(R) = R �
11 – 47/52
11 – 48/52
Logik
TU Do
SoSe 2011
Lifting-Lemma: Beispiel
Der nicht schwierige aber etwas technische Beweis des Lifting-Lemmas
findet sich in [KuK]
Wir geben die Idee hier anhand eines Beispiels wieder:
K1 = {P(x, y ), ¬R(g (x), f (y ))}
K2 = {R(x, y ), R(g (a), z)}
x�→a,y �→b
K1� = {P(a, b)¬R(g (a), f (b))}
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
GrundResolution
x�→g (a),y ,z�→f (u)
R = {P(a, u)}
Für PL-Klauselmengen K definieren wir:
Res(K) =def K ∪ {K | K ist PL-Resolvente zweier Klauseln aus K}
Res0 (K)=def K
HerbrandStrukturen
GrundResolution
PLResolution
Resk (K)=def Res(Resk−1 (K)), für alle k ≥ 1
�
Res∞ (K)=def
Resk (K)
K2 = {R(x, y ), R(g (a), z)}
x�→a,y �→b
Logik
TU Do
SoSe 2011
C. Schubert
PLResolution
K1 = {P(x, y ), ¬R(g (x), f (y ))}
Prädikatenlogische Resolution
k≥0
x�→g (a),y ,z�→f (b)
Satz 3 (PL-Resolutionssatz)
K2� = {R(g (a), f (b))}
Eine prädikatenlogische Formel F ist genau dann unerfüllbar, wenn für ihre
Matrixklauselform K gilt: � ∈ Res∞ (K)
u�→b
R � = {P(a, b)}
11 – 49/52
Der Resolutionssatz der Prädikatenlogik: Beweis
Wir wollen zeigen: Eine prädikatenlogische Formel F ist genau dann
unerfüllbar, wenn für ihre Matrixklauselform K gilt: � ∈ Res∞ (K)
Notation: Sei ∀K die Formel, die aus der KNF zur Klauselmenge K durch
All-Quantifizierung aller vorkommenden Variablen entsteht
Korrektheit
Vollständigkeit
Zu zeigen: � ∈ Res∞ (K) =⇒ F
unerfüllbar
Zu zeigen:
F unerfüllbar =⇒ � ∈ Res∞ (K)
Sei also F unerfüllbar
Wir zeigen zuerst, dass für jede
PL-Klauselmenge K� gilt:
∀K�
erfüllbar =⇒ ∀Res(K� ) erfüllbar
Sei A ein Modell für ∀K�
Sei K ∈ Res(K� ) Resolvente
von K1 , K2 ∈ K�
Wegen Lemma 6 gilt dann:
A |= ∀K
→ A ist ein Modell für
∀Res(K� )
Der Rest des
Korrektheits-Beweises erfolgt wie
in Lemma ?? durch Induktion
Logik
TU Do
SoSe 2011
11 – 50/52
Zusammenfassung
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Einleitung
Einleitung
HerbrandStrukturen
HerbrandStrukturen
GrundResolution
PLResolution
Es ist nicht leicht, die Erfüllbarkeit prädikatenlogischer Formeln zu testen:
Wir haben nur Semi-Entscheidungsverfahren für die Unerfüllbarkeit
kennen gelernt:
GrundResolution
PLResolution
Der Grundresolutionsalgorithmus führt das Problem auf einen
Unentscheidbarkeitstest für eine unendliche Menge aussagenlogischer
Klauseln zurück
Die prädikatenlogische Resolution versucht, “direkt” einen
Unerfüllbarkeitsbeweis zu finden
Mit Satz 2 folgt, dass E (F )
unerfüllbar ist
→ � ∈ Res∞ (E (F ))
Es gibt erfüllbare Formeln, die nur unendliche Modelle haben
→ Es gibt also einen
aussagenlogischen
Resolutionsbeweis für �, der
(endlich viele) Klauseln aus E (F )
verwendet
Allerdings: wenn es ein Modell gibt, so auch ein abzählbares
Durch Anwendung des
Lifting-Lemmas auf jeden
einzelnen Resolutionsschritt lässt
sich daraus ein prädikatenlogischer
Resolutionsbeweis gewinnen
11 – 51/52
11 – 52/52
Logik
TU Do
SoSe 2011
Unser Programm für Heute
C. Schubert
C. Schubert
Beweiskalküle
Beweiskalküle
Logik für Informatiker
Hilbertkalkül
Teil 12 — Prädikatenlogik: Eigenschaften
Algorithmen
Hilbertkalkül
1
Beweiskalküle
Theorien
Unvollständigkeit
2
Hilbertkalkül
basierend auf
Folien von Prof. Thomas Schwentick
3
Algorithmen
TU Dortmund
Lehrstuhl für Software-Technologie
https://ls10-wiki.cs.uni-dortmund.de/logik
4
Theorien
5
Unvollständigkeit
Dr. Christoph Schubert
Sommersemester 2011
Version vom 12. Juli 2011 (15:52 Uhr)
12 – 1/23
Zuerst betrachten wir den Gödelschen Vollständigkeitssatz, eines der
wichtigsten Resultate der Prädikatenlogik
Außer der Resolution gibt es noch viele andere Beweiskalküle für die
Prädikatenlogik
Logik
TU Do
SoSe 2011
Algorithmen
Theorien
Unvollständigkeit
Übersicht
Logik
TU Do
SoSe 2011
12 – 2/23
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Beweiskalküle
Beweiskalküle
Hilbertkalkül
Algorithmen
Hilbertkalkül
1
Beweiskalküle
Theorien
Theorien
Unvollständigkeit
Für zwei davon finden sich Folien in diesem Kapitel
Hilbertkalkül und Sequenzenkalkül
Sie gehören aber nicht zum Stoff der Vorlesung
Danach betrachten wir algorithmische Probleme im Zusammenhang der
Prädikatenlogik
Auswertung von Formeln
Erfüllbarkeitstest
Dieser ist algorithmisch nicht umfassend lösbar
Wir werfen einen Blick auf Theorien, Axiomensysteme, und die
Gödelschen Unvollständigkeitssätze
Zuletzt vergleichen wir die Prädikatenlogik mit der Aussagenlogik und
der Modallogik
12 – 3/23
Algorithmen
Unvollständigkeit
2
Hilbertkalkül
3
Algorithmen
4
Theorien
5
Unvollständigkeit
12 – 4/23
Der Vollständigkeitssatz der Prädikatenlogik (1/2)
Für jede PL-Formel F bezeichne K(F ) eine eindeutige Matrixklauselform
zu F
Eindeutigkeit könnte durch einen konkreten Algorithmus erreicht werden
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Beweiskalküle
Algorithmen
Theorien
Für eine Menge G von Formeln sei
K(G) =def
Unvollständigkeit
�
F ∈G
Logik
TU Do
SoSe 2011
C. Schubert
Hilbertkalkül
Definition 1
Der Vollständigkeitssatz der Prädikatenlogik (1/2)
Beweisidee 1
Wir skizzieren nur den Beweis für endliche Formelmengen G
Nach Definition gilt G |= F genau dann, wenn G ∪ {¬F } unerfüllbar ist
Hilbertkalkül
Algorithmen
Theorien
Unvollständigkeit
Sei F � die Konjunktion der Formeln in G ∪ {¬F }
K(F )
Mit dem Resolutionssatz der Prädikatenlogik folgt dann die Behauptung
Ist F eine PL-Formel und G eine Menge von PL-Formeln, so schreiben wir
G � F , falls gilt:
� ∈ Res∞ (K(G ∪ {¬F }))
Bemerkungen
Gödel hat den Satz für einen anderen Beweiskalkül bewiesen
Er gilt auch für viele weitere Beweiskalküle der Prädikatenlogik (dazu
gleich mehr)
G � F bedeutet also, dass es einen prädikatenlogischen Resolutionsbeweis für
die Unerfüllbarkeit von G ∪ {¬F } gibt
Der Satz gilt auch für die Prädikatenlogik mit Gleichheit, der Beweis ist
aber komplizierter (auch dazu gleich mehr)
Satz 1 (Gödelscher Vollständigkeitssatz (1930))
Für jede PL-Formel F und jede Menge von PL-Formeln G gilt:
G |= F ⇐⇒ G � F
12 – 5/23
Der Endlichkeitssatz der Prädikatenlogik
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Satz 2 (Endlichkeitssatz)
Eine unendliche Menge G von PL-Formeln ist genau dann erfüllbar, wenn jede
endliche Teilmenge von G erfüllbar ist
Hilbertkalkül
Algorithmen
Theorien
Unvollständigkeit
Beweisidee 2
Der Satz folgt direkt aus dem Vollständigkeitssatz und der Tatsache, dass
Resolutionsbeweise nur endlich viele Klauseln verwenden
Klar: Ist G erfüllbar, so auch jede (endliche) Teilmenge
Andererseits:
12 – 6/23
Prädikatenlogik mit Gleichheit
In Kapitel 11 haben wir uns aus Gründen der Einfachheit auf die
Prädikatenlogik ohne Gleichheit beschränkt
Es stellt sich die Frage, inwieweit die gefundenen Resultate auf die
Prädikatenlogik mit Gleichheit übertragbar sind
In der Prädikatenlogik mit Gleichheit können Formeln F wie z.B.
∀x f (x) = x formuliert werden
Klar: diese Formel ist erfüllbar, aber sie hat kein Herbrand-Modell im
Sinne von Kapitel 11
Der Vollständigkeitssatz gilt trotzdem auch für die Prädikatenlogik mit
Gleichheit
Der Beweis erfordert jedoch eine Modifikation der Definition von
Herbrand-Modellen:
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Hilbertkalkül
Algorithmen
Theorien
Unvollständigkeit
Statt der Menge aller Terme wird die Menge aller Äquivalenzklassen von
Termen verwendet hinsichtlich der Äquivalenzrelation
s ∼ t =def F � s = t
Das macht den Beweis natürlich nicht gerade einfacher. . .
Sei G unerfüllbar
→ Es gibt einen Resolutionsbeweis für die Unerfüllbarkeit von G
→ Dieser Beweis verwendet nur Klauseln aus einer endlichen Teilmenge
G� ⊆ G
→ G � ist unerfüllbar
Der Endlichkeitssatz gilt entsprechend ebenfalls für die Prädikatenlogik
mit Gleichheit
Der Satz von Löwenheim-Skolem gilt in einer leicht modifizierten Form:
12 – 7/23
Die Formel ¬∃x ∃y ¬(x = y ) drückt aus, dass eine Struktur höchstens ein
Element enthält
Sie hat sicher kein abzählbar unendliches Modell
Der Satz von Löwenheim-Skolem für die Prädikatenlogik mit Gleichheit
garantiert deshalb nur ein abzählbar unendliches oder endliches Modell
12 – 8/23
Logik
TU Do
SoSe 2011
Überblick
Andere Beweiskalküle: Hilbertkalkül
C. Schubert
Beweiskalküle
Hilbertkalkül
1
Beweiskalküle
C. Schubert
4
Hilbertkalkül
AX sei die Menge aller Formeln, die sich in einer der drei folgenden
Formen schreiben lassen:
Algorithmen
(A1) [F1 → (F2 → F3 )] → [(F1 → F2 ) → (F1 → F3 )]
(A2) F1 → (F2 → F1 )
(A3) (¬F1 → ¬F2 ) → (F2 → F1 )
Unvollständigkeit
3
Beweiskalküle
Definition 2
Theorien
2
Hilbertkalkül
Algorithmen
Unvollständigkeit
aus AX , oder
in G, oder
entsteht durch Anwendung einer Schlussregel auf Fj , Fk mit j, k < i
Die Schlussregeln sind:
G → G�
G�
G (c)
Generalisierung:
∀x G (x)
Unvollständigkeit
12 – 9/23
Logik
TU Do
SoSe 2011
Hilbertkalkül: Beispiel
Obwohl der Hilbertkalkül zunächst sehr natürlich wirkt, ist es recht schwierig,
mit ihm Beweise zu finden
Überblick
C. Schubert
Beweiskalküle
Beweiskalküle
Hilbertkalkül
Algorithmen
Wir betrachten einen Beispielbeweis des aussagenlogischen Hilbertkalküls, der
zeigt, dass ∅ �H F → F gilt, dass also F → F eine Tautologie ist
(A2)
(3) (F → (F → F )) → (F → F )
(MP aus (1) und (2))
(5) F → F
(MP aus (3) und (4))
Logik
TU Do
SoSe 2011
C. Schubert
Hilbertkalkül
1
Beweiskalküle
(A2)
Neben dem Hilberkalkül existieren noch viele weitere “Beweissysteme”, z.B.
der Sequenzenkalkül
12 – 11/23
Algorithmen
Theorien
Unvollständigkeit
(1) [F → ((F → F ) → F )] → [(F → (F → F )) → (F → F )] (A1)
G
12 – 10/23
Theorien
Beispiel
(4) F → (F → F )
Theorien
Fn = F und jedes Fi ist entweder
Theorien
(2) F → ((F → F ) → F )
Algorithmen
F ist Hilbert-beweisbar aus G (G �H F ), falls es eine Folge F1 , . . . , Fn
gibt, mit:
Modus ponens:
5
Logik
TU Do
SoSe 2011
Unvollständigkeit
2
Hilbertkalkül
3
Algorithmen
4
Theorien
5
Unvollständigkeit
12 – 12/23
Algorithmische Auswertung prädikatenlogischer Formeln
Wie lässt sich algorithmisch testen, ob, für eine Interpretation I = (A, β)
und eine prädikatenlogische Formel F gilt: I |= F ?
Wir beschränken uns auf den Fall, dass A endlich ist
Eine mögliche Vorgehensweise:
Werte F induktiv aus
Berechne dazu bottom-up, für alle Teilformeln ψ von F , die Menge aller
Belegungen γ der freien Variablen von ψ, die (A, β ∪ γ) |= ψ erfüllen
Logik
TU Do
SoSe 2011
Entscheidungsprobleme für die Prädikatenlogik (1/2)
PL-Resolution weist die Unerfüllbarkeit einer PL-Formel nach:
Bei Eingabe einer PL-Formel F hat es
C. Schubert
die Ausgabe “unerfüllbar”, falls F unerfüllbar ist und
keine Ausgabe, falls F erfüllbar ist
Beweiskalküle
Hilbertkalkül
Wir hätten gerne ein Verfahren, das bei Eingabe einer PL-Formel F
Algorithmen
die Ausgabe “unerfüllbar” hat, falls F unerfüllbar ist und
die Ausgabe “erfüllbar” hat, falls F erfüllbar ist
Theorien
Für die Aussagenlogik gibt es solche Verfahren:
Unvollständigkeit
(a) Das Auswertungsproblem für prädikatenlogische Formeln kann in Zeit
O(|A|k+1 |F |) gelöst werden, wobei k die maximale Anzahl freier Variablen
einer Teilformel von F ist
Beweiskalküle
Hilbertkalkül
Algorithmen
Theorien
Unvollständigkeit
Falls es kein solches Verfahren für die Prädikatenlogik geben sollte, lässt
sich dies beweisen?
Entscheidungsproblem zu einer Menge L: Gegeben “Kandidat” x, ist
x ∈ L?
L heißt entscheidbar, falls es einen Algorithmus gibt, der bei Eingabe x
(b) Das Auswertungsproblem für prädikatenlogische Formeln ist vollständig
für die Komplexitätsklasse PSPACE
die Ausgabe “ja” hat, falls x ∈ L und
die Ausgabe “nein” hat, falls x �∈ L
Die Komplexitätsklasse PSPACE ist eine Oberklasse von NP:
L heißt semientscheidbar, falls es einen Algorithmus gibt, der bei Eingabe
x
Sie enthält alle algorithmischen Probleme, die sich mit polynomiellem
Speicherplatz lösen lassen
die Ausgabe “ja” hat, falls x ∈ L und
nicht anhält, falls x �∈ L
“Vollständig”: Das Problem ist mindestens so schwierig wie alle
PSPACE-Probleme
Für eine Definition des Begriffes Algorithmus siehe GTI
Klar: es gibt Mengen von PL-Formeln die nicht entscheidbar sind, denn:
Das Auswertungsproblem für prädikatenlogische Formeln ist also
vermutlich noch schwieriger als das Erfüllbarkeitsproblem für
aussagenlogische Formeln
Es gibt nur abzählbar viele Algorithmen
Es gibt überabzählbar viele Mengen von Formeln
12 – 13/23
Wir betrachten jeweils das Entscheidungsproblem zu den folgenden Mengen
von PL-Formeln:
L1 = Menge der erfüllbaren Formeln
L2 = Menge der unerfüllbaren Formeln
L3 = Menge der allgemein gültigen Formeln (Tautologien)
L4 = Menge der durch endliche Modelle erfüllbaren Formeln
Klar: L3 ⊂ L4 ⊂ L1
C. Schubert
Wahrheitstafel
Resolution
und viele Andere
Satz 3
Entscheidungsprobleme für die Prädikatenlogik (2/2)
Logik
TU Do
SoSe 2011
Logik
TU Do
SoSe 2011
Überblick
12 – 14/23
Logik
TU Do
SoSe 2011
C. Schubert
C. Schubert
Beweiskalküle
Beweiskalküle
Hilbertkalkül
Algorithmen
Hilbertkalkül
1
Beweiskalküle
Theorien
Algorithmen
Theorien
Unvollständigkeit
Unvollständigkeit
2
Hilbertkalkül
3
Algorithmen
4
Theorien
5
Unvollständigkeit
Satz 4
(a) L2 , L3 , L4 sind semientscheidbar, aber nicht entscheidbar
(b) L1 ist nicht semientscheidbar
Beweisidee 3
Dass L2 und L3 semientscheidbar sind, folgt aus dem Resolutionssatz
Die Semientscheidbarkeit von L4 folgt, da die endlichen Strukturen
systematisch aufgezählt werden können bis ein endliches Modell
gefunden ist
Die Unentscheidbarkeit von L2 , L3 , L4 folgt letztlich aus der
Unentscheidbarkeit des Halteproblems für Turingmaschinen
→ siehe GTI
Unentscheidbarkeit von L3 : Church und Turing (1936)
12 – 15/23
12 – 16/23
Axiomensysteme und Theorien (1/2)
Logik
TU Do
SoSe 2011
Axiomensysteme und Theorien (1/2)
C. Schubert
Beweiskalküle
Sei eine Signatur fest gewählt
Eine Formelmenge T heißt Theorie, falls sie
erfüllbar und
unter Folgerungen abgeschlossen ist (also: falls T |= F ist F ∈ T )
Hilbertkalkül
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Satz 5
Hilbertkalkül
Algorithmen
(a) Jede axiomatisierbare Theorie ist semientscheidbar
Algorithmen
Theorien
(b) Jede axiomatisierbare, vollständige Theorie ist entscheidbar
Theorien
Unvollständigkeit
T heißt vollständig, falls für jede geschlossene Formel F gilt: F ∈ T oder
¬F ∈ T
Unvollständigkeit
Satz 6
(a) Th(N, +) ist entscheidbar
Eine Formelmenge F ⊆ T heißt Axiomensystem für T , falls F |= T
(b) Th(R, +, ×) ist entscheidbar
T heißt endlich axiomatisierbar, falls es ein endliches Axiomensystem hat
(c) Th(N, +, ×) ist unentscheidbar
T heißt axiomatisierbar, falls es ein entscheidbares Axiomensystem für T
gibt
(d) Th(N, +, ×) ist nicht axiomatisierbar
Ist A eine Struktur, so sei Th(A) die Menge aller in A gültigen
geschlossenen Formeln
(a): Presburger (1929)
Klar: Th(A) ist immer vollständig
(b): Tarski (1929)
(c),(d): Church (1936)
12 – 17/23
Überblick
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Hilbertkalkül
1
Beweiskalküle
Algorithmen
Theorien
Unvollständigkeit
2
3
Hilbertkalkül
Theorien
5
Unvollständigkeit
Die Gödelschen Unvollständigkeitssätze
Zur Erinnerung: der Gödelsche Vollständigkeitssatz sagt:
G |= F ⇐⇒ G � F
Eine Formelmenge G heißt widerspruchsfrei, falls es keine Formel F gibt
mit G � F und G � ¬F
1. Gödelscher Unvollständigkeitssatz
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Hilbertkalkül
Algorithmen
Theorien
Unvollständigkeit
Ist G widerspruchsfrei und “mindestens so ausdrucksstark wie die
Peano-Arithmetik”, so gibt es eine Formel F mit G �� F und G �� ¬F
Algorithmen
4
12 – 18/23
Beweisidee: Kodiere Formeln und Beweise durch Zahlen
(“Gödelisierung”) und wähle dann eine Formel F , die ausdrückt, dass es
für sie selbst keinen Beweis gibt
Insbesondere gibt es also für die Peano-Arithmetik kein Axiomensystem
F , aus dem alle wahren Aussagen in Th(N, +, ×) hergeleitet werden
können
2. Gödelscher Unvollständigkeitssatz
Die Widerspruchsfreiheit einer solchen Menge G lässt sich nicht aus G
beweisen (im Sinne von: �)
12 – 19/23
12 – 20/23
Prädikatenlogik vs. Aussagenlogik
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Hilbertkalkül
Vieles ist ähnlich in Aussagenlogik und Prädikatenlogik
Aber offensichtlich ist die Prädikatenlogik mächtiger
Algorithmen
Theorien
Unvollständigkeit
Prädikatenlogik vs. Modallogik
Gemäß Definition ist die Modallogik eine Erweiterung der Aussagenlogik
Statt nur über eine Welt kann sie über verschiedene Welten sprechen
Wie verhält sich die Modallogik zur Prädikatenlogik?
Zur Beantwortung dieser Frage definieren wir für jede Kripkestruktur
K = (V , E , P) eine mathematische Struktur K� mit
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Hilbertkalkül
Algorithmen
Theorien
Unvollständigkeit
Universum V
der 2-stelligen Relation E und
einer 1-stelligen Relation PX für jede AL-Variable X die in einer Menge
P(s), s ∈ V vorkommt
Wie ist denn nun das genaue Verhältnis zwischen den beiden?
Aussagenlogik kann als Prädikatenlogik auf Strukturen aufgefasst werden,
die ausschließlich 0-stellige Prädikate haben:
Aussagenvariablen ≡ Prädikate
Satz 7
Vorsicht: manches, was ähnlich heißt, hat unterschiedliche Bedeutung!
Aussagenlogische Variablen entsprechen nicht prädikatenlogischen
Variablen
Aussagenlogische und prädikatenlogische Substitutionen entsprechen sich
ebenfalls nicht (und die Notation ist unterschiedlich)
Zu jeder ML-Formel F gibt es eine PL-Formel F � (x), mit nur zwei Variablen
x, y , so dass für jede Kripkestruktur K und jede Welt s von K gilt:
K, s |= F ⇐⇒ (K� , x �→ s) |= F �
Die Formel ♦�A lässt sich beispielsweise übersetzen in:
F (x) ≡ ∃y [E (x, y ) ∧ (∀x (E (y , x) → PA (x)))]
12 – 21/23
Zusammenfassung
Logik
TU Do
SoSe 2011
C. Schubert
Beweiskalküle
Hilbertkalkül
Gute Nachrichten:
F |= F und F � F sind äquivalente Aussagen, jede Folgerung lässt sich
also beweisen
Um die Unerfüllbarkeit einer Formelmenge zu erkennen, genügt es, ihre
endlichen Teilmengen zu betrachten
Diese Aussagen gelten auch für die Prädikatenlogik mit Gleichheit
Es gibt eine Vielzahl weiterer Kalküle, die F � F äquivalent definieren
PL-Formeln können auf endlichen Strukturen algorithmisch ausgewertet
werden
Algorithmen
Theorien
Unvollständigkeit
Schlechte Nachrichten:
Fragen hinsichtlich der Erfüllbarkeit oder Gültigkeit von PL-Formeln sind
algorithmisch nicht lösbar
Die Gödelschen Unvollständigkeitssätze geben weitere Grenzen der
formalen Methode an
12 – 23/23
12 – 22/23
Fakultät für Informatik
Lehrstuhl für Software-Technologie
Dr. C. Schubert, Dr. I. Battenfeld
Logik für Informatiker
Zum Substitutionslemma
(Beispiel für Beweis mittels Struktureller Induktion)
Im folgenden wird eine Aussage auf dem Beweis des Substitutionslemmas (Folie 3-7) mittels
Struktureller Induktion bewiesen.
Eine Substitution S ordnet jeder Aussagenvariable A eine Formel S(A) zu. Für eine
beliebige Formeln F bezeichne S(F ) die Formel, die entsteht, wenn man jede Aussagenvariable A in F durch die Formel S(A) ersetzt. Formell können wir S(F ) wie folgt rekursiv
definieren:
S(>) = >
S(⊥) = ⊥
S(A) = S(A)
S(¬F ) = ¬S(F )
S(F1 ∨ F2 ) = S(F1 ) ∨ S(F2 )
S(F1 ∧ F2 ) = S(F1 ) ∧ S(F2 )
Gegegeben eine Belegung α und eine Substitution S wird eine neue Belegung αS definieren durch:
αS (A) = [[S(A)]]α
(1)
Behauptung: Für alle Formeln F gilt [[F ]]αS = [[S(F )]]α .
Beweis: Mittels Struktureller Induktion. Dafür sind die folgenden sechs Fälle zu betrachten:
(1) Zeige die Behauptung für F = >: Für jede Belegung α gilt [[>]]α = 1 und nach
Definition von S(F ) gilt S(>) = >. Also auch [[>]]αS = 1 = [[>]]α = [[S(>)]]α .
(2) Zeige die Behauptung für F = ⊥: Analog zu (1).
(3) Zeige die Behauptung für F = A für eine Aussagevariable A. Es gilt
[[A]]αS = αS (A)
= [[S(A)]]α
(Definition von [[A]])
(Definition von αS )
(4) Nehme an, die Behauptung gilt für F und zeige damit, dass die Behauptung für ¬F
gilt. Zuerst wenden wir die Definition von [[¬F ]]β für eine beliebige Belegung β an:
(
0 falls [[F ]]αS = 1
[[¬F ]]αS =
1 falls [[F ]]αS = 0
Da nach Voraussetzung [[F ]]αS = [[S(F )]]α gilt, erhalten wir:
(
0 falls [[S(F )]]α = 1
[[¬F ]]αS =
1 falls [[S(F )]]α = 0
= [[¬S(F )]]α
= [[S(¬F )]]α
(Definition S(F ))
(5) Nehme an, die Behauptung gilt für F1 und F2 und zeige damit, dass die Behauptung
für F1 ∧ F2 gilt. Wir beginnen wieder mit der Definition der Wahrheit für eine Formel
der Form F1 ∧ F2 :
(
1 falls [[F1 ]]αS = 1 und [[F2 ]]αS = 1
[[F1 ∧ F2 ]]αS =
0 sonst
Nach Voraussetzung gilt die Behauptung für F1 und F2 , d.h. es gilt [[Fi ]]αS = [[S(Fi )]]α .
Somit können wir einsetzen:
(
1 falls [[S(F1 )]]α = 1 und [[S(F2 )]]α = 1
[[F1 ∧ F2 ]]αS =
0 sonst
= [[S(F1 ) ∧ S(F2 )]]α
= [[S(F1 ∧ F2 )]]α
(Definition [[−]])
(Definition S(F ))
(6) Für eine Formel der Form F1 ∨ F2 verläuft der Beweis analog zu Fall (5): Nehme
wieder an, die Behauptung gelte für F1 und F2 und zeige damit, dass die Behauptung
für F1 ∨ F2 gilt.
(
1 falls [[F1 ]]αS = 1 oder [[F2 ]]αS = 1
[[F1 ∨ F2 ]]αS =
0 sonst
Nach Voraussetzung gilt die Behauptung für F1 und F2 , d.h. es gilt [[Fi ]]αS = [[S(Fi )]]α .
Somit können wir einsetzen:
(
1 falls [[S(F1 )]]α = 1 oder [[S(F2 )]]α = 1
[[F1 ∨ F2 ]]αS =
0 sonst
= [[S(F1 ) ∨ S(F2 )]]α
= [[S(F1 ∨ F2 )]]α
(Definition [[−]])
(Definition S(F ))
Somit ist die Behauptung für alle Formel gezeigt.
2
Herunterladen