Kapitel 4 Formale Logik

Werbung
Informatik I WS 03/04
Kapitel 4
Formale Logik
4.1 Aussagenlogik
4.2 Prädikatenlogik
Institut für Programmstrukturen und Datenorganisation (IPD)
Prof. Dr. Gerhard Goos
4 Ziele
1/49
ƒ Präzise Beschreibung von Sachverhalten so, daß
y mit mechanisch durchführbaren, syntaktischen Schlüssen inhaltliche,
semantische Eigenschaften festgestellt und Schlußfolgerungen gezogen
werden können
y Konsistenz/Widersprüchlichkeit bzw. Vollständigkeit von Aussagen
festgestellt werden kann
y nachgeprüft werden kann, ob das logische Gedanken-Gebäude ein Modell
in der realen Welt besitzt
ƒ Formale Logik ist
y das allgemeinste und genaueste Verfahren zur Spezifikation von
Aufgaben und den Eigenschaften von Lösungen, insbesondere der
Korrektheit von Programmen
y Beispiel: Zustände vor/nach einem Zustandsübergang durch
Vor-/Nachbedingungen (prädikatenlogische Formel) charakterisieren
y formale Logik ist Grundlage des logischen Programmierens, des
automatischen Theorem-Beweisens und anderer Zweige der KI
ƒ digitaler Entwurf von Schaltkreisen ist eine Anwendung der
Aussagenlogik
Mathematische und formale Logik sind Synonyme, philosophische und andere
Logiken unterscheiden sich davon
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4 Fußgänger-Ampel
2/49
Beispiel:
Eine Fußgänger-Ampel darf nur ganz bestimmte Kombinationen an
Lichtzeichen zeigen. Die Funktionsweise kann mittels formaler Logik
beschrieben werden.
Die Fußgängerampel zeigt genau dann
grün (FG), wenn die Verkehrsampel
nicht grün (⌝AG) zeigt:
FG = ⌝AG
FR = AG ∨ AE
FR
FG
AR
AE
AG
Die Verkehrsampel zeigt genau dann grün, wenn sie weder rot oder
gelb zeigt:
AG = ⌝AE ∧ ⌝AR usw.
☛ Spezifikation mittels formaler Logik
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Aussagenlogik
3/49
Beispiel: Bauernregeln
ƒ Gibt es Eis und Schnee im Januar, so beginnt sehr kalt das Jahr
ƒ Es gibt Eis und Schnee im Januar
ƒ Also beginnt das Jahr sehr kalt.
Beispiel:
ƒ Wenn es schneit, dann sind die Straßen glatt.
ƒ Es schneit.
ƒ Also sind die Straßen glatt.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Beobachtungen
4/49
ƒ Wir verknüpfen Aussagen:
y es gibt Eis und Schnee im Januar → das Jahr beginnt sehr kalt
y es gibt Eis und Schnee im Januar
y wir haben die Aussage „das Jahr beginnt sehr kalt“ gefolgert.
y es schneit → die Straßen sind glatt
y es schneit
y wir haben die Aussage „die Straßen sind glatt“ gefolgert
ƒ die Art des Schlusses ist derselbe.
y aus (a → b) und a wurde b gefolgert.
y insbesondere ist der Schluß unabhängig von konkreten Inhalten.
y konkrete Inhalte sind Interpretationen.
☛ Schlußfolgern ist syntaktische Herleitung von Formeln (Kalkül)
☛ trotzdem ist das richtig! (Korrektheit)
y können wir auch alles Richtige folgern? (Vollständigkeit)
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Aussagenlogische Formeln
5/49
aussagenlogische Formel: Term mit Variablen in der initialen Termalgebra
, (Σ,V) zur Signatur Σ = { O /0, L /0, ⌝ /1, ∨ /2, ∧ /2 }
ƒ die Signatur entspricht der booleschen Algebra ℬ:
O↦⊥ L↦⊤ ⌝↦∁ ∨↦∨ ∧↦∧
y lies: O als ‚falsch‘
L als ‚wahr‘
⌝ als ‚nicht‘
∧ als ‚und‘
∨ als ‚oder‘
ƒ aber: wir wissen noch nicht, ob auch die Gesetze V1-V10 gelten!
ƒ atomare Aussage: O, L, p ∈ V, Literal: O, L, p, ⌝O, ⌝L, ⌝p
ƒ syntaktisch korrekt aufgebaute Terme heißen (syntaktisch) korrekt
y hat nichts damit zu tun, ob sie semantisch wahr sind
Beispiele:
ƒ ⌝(es gibt Eis und Schnee im Januar) ∨ (das Jahr beginnt sehr kalt)
ƒ x ∧ (y ∨ z)
ƒO∨x
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Abkürzungen und Konventionen
6/49
Abkürzungen: p → q ≙ ⌝p ∨ q
impliziert (auch: wenn…, dann…, aus ... folgt ...)
p ≡ q oder p ↔ q ≙ (p → q) ∧ (q → p)
äquivalent (auch: genau dann…, wenn…)
n
∨
pi
i=1
n
∧
pi
i=1
0
∨
pi
i=1
0
∨
pi
i=1
≙ p1 ∨ … ∨ pn
(auch bei abzählbar vielen pi)
≙ p1 ∧ … ∧ pn
(auch bei abzählbar vielen pi)
≙ O
≙ L
ƒ ⌝, ∨, ∧, →, ≡ heißen Junktoren
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Klammern
7/49
Konventionen zum Weglassen von Klammern:
⌝
bindet stärker als ∧
bindet stärker als ∨
bindet stärker als →
bindet stärker als ↔
Klammerung von ∨, ∧, →, ↔ ist linksassoziativ, z.B.
x ∧ y ∧ z = (x ∧ y) ∧ z
Beispiel:
p∧q → r
= (p ∧ q) → r
= ⌝(p ∧ q) ∨ r
= (⌝(p ∧ q)) ∨ r
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Interpretation von Formeln (I)
8/49
Ziel: Prüfen, ob
ƒ Formeln immer wahr sind (allgemeingültig, Tautologie)
ƒ Formeln wahr sein können (erfüllbar)
ƒ Formeln nie wahr sein können (unerfüllbar)
dazu müssen Formeln interpretiert werden.
Grundidee:
Interpretation von Formeln durch Abbildung , in eine boolesche
Algebra mit Signatur Σ = { f /0, w /0, ⌝ /1, ∨ /2, ∧ /2 }
y Abbildung durch Umbenennung der Signatur :
O↦f L↦w ⌝↦∁ ∨↦∨ ∧↦∧
y Trägermenge B = {f, w}, f ist „falsch“, w ist „wahr“, f ≤ w
y Variable werden durch Substitution σ= [w/v] bzw. σ= [f/v] abgebildet
y immer nur endlich viele Variable abbilden!
☛ in endlich vielen Formeln kommen nur endlich viele Variable vor
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Interpretation von Formeln (II)
9/49
Beispiel:
ƒ p ∧ q ist erfüllbar:
die Variablen (Elementaroperanden) p und q werden jeweils durch w
interpretiert: σ = [w/p, w/q] anwenden
ƒ p ∨ ⌝p ist allgemeingültig:
unabhängig von der Interpretation des Elementaroperanden p ergibt
sich w nach Definition des Komplements
ƒ p ∧ ⌝p ist unerfüllbar:
unabhängig von der Interpretation des Elementaroperanden p ergibt
sich f nach der Definition des Komplements
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Belegungen und Interpretationen
10/49
Belegung: Substitution σ: V' → {w, f},
endliche Teilmenge V' ⊆ V wird abgebildet
Interpretation , σ: Abbildung von Formeln nach {f, w} unter Belegung σ:
, σ(O) = f
, σ(L) = w
,
σ(a) = σ(a) für a ∈ V
, σ(F ∧ G) =
,
σ(F
∨ G) =
,
σ(⌝F) =
w wenn ,
w
f sonst
σ(F)
= w und ,
w wenn ,
f sonst
σ(F)
= w oder ,
w wenn ,
f wenn ,
σ(G)
σ(F)
=f
σ(F) = w
=
σ(G)
=w
Beachte: und und oder werden jetzt inhaltlich (semantisch) interpretiert!
die Regel für ⌝F interpretiert ⌝ als „es gilt nicht“
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Modell
11/49
Eine Interpretation , σ heißt Modell für eine Formel F, wenn , σ(F) = w gilt.
, σ heißt Modell für die Formelmenge ) , wenn , σ Modell für alle F ∈ ) ist.
erfüllbare Formel F:
es gibt eine Belegung σ, so daß , σ(F) = w oder:
es gibt ein Modell , σ für die Formel F.
allgemeingültige Formel F:
für alle Belegungen σ ist , σ(F) = w oder:
alle Interpretationen , σ sind Modelle für F.
unerfüllbare Formel F:
für alle Belegungen σ ist ,
es gibt kein Modell für F.
σ(F)
= f oder:
Eigenschaft: Eine Formel F ist genau dann allgemeingültig, wenn ⌝F
unerfüllbar ist.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Wahrheitstafeln: Beispiel
12/49
ƒ Formel φ = ⌝(⌝p ∨ q) ∨ ⌝(⌝q ∨ r) ∨ ⌝p ∨ r
Belegungen
Interpretationen
p
q
r
⌝p
⌝q ⌝p ∨ q
⌝(⌝p ∨ q)
⌝p ∨ r
⌝(⌝p ∨ r)
φ
f
f
f
w
w
w
f
w
f
w
f
f
w
w
w
w
f
w
f
w
f
w
f
w
f
w
f
w
f
w
f
w
w
w
f
w
f
w
f
w
w
f
f
f
w
f
w
f
w
w
w
f
w
f
w
f
w
w
f
w
w
w
f
f
f
w
f
f
w
w
w w
w
f
f
w
f
w
f
w
ƒ Beachte: A ∨ B ∨ C ∨ D ist wahr, wenn mindestens eine Formel A, B,
C, D wahr ist.
☛ φ ist allgemeingültig, weil φ unter allen möglichen Belegungen w ist.
ƒ ⌝(⌝p ∨ q) ist erfüllbar: es gibt Belegungen, unter denen sie wahr wird.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Beispiel II
13/49
ƒ Ψ = ⌝(⌝(p ∧ (⌝p ∨ q)) ∨ p)
Zur Abkürzung definieren wir: A = ⌝p ∨ q
B = p ∧ (⌝p ∨ q)
C = ⌝B ∨ p = ⌝(p ∧ (⌝p ∨ q)) ∨ p
Belegungen
Interpretationen
p
q
⌝p
A
B
⌝B
C
Ψ
f
f
w
w
f
w
w
f
f
w
w
w
f
w
w
f
w
f
f
f
f
w
w
f
w
w
f
w
w
f
w
f
☛ Ψ unerfüllbar, weil die Interpretation unter allen Belegungen f ergibt.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Wahrheitstafeln, Aufwand
14/49
ƒ Wahrheitstafel für eine Formel F mit n Variablen: Tabelle mit 2n Zeilen
y alle Kombinationen von Belegungen der Variablen mit w/f auflisten
y dazu in einer Spalte das Ergebnis e(F) von F angeben
(eventuell auch Ergebnisse von Teilformeln (nur zur Erleichterung))
ƒ F besitzt Modell (F erfüllbar): mindestens einmal e(F) = w
ƒ F unerfüllbar: immer e(F) = f
ƒ F allgemeingültig: immer e(F) = w
ƒ Aufwand dieser Prüfungen: Größenordnung 2n, n = Anzahl Variable
☛ Aufwand also exponentiell!
ƒ Aufwandsklassifikation:
y P (polynomiell): Aufwand ≤ nk für festes k
y NP (nicht-deterministisch polynomiell): Aufwand in jedem Einzelfall
polynomiell, aber mindestens exponentiell viele Fälle (liegt hier vor)
y EXP (exponentiell): Aufwand mindestens proportional zu 2n
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Folgerungen
15/49
Folgerungen einer Formel φ aus einer Formelmenge ) :
Jede Belegung von Variablen, die alle Formeln aus ) erfüllt, ist auch
eine erfüllende Belegung für φ.
, σ(φ) = w für alle Interpretationen , σ, die Modell für ) sind.
Notation: ) ⊨ φ steht für die semantische Folgerung einer Formel φ aus
einer Formelmenge )
Beispiel: {p, p → q} ⊨ q
Belegungen
Interpretation
Folgerung
q
-
f
-
-
w
f
-
-
f
f
f
-
-
w
w
w
✓
w
p
q
p→q
f
f
w
f
w
w
w
)
also {p, p → q} ⊨ q
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Kalküle
16/49
Ziel:
Nachweis von Folgerungen ohne Ausrechnen aller Belegungen
ƒ es gibt Eis und Schnee im Januar → das Jahr beginnt sehr kalt
ƒ es gibt Eis und Schnee im Januar
ƒ Wir haben die Aussage „das Jahr beginnt sehr kalt“ gefolgert.
ƒ es schneit → die Straßen sind glatt
ƒ es schneit
ƒ Wir haben die Aussage „die Straßen sind glatt“ gefolgert.
Beobachtung:
Die Art des Schlusses ist derselbe.
ƒ Aus Formeln der Form F → G und der Formel F wurde die Formel G
gefolgert.
ƒ Offenbar ist die Folgerung richtig, egal was die Formeln F und G sind
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Schlußregeln
17/49
Ziel: syntaktische Herleitung von Folgerungen
Notation: ) ⊢ φ bezeichnet die syntaktische Herleitung einer Folgerung
) ⊨φ
Beispiel einer Schlußregel: Modus Ponens
)
)
)
⊢
F
⊢
F→G
⊢
G
Prämisse
Konklusion
Beobachtung: Das war genau die Art von Argumentation in den
bisherigen Beispielen.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Herleitung
18/49
Anwendung einer Schlußregel:
ƒ Wenn die Folgerungen in den Voraussetzungen (über dem Strich)
gelten (durch Einsetzen der entsprechenden Formelmengen und
Formeln),
ƒ dann gilt auch die Folgerung in der Konsequenz (unter dem Strich, mit
den entsprechend eingesetzten Formelmengen)
Beispiel:
)
⊢
F
für F in )
{p, ⌝p, ⌝q, ⌝r} ⊢
p
{p, ⌝p, ⌝q, ⌝r} ⊢
⌝p
{p, ⌝p, ⌝q} ⊢
) ⋃ {⌝F}
⊢
G
) ⋃ {⌝F}
⊢
⌝G
)
⊢
F
r
Herleitung von ) ⊢ φ: Liste von Folgerungen ) i ⊢ φi, wobei jedes
) i ⊢ φi aus vorherigen Folgerungen durch
Anwenden einer Schlußregel entsteht.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Diskussion
19/49
Beobachtung: Herleitungen sind ausschließlich syntaktisch
☛ kann im Rechner ablaufen (z.B. in Expertensystemen)
Was hat dies mit der Folgerung ) ⊨ φ zu tun?
korrekter Kalkül ⊢ :
Wenn ) ⊢ φ hergeleitet werden kann,
dann gilt auch ) ⊨ φ.
vollständiger Kalkül ⊢ : Wenn ) ⊨ φ gilt,
dann kann auch ) ⊢ φ hergeleitet werden
Vollständige Regelmenge für aussagenlogischen Kalkül siehe
Buch 4.1.3, sowie Vorlesungen Informatik III und Formale Systeme
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Vergleich: ⊢ und →
20/49
F→G
) ⊢K G
Implikation
Ableitung
ƒ Aussagenlogische Abkürzung
für den Ausdruck ⌝F ∨ G
ƒ kann in einem Programm
berechnet werden
ƒ logische Aussage, die wahr
oder falsch sein kann
ƒ Es gilt das Theorem G unter der
Annahme (Axiomenmenge) ) .
ƒ Diese Ableitung wird mit einem
Metaprogramm (syntaktische
Ersetzungen) realisiert.
ƒ G ist mit Sicherheit aus )
ableitbar
Beispiel:
a → b steht für die einfache
Boolesche Funktion ⌝a ∨ b :
a
b
1
≥1
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
Wenn ) ⊢ (a → b) gilt, kann
man daraus folgern, daß man a
zur Formelmenge ) hinzunehmen
und () ∧ a) ⊢ b folgern kann.
4. Formale Logik
4.1 Vergleich: ⊨ und ⊢
21/49
) ⊨G
) ⊢K G
Schluß
Ableitung
ƒ G (Folgerung) folgt semantisch
aus ) (Annahme)
ƒ Die Annahme kann auch leer
sein (☛ Tautologien)
ƒ Voraussetzung:
, σ(G) = w für alle
Interpretationen , σ, die Modell
für ) sind.
ƒ korrekter Kalkül K:
ƒ G (Ableitung) ist in endlich
vielen Schritten aus ) mittels
des Kalküls K („Regelwerk“)
ableitbar.
ƒ Auch hier kann die
Formelmenge ) leer sein.
Was man mittels dem Regelwerk K ableiten
kann, kann auch semantisch aus ) gefolgert
werden.
ƒ vollständiger Kalkül K: Alles, was semantisch gefolgert werden kann,
kann man auch mittels einer endlichen Zahl
von Regelanwendungen aus K ableiten.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Noch einmal Herleitungen
Beispiel: Betrachte {p, ⌝p, ⌝q, ⌝r} ⊢
{p, ⌝p, ⌝q, ⌝r} ⊢
{p, ⌝p, ⌝q} ⊢
22/49
p
⌝p
r
Beobachtung:
analog kann man für beliebige Formeln F zeigen, daß {p, ⌝p, ⌝q} ⊢ F
☛ neue Schlußregel
)
⊢
F
)
⊢
⌝F
)
⊢
G
ex falso quod libet
ƒ Aus Widersprüchen folgt beliebiges.
ƒ Eine solche Formelmenge ) heißt inkonsistent.
ƒ Eine Formelmenge ) , die nicht inkonsistent ist, heißt konsistent.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Anwendung
23/49
ƒ Im Eingangsbeispiel „Ampel“ haben wir das Problem durch
Formelmengen definiert.
ƒ Solche Spezifikationen müssen konsistent sein.
ƒ Eine inkonsistente Spezifikation kann beliebig implementiert werden.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Normalformen
n
24/49
m
∧ Lij
Disjunktive Normalform: ϕ = ∨
i=1 j=1
wobei Lij = p oder Lij = ⌝p für eine aussagenlogische Variable p ist.
Lij heißt Literal.
n m
∨ Lij
Konjunktive Normalform: ϕ = ∧
i=1 j=1
Satz:
Jede aussagenlogische Formel kann in disjunktiver
und in konjunktiver Normalform geschrieben werden.
Beweis: strukturelle Induktion über den Aufbau von Formeln:
ƒ Literale p, ⌝ p bereits in DNF
ƒ ⌝ F, F bereits in DNF: Anwendung von V10 (De Morgan) liefert einfachere
Formel F', danach eventuell V8,V9
ƒ F = F1∨ F2, F1, F2 bereits in DNF: F in DNF (nach Identifikation sowohl in F1
als auch in F2 vorkommender Teilformeln)
ƒ F = F1∧ F2, F1, F2 bereits in DNF: fortgesetzte Anwendung von V5
(Distributivgesetz) (und V8, V9) liefert DNF
ƒ Für KNF analog
Aufwand NP! Grund: aus DNF kann Erfüllbarkeit direkt abgelesen werden
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Disjunktive Normalform: Beispiel
25/49
Disjunktive Normalform von F = ⌝(⌝(p ∧ (⌝p ∨ q)) ∨ p):
F = ⌝⌝(p∧(⌝ p ∨ q))∧⌝ p
= ((p∧⌝ p)∨(p∧ q))∧⌝ p
=
p∧ q∧⌝ p
=O
V10
V5
V8: p∧⌝ p = O, O weglassen
V8
ƒ Alternatives Verfahren: Aufstellung Wahrheitstafel vgl. Folie 13
ƒ Beispiel: F = ⌝(⌝p ∨ q) ∨ ⌝(⌝q ∨ r) ∨ ⌝p ∨ r (vgl. Folie 12)
F=p∧q∧r∨ p∧q∧⌝r∨ p∧⌝q∧r∨ p∧⌝q∧⌝r∨
⌝p∧q∧r∨⌝p∧q∧⌝r∨⌝p∧⌝q∧r∨⌝p∧⌝q∧⌝r
ƒ Prinzip: für jede Zeile mit Ergebnis e(F) = w bilde konjunktiven Term, in
dem mit w belegte Variable positiv, mit f belegte Variable negiert sind
y Belegung (w,f,w): Term p ∧ ⌝ q ∧ r
ƒ Im Beispiel kommen alle 23=8 konjunktiven Terme vor, da F
allgemeingültig
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.1 Junktoren
26/49
ƒ Wieviele Operationen τ p bzw. p τ q von k aussagenlogischen
Variablen p, q mit potentiell unterschiedlichem Ergebnis gibt es?
ƒ Antwort: die Wahrheitstafel hat 2k Zeilen, die alternativ O oder L
ergeben können, also 22^k Möglichkeiten
ƒ k = 1: Operationen p, ⌝ p, O, L (identisch wahr/falsch)
ƒ k = 2: 22^k = 16:
O O L L p
Kommentar
O L O L q
O O O O O
identisch O
O O O L p∧q
O O L O ⌝(p→ q)
p∧⌝q
O O L L p
O L O O ⌝(q→ p)
p nor q,
p/q, Sheffer-Strich
L O O L p≡q
p↔q
L O L O ⌝q
L O L L ⌝q∨p
⌝p∧q
O L O L q
O L L O ⌝ (p ≡ q)
L O O O ⌝(p ∨ q)
p xor q,
exklusiv. oder
O L L L p∨q
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
q→p
L
L
O O ⌝p
L
L
O L ⌝p∨q
p→q
L
L
L O ⌝(p ∧ q)
p nand q, Peirce Fkt.
L L L
identisch L
L L
4. Formale Logik
4.1 Einsichten und Anwendungen
27/49
ƒ Der Sheffersche Strich, die Peirce-Funktion, sowie die Paare ⌝,∧ und
⌝,∨ genügen jeweils für sich, um alle Junktoren auszudrücken
ƒ Halbaddierer: p, q als Ziffern 0/1,
Ergebnis ist Summe und Übertrag (CO), p + q = (s,ü) = (p xor q, p ∧ q)
p
s
Σ
CO
q
CO: carry out
CI: carry in
ü
ƒ Volladdierer: p + q + ü = (s,ü)
= (p xor q xor ü, ((p xor q) ∧ ü) nor (p ∧ q))
ü
p
q
s
Σ
CO
Σ
CO
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
≥1
ü
4. Formale Logik
4.1 Zusammenfassung
28/49
ƒ Aussagenlogik dient der Formalisierung von Aussagen
ƒ Syntax von Formeln basiert auf aussagenlogischen Variablen und den
Operatoren ⌝ (nicht), ∧ (und), ∨ (oder); Variable ≙ Aussage
ƒ Die boolesche Algebra ist Grundlage der Interpretation von Formeln.
ƒ Den Wahrheitsgehalt von Formeln kann man mit Wahrheitstafeln
ausrechnen.
ƒ Allgemeingültige Formeln sind immer wahr, erfüllbare Formeln können
wahr werden, unerfüllbare Formeln sind nie wahr.
ƒ Formeln kann man aus Formelmengen folgern () ⊨ F).
ƒ Auch dies kann mit Wahrheitstafeln nachrechnen.
ƒ Das Nachrechnen mit Wahrheitstafeln ist sehr aufwendig.
ƒ Mit einem korrekten und vollständigen Kalkül kann man semantische
Folgerungen einfacher nachweisen () ⊢ F).
ƒ DNF und KNF sind aufwendig herzustellen, aber Grundlage vieler
Anwendungen
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Prädikatenlogik
29/49
ƒ Problem:
y in der Aussagenlogik bezeichnen Variable Aussagen
☛ keine Möglichkeit Aussagen p(X) über Objekte X zu machen
ƒ Prädikatenlogik:
y Variablen bezeichnen Objekte, nur in Logik höherer Stufe
auch Aussagen
☛ Objekte werden repräsentiert durch Terme einer Termalgebra
y Aussagen p(X) über Objekte heißen Prädikate (über X)
y auch Aussagen q(X,Y,...) über mehrere Objekte möglich:
Prädikatssymbole p, q, ... haben Stelligkeit p/1, q/2, ...
y Prädikate sind atomare Formeln
y atomare Formeln kann man mit Junktoren verknüpfen
☛ Gesetze und Regeln wie in der Aussagenlogik
y zusätzlich: mit Quantoren ∀,∃ kann man Prädikate über alle Objekte
formulieren oder die Existenz eines Objekts mit p(X) postulieren:
☛ ∀ X: p(X) bzw. ∃ X: p(X)
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Prädikatenlogik: Beispiel
30/49
Beispiel: Weisheiten
ƒ Von je zwei Politikern einer Versammlung von Politikern ist wenigstens
einer bestechlich.
ƒ Ein Politiker der Versammlung ist unbestechlich.
ƒ Also sind alle Politiker bis auf einen bestechlich.
Aus Smullyan: Dame oder Tiger, Fischer, 1992
Beobachtungen:
ƒ Diese Weisheiten können nicht in Aussagenlogik formalisiert werden,
denn
y wir wissen nicht, wie viele Politiker an der Versammlung teilnehmen.
y wir wissen insbesondere nicht, welcher Politiker unbestechlich ist.
y wir reden von der Eigenschaft, daß Politiker bestechlich sein können
y wir reden von allen Politikern und von der Existenz eines
unbestechlichen Politikers.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Beispiel in Formeln
31/49
Beispiel: Weisheiten
ƒ Von je zwei Politikern einer Versammlung von Politikern ist
wenigstens einer bestechlich.
ƒ Ein Politiker der Versammlung ist unbestechlich.
ƒ Also sind alle Politiker bis auf den einen bestechlich.
Weisheiten als Formeln:
ƒ ∀ p1 ∀ p2: inVersammlung(p1) ∧ inVersammlung(p2) ∧ ⌝ (p1 = p2)
→ istBestechlich(p1) ∨ istBestechlich(p2)
ƒ ∃ p: inVersammlung(p) ∧ ⌝istBestechlich(p)
ƒ ∃ p1: inVersammlung(p1) ∧ ⌝istBestechlich(p1)
→ ∀ p2: inVersammlung(p2) ∧ ⌝(p1 = p2) → istBestechlich(p2)
Abkürzungen:
∀ x ∈ U: p statt ∀ x: x ∈ U → p
∀ x,y: p statt ∀ x ∀ y: p
(U implizit bekannt)
(entsprechend für ∃, oft ohne Doppelpunkt oder durch Punkt ersetzt)
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Beispiel: Sortieren
32/49
Eingabe: Daten (beliebiger Anzahl) in irgendeiner Reihenfolge
Ausgabe: dieselben Daten wie in der Eingabe, aber sortiert
Probleme:
ƒ Wie sehen diese Daten aus?
ƒ Was heißt Reihenfolge?
ƒ Was heißt sortiert?
ƒ Was heißt dieselben Daten?
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Beispiel Sortieren: Antworten
33/49
Wie sehen die Daten aus?
ƒ Daten stammen aus einem Universum U. (x ∈ U)
Was heißt Reihenfolge?
ƒ Reihenfolge heißt, daß die Daten in einer Liste (Monoid) angeordnet
sind und die Elemente dieser Liste bilden. (q ∈ U*, x ∈ q)
Was heißt sortiert?
ƒ sortiert verlangt, daß U total geordnet ist mit einer Ordnung ≤:
∀ x: x ∈ U → x ≤ x
∀ x ∀ y: x ∈ U ∧ y ∈ U ∧ x ≤ y ∧ y ≤ x → x = y
∀ x ∀ y ∀ z: x ∈ U ∧ y ∈ U ∧ z ∈ U ∧ x ≤ y ∧ y ≤ z → x ≤ z
∀ x ∀ y: x ∈ U ∧ y ∈ U → x ≤ y ∨ y ≤ x
ƒ sortiert bedeutet, daß die Elemente in einer Liste vorliegen, so daß alle
Elemente z, die vor einem beliebigen Element x kommen, ≤ x sind:
isSorted([])
∀ a: a ∈ U → isSorted([a])
∀ a ∀ q: a ∈ U ∧ q ∈ U* ∧ ⌝(q = [])
∧ (∀ x: x ∈ q → a ≤ x) ∧ isSorted(q)
→ isSorted(append([a], q))
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Beispiel Sortieren: Antworten
34/49
Was heißt dieselben Daten ?
ƒ dieselben Daten heißt, daß alle Elemente der Eingabeliste auch in der
Ausgabeliste vorkommen und umgekehrt, auch mit der selben
Vielfachheit anz. Dazu Prädikat „ist Permutation“:
∀ x ∈ U:
∀ x ∈ U:
∀ x ∈ U ∀ y ∈ U:
∀ x ∈ U ∀ q,q',q'' ∈ U*:
∀ q ∀ q':
anz(x, []) = 0
anz(x,[x]) = 1
x ≠ y → anz(x,[y]) = 0
q = append(q',q'') → anz(x,q) = anz(x,q') + anz(x,q'')
isPerm(q, q') ↔ ∀ x ∈ U: anz(x, q) = anz(x, q')
Eingabe:
q ∈ U*
Ausgabe: sort(q) ∈ U*
Ausgabebedingungen: isPerm(q, sort(q)) ∧ isSorted(sort(q))
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Formeln der Prädikatenlogik 1. Stufe (I)
35/49
Alphabet ist ein Tripel $ = (V, Σ, Π) mit
ƒ V ist Menge von Variablen
ƒ Σ ist Signatur von Funktionssymbolen
ƒ Π = Π(1) ⋃ Π(2) ⋃ … ist Menge von Prädikats- oder Relationssymbolen
y p ∈ Π(n) heißt n-stelliges Prädikatsymbol
Terme entstammen der initialen Grundtermalgebra , (Σ, V) über der
Signatur Σ mit Variablen V:
ƒ Jede Variable x ∈ V ist ein Term.
ƒ Wenn f /n ∈ Σ, und t1, t2, … , tn Terme sind,
dann ist auch f(t1, … , tn) ein Term
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Formeln der Prädikatenlogik 1. Stufe (II)
36/49
atomare Formeln: Wenn t1, … , tn Terme und p ∈ Π(n) n-stelliges
Prädikatsymbol ist, dann ist p(t1, … , tn) eine
atomare Formel
Formeln:
ƒ Jede atomare Formel ist eine Formel
ƒ Wenn F und G Formeln sind, so auch ⌝F, F ∨ G und F ∧ G
ƒ Wenn F Formel und x ∈ V Variable ist, dann ist auch ∀ x: F und
∃ x: F eine Formel
Die Quantoren können sich nur auf Termvariable beziehen
Prädikatenlogik 2. Stufe:
es gibt auch Variable für Prädikate und die Quantoren können sich
auch auf Prädikatsvariable beziehen
y ∀ p: p(X) → ... „für alle Eigenschaften p von X gilt ...“
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 gebundene und freie Variable (I)
37/49
Variable x komme in einer Formel F vor.
ƒ x heißt gebunden in F, wenn
y F hat die Form ∀ x: F' oder ∃ x: F'
(F' heißt Wirkungsbereich des Quantors ∀ x bzw. ∃ x)
y x kommt nur in einer Teilformel vor, z.B. F = p(y) ∧ ∀ x: q(x)
ƒ x heißt frei in F, wenn es außerhalb des Wirkungsbereichs eines
Quantors ∀ x bzw. ∃ x vorkommt
ƒ x kann sowohl frei als auch gebunden sein, z.B. in p(x,y) ∧ ∀ x: q(x)
∀ n: n ∈ ℕ → 0 + n = n
alle Variablen n sind durch den Quantor ∀ n gebunden
n ∈ ℕ ∧ ∀ n ∈ ℕ → ⌝succ(n) = n
Das erste n ist frei. Die anderen n sind gebunden.
∀ n: ( n ∈ ℕ → ∃ n: n = 0 )
Wirkungsbereich des Allquantors: n ∈ ℕ → ∃ n: n = 0
Aber nur das erste n ist an den Allquantor gebunden. Für die anderen
verdeckt der Existenzquantor die Variable des Allquantors.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Interpretation
38/49
ƒ Gegeben sei ein Alphabet $ = (V, Σ, Π) und eine Struktur A = (U,I)
y U ist nichtleere Menge, der Individuenbereich oder
das Universum von A
y I ist (partielle) Abbildung, die den f(m) ∈ Σ Abbildungen If: Um → U
und den Prädikaten p(n) ∈ Π Relationen Ip ⊆ Un zuordnet
ƒ Belegung α: V → U der Variablenmenge von $ in das Universum U
ƒ Interpretation , , gegeben durch (A,α), bildet alle Variablen, Terme
und Prädikate in das Universum U und Relationen über U ab
y , (⌝ F) =
y , (F ∧ G) =
y , (F ∨ G) =
y , (∀ x: F) =
y , (∃ x: F) =
w
f
w
f
w
f
wenn ,
wenn ,
wenn ,
sonst
wenn ,
sonst
(F) = f
(F) = w
(F) = w und , (G) = w
w
f
w
f
wenn , [a/x] (F) = w für alle a ∈ U
sonst
wenn , [a/x] (F) = w für mindestens ein a ∈ U
sonst
(F) = w oder , (G) = w
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
, [a/x] (F): a für alle in F
freien x einsetzen,
dann , anwenden
4. Formale Logik
4.2 Modelle, Folgerungsbegriff
39/49
ƒ Interpretation , heißt Modell für Formel (oder Formelmenge) F, , ⊨ F,
wenn , (F) = w
ƒ F heißt erfüllbar/unerfüllbar/allgemeingültig, wenn es ein Modell
gibt/nicht gibt/für alle Interpretationen , (F) = w gilt
ƒ Wie für die Aussagenlogik gibt es für die Prädikatenlogik erster Stufe
Kalküle K, um aus einer Formelmenge ) eine Formel F in endlich
vielen Schritten zu folgern, ) ⊢ F
ƒ Korrektheit eines Kalküls: Wenn ) ⊢ F dann ) ⊨ F
ƒ Vollständigkeit eines Kalküls (Gödel 1930): Wenn ) ⊨ F dann ) ⊢ F
(bis hierher alles wie in der Aussagenlogik)
ƒ Unentscheidbarkeit der Prädikatenlogik 1. Stufe (Church 1936): Es
gibt keinen Algorithmus, der in endlich vielen Schritten entscheidet, ob
) ⊢ F gilt
ƒ Unvollständigkeit der Prädikatenlogik 2. Stufe (Gödel): Die Menge der
semantisch korrekten Formeln der Prädikatenlogik 2. Stufe ist nicht
aufzählbar
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Struktur und Modell (I)
40/49
Beispiel: Formel F = ∃ x ∃ y ∃ z (P(x, y, z) ∧ P(x, z, y) ∧ P(z, y, x))
Struktur A = (U,I) mit:
U = ℕ ∖ {0}
P = { (r, s, t) | r, s, t ∈ ℕ, r < s ≤ t }
Ist A ein Modell für die Formel F?
P(x, y, z)
P(x, z, y)
P(z, y, x)
ist wahr für:
x< y
x< z
y≤z
ist wahr für:
x< z
x< y
z≤y
ist wahr für:
z< y
z< x
y≤x
Widerspruch
Die Struktur ist also kein Modell für die Formel.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Struktur und Modell (II)
41/49
Beispiel: Formel F = ∃ x ∃ y ∃ z (P(x, y) ∧ P(z, y) ∧ P(x, z) ∧ ⌝P(z, x))
Struktur A = (U,I) mit:
U = 3 (ℕ)
P = { (R, S) | R, S ⊆ ℕ, R ⊆ S }
Ist A ein Modell für die Formel F?
Y
Relationen:
Z
X
P(x,y) = { (X, Y) | X, Y ⊆ ℕ, X ⊆ Y }
P(z,y) = { (Z, Y) | Z, Y ⊆ ℕ, Z ⊆ Y }
P(x,z) = { (X, Z) | X, Z ⊆ ℕ, X ⊆ Z }
1. Aus m ∈ X folgt m ∈ Z, damit IP(x,z) wahr ist.
2. Aus m ∈ Z folgt m ∈ Y, damit IP(z,y) wahr ist.
3. Daher gilt x ∈ Y, wenn m ∈ X; somit gilt IP(x, y).
4. Sei nun X ≠ Z, m ∈ Z ∖ X, also m ∉ X, dann ist ⌝ IP(z, x) erfüllt.
Aus 1.- 4. folgt: Struktur A ist ein Modell für die Formel: wähle X ⊊ Z ⊆ Y.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Rechenregeln für Quantoren
42/49
Aus der Definition einer Interpretation folgt, daß die folgenden
Umformungen bei Formeln mit Quantoren semantisch korrekt sind:
ƒ eine gebundene Variable x darf in einer Formel Qx: F durch eine
Variable y ersetzt werden, wenn y in F nicht frei vorkommt.
Neue Form: Qy: F[y/x] (mit Q ∈ { ∀, ∃ })
ƒ es gilt ⌝∃ x: F = ∀ x: ⌝ F, ⌝∀ x: F = ∃ x: ⌝ F
ƒ F1∨ Q x: F2 = Q x: F1∨ F2, F1∧ Q x: F2 = Q x: F1∧ F2,
wenn x in F1 nicht frei vorkommt
ƒ ∀ x ∀ y: F = ∀ y ∀ x: F
ƒ Aber: (∃ y ∀ x: F) → (∀ x ∃ y: F) aber nicht umgekehrt
y Beispiel: Stetigkeitsdefinition in der Analysis
ƒ also: man darf Variable umbenennen, Negation mit Vertauschung
∀↔∃ durchziehen, Quantoren vorziehen und Allquantoren
untereinander vertauschen
ƒ man darf nicht immer Existenz- und Allquantoren vertauschen
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Normalformen (I)
43/49
Eine Folge von Quantoren P = Qx1 … Qxk, Q ∈ { ∀, ∃ } heißt Präfix
einer Formel F = PF' = Qx1 … Qxk F'.
F befindet sich in pränexer Normalform, wenn F' quantorenfrei ist.
Es gilt der Satz:
Jede prädikatenlogische Formel F kann in eine äquivalente Formel G
in pränexer Normalform überführt werden.
Beispiel:
ƒ F= ∀ x ∃ y (p(x) ∧ q(x, y)) ∨ ⌝∀ x r(x)
Beseitigung der negierten Quantoren und Bereinigung von F:
ƒ F' = ∀ x ∃ y (p(x) ∧ q(x, y)) ∨ ∃ z ⌝r(z)
Quantoren vorziehen:
ƒ F''= ∀ x ∃ y ∃ z (p(x) ∧ q(x, y)) ∨ ⌝r(z)
F''ist in pränexer Normalform.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Normalformen (II)
44/49
Eine pränexe Normalform kann leider nicht so standardisiert werden,
daß zu Beginn die Allquantoren und dahinter die Existenzquantoren
kommen. Es gibt aber eine semantisch äquivalente Normalform, die
nur noch die Allquantoren aufweist.
Satz: Zu jeder prädikatenlogischen Formel F gibt es eine Formel G mit
ƒ G = ∀ x1 … ∀ xk G', k ≥ 0
ƒ G' quantorenfrei
ƒ F ist genau dann erfüllbar, wenn G erfüllbar ist.
ƒ G heißt Skolemform von F
Die Skolemform erreicht man, indem man die durch Existenzquantoren
gebundenen Variablen nacheinander durch Skolemfunktionen ersetzt,
die von den Variablen der vorausgehenden Allquantoren abhängt.
Beispiel:
∀ u ∃ v ∀ x ∃ y: p(u,v,x,y)
wird ersetzt durch die Skolemform ∀ u ∀ x: p (u,skv(u),x,sky(u,x))
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Satz von Herbrand
45/49
Jacques Herbrand, 1908-1935, französischer Logiker
ƒ Gegeben sei eine Formel (oder Formelmenge) F, ΣF ⊆ Σ sei die
Menge der in F vorkommenden Funktionssymbole
y enthält ΣF kein 0-stelliges Funktionssymbol, so nehmen wir noch
ein solches hinzu
ƒ Die initiale Grundtermalgebra G0(ΣF) heißt Herbrand-Universum + (F)
zu F.
ƒ Ist , = (A,α) ein Modell der Formel F ohne freie Variable
(geschlossene Formel), so kann man daraus ein Modell , ' = (+ (F), α)
über dem Herbrand-Universum, die Herbrand-Interpretation, herleiten
ƒ Die Herbrand-Interpretation , ' erfüllt ebenfalls F und heißt ein
Herbrand-Modell.
Satz von Herbrand: Wenn eine Formel ohne freie Variable kein
Herbrand-Modell besitzt, so ist sie unerfüllbar.
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Horn-Klauseln, Resolutionskalkül
46/49
Alfred Horn, norwegischer Logiker
ƒ Gegeben seien atomare Formeln p1,...,pm,q
ƒ Hornklausel: p1 ∧ p2 ∧ ... ∧ pm → q = ⌝p1 ∨ ⌝p2 ∨ ... ∨ ⌝pm ∨ q
y Implikation: m ≥ 1
y Faktum: m = 0
y Anfrage: q fehlt
ƒ Resolution (Robert Kowalski): gegeben eine Hornformel + ,
beweise, daß eine Anfrage G in + erfüllbar ist. Es gilt + → G mit
geeigneter Variablenbelegung, wenn die Negation ⌝ (+ → G) = ⌝(⌝
+ ∨ G) = + ∧ ⌝ G unerfüllbar ist
y wende dazu den Satz von Herbrand an: + ∧ ⌝ G ist unerfüllbar,
wenn es ein Gegenbeispiel, d.h. ein Modell für + → G, gibt
ƒ In der Prädikatenlogik: p1,...,pm,q, G sind atomare Prädikate über der
initialen Grundtermalgebra , (ΣF, V) mit Variablen
y alle Variablen sind all-quantifiziert (implizit, Allquantor nicht
explizit geschrieben)
y dem Gegenbeispiel liegt eine Belegung α: V → G0(ΣF) zugrunde
y ermittle α durch Unifikation: bestimme allgemeinsten Unifikator
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Logisches Programmieren: Prolog
47/49
Alain Colmerauer, französischer Informatiker
ƒ Idee von Prolog:
y wende Resolution auf Hornklauseln an
y mache das Verfahren deterministisch, indem die Klauseln in fester
Reihenfolge vorgegeben werden
y unifiziere die Anfrage G mit dem „Kopf“ q der ersten dazu
geeigneten Hornklausel H; lautet diese p1 ∧ p2 ∧ ... ∧ pm → q, so
füge p1σ,...,pm σ der Liste zu erfüllender Anfragen hinzu
à σ: durch die bisherigen Unifikationen definierte
Variablensubstitution
à Immer die zuletzt der Liste zugefügte Anfrage wird als erstes
bearbeitet
y läßt sich G so nicht erfüllen, so suche die in der Reihenfolge nach
H nächste passende Hornklausel H'
y Gibt es keine solche Hornklausel H', so schlägt die Anfrage G fehl:
es wird kein Modell für G gefunden
negation by failure: Wird kein Modell gefunden, so heißt das noch nicht,
daß das Gegenteil wahr ist!
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Prolog: Schreibweise
48/49
ƒ Konventionen:
y Variablenbezeichner beginnen mit Großbuchstaben,
alle anderen Bezeichner mit Kleinbuchstaben
y _ ist ein Variablenbezeichner wechselnder Identität
ƒ Hornklauseln p1 ∧ p2 ∧ ... ∧ pm → q
y q :- p1, ...,pm .
Komma statt ∧, abschließender Punkt
y Faktum: q .
abschließender Punkt
y Anfrage: ?- G .
abschließender Punkt
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
4.2 Beispiel: formales Differenzieren
49/49
ƒ Prolog-Programm
diff(U+V,X,DU+DV)
:- diff(U,X,DU), diff(V,X,DV).
diff(U-V,X,DU-DV)
:- diff(U,X,DU), diff(V,X,DV).
diff(U*V,X,U*DV+V*DU)
:- diff(U,X,DU), diff(V,X,DV).
diff(U/V,X,(V*DU-U*DV)/V*V) :- diff(U,X,DU), diff(V,X,DV).
diff(X,X,1).
diff(Y,X,0) :- constant(Y).
ƒ Anfragen
?- diff(x*x,x,E).
E = x*1 + 1*x
?- diff(a*x+b,x,E).
E = a*1 + 0*x + 0
?- diff(x^2,x,E)
no
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos
4. Formale Logik
Herunterladen