Übungsskript „Grundlagen der Logik“

Werbung
Grundlagen der Logik
Content
..
.......
... .....
...
...
..
...
...
...
...
...
...
...
...
...
.
...
..
...
...
.
.
...
.
...
...
...
...
.
...
...
...
...
...
.
...
...
...
...
.
...
...
...
...
...
.
...
...
...
...
.
...
...
...
...
...
.
...
...
...
...
.
...
..
Information
Concept
Topic
Datenbanken I (Systemorientierte Informatik IV)
Sommersemester 2007
Gunar Fiedler ([email protected])
Institut für Informatik
Arbeitsgruppe Technologie der Informationssysteme“
”
Christian-Albrechts-Universität zu Kiel
Um eine unmissverständliche Anfrage an ein Datenbanksystem zu stellen, ist eine
formale Definition der Anfragesprache notwendig. Diese Definition bestimmt, welche
Anfragen als gültig betrachtet werden und welche Bedeutung (Semantik) diesen
Anfragen zugeordnet ist.
Wir behandeln hier zwei Ansätze formaler Sprachen für die Formulierung von Anfragen an Datenbanksysteme. Die relationale Algebra definiert eine Menge von möglichen Operationen über den Relationen einer Datenbank. Diese Operationen bilden
die Relationen der Datenbank auf andere Relationen ab. Eine Anfrage der relationalen Algebra ist eine Folge von Anweisungen, die angibt, welche Operationen
auf welche Relationen angewendet werden müssen, um das gewünschte Ergebnis zu
erhalten.
Der relationale Tupelkalkül geht einen anderen Weg: mit Hilfe einer Sprache werden
die Eigenschaften des gewünschten Ergebnisses beschrieben. Das Datenbanksystem
bestimmt aus den Relationen der Datenbank den Zustand, der diese Eigenschaften
erfüllt.
Beide Anfragesprachen benutzen die mathematischen Grundlagen der Logik. Deshalb beginnen wir in diesem Skript mit einer kurzen Einführung in die Begriffswelt
der Logik. Dabei beschränken wir uns auf die Elemente, die für unsere Anfrageformulierung wichtig sind.
1
1.1
Aussagenlogik
Formeln, Interpretationen und Modelle
Die Aussagenlogik stellt einen Rahmen für die Bestimmung des Wahrheitgehalts von
Aussagen bzgl. einer gegebenen Welt bereit. Eine Aussage wird dabei aus Teilaussagen zusammengesetzt, die mittels Junktoren verbunden werden. Die Basis bilden
strukturlose Elementaraussagen, die nicht weiter zerlegt werden können.
Betrachten wir folgende Aussagen:
A1 : Es regnet.“
”
A2 : Die Straße ist nass.“
”
1 Aussagenlogik
Datenbanken I
Aus beiden (Elementar-)Aussagen können weitere Aussagen zusammengesetzt werden:
A3 : Es regnet und die Straße ist nass.“
”
A4 : Wenn es regnet, ist die Straße nass.“
”
A5 : Die Straße ist nicht nass.“
”
A6 : Wenn die Straße nass ist, regnet es.“
”
A7 : Wenn es regnet, ist die Straße nass. Die Straße ist nicht nass. Es regnet nicht.“
”
A8 : Die Straße ist genau dann nass, wenn es regnet.“
”
Das Verbinden von Teilaussagen zu komplexeren Aussagen geschieht mit Hilfe von
Junktoren. Typische Junktoren sind und“ (∧), oder“ (∨), nicht“ (¬), die Implika”
”
”
tion (⇒) und die Äquivalenz (⇔). Mit Hilfe dieser Symbole lassen sich die Aussagen
A3 bis A8 z.B. wie folgt als Formeln schreiben:
A3 : A1 ∧ A2
A4 : A1 ⇒ A2
A5 : ¬A2
A6 : A2 ⇒ A1
A7 : (A1 ⇒ A2 ) ∧ (¬A2 ) ∧ (¬A1 )
A8 : A1 ⇔ A2
Bis jetzt ist eine Aussage nur ein syntaktischer Ausdruck, dem eine Bedeutung (Semantik) zugeordnet werden muss. Der Wahrheitswert einer Aussage bestimmt sich
aus den Wahrheitswerten der Teilaussagen und der Verknüpfung dieser Wahrheitswerte durch den Junktor. Als Wahrheitswerte werden üblicherweise wahr“ (W ) und
”
falsch“ (F ) benutzt. Die Verknüpfungen können mit Hilfe von Wertetabellen dar”
gestellt werden:
A∧B
B ist falsch
B ist wahr
A ist falsch
falsch
falsch
A ist wahr
falsch
wahr
A∨B
B ist falsch
B ist wahr
A ist falsch
falsch
wahr
A ist wahr
wahr
wahr
A⇒B
B ist falsch
B ist wahr
A ist falsch
wahr
wahr
A ist wahr
falsch
wahr
A⇔B
B ist falsch
B ist wahr
A ist falsch
wahr
falsch
A ist wahr
falsch
wahr
¬A
2
A ist falsch
wahr
A ist wahr
falsch
SS 2007, Gunar Fiedler, ISE@CAU
Datenbanken I
1 Aussagenlogik
Der Wahrheitswert einer Elementaraussage ergibt sich aus der betrachteten Welt.
Nehmen wir folgende Situationen an:
Situation 1
A1 ist wahr
A2 ist wahr
Situation 2
A1 ist falsch
A2 ist wahr
Situation 3
A1 ist falsch
A2 ist falsch
In Situation 1 sind A1 und A2 beide wahr. Ein Blick in die Wertetabellen der Junktoren verrät, dass demnach auch A3 , A4 , A6 und A8 wahr sind. A5 ist falsch. Für
A7 wenden wir die Verknüpfung über mehrere Stufen an: A1 ⇒ A2 ist nach Wertetabelle wahr und ¬A2 ist falsch. Demnach ist (A1 ⇒ A2 ) ∧ (¬A2 ) falsch. ¬A1 ist
ebenso falsch. Deshalb folgt, dass die Gesamtaussage A7 falsch ist.
Situation 1
Situation 2
Situation 3
A3
W
F
F
A4
W
W
W
A5
F
F
W
A6
W
F
W
A7
F
F
W
A8
W
F
W
Mathematisch können wir die Situationen als Funktionen auffassen, die den Aussagen jeweils einen Wahrheitswert zuweisen. Diese Funktionen nennen wir in Zukunft
Interpretationen. Wenn eine Formel ϕ unter einer Interpretation I zu wahr ausgewertet wird, sagen wir: I ist ein Modell von ϕ.“ und schreiben I |= ϕ, beispielsweise
”
ist die Situation 1 ein Modell der Formel A3 :
|= A3
Die Situation 2 ist dagegen kein Modell der Formel A6 :
2 A6
SS 2007, Gunar Fiedler, ISE@CAU
3
1 Aussagenlogik
Datenbanken I
Eine Formel ϕ heißt erfüllbar, wenn es eine Interpretation gibt, unter der ϕ zu wahr
ausgewertet wird. In unserem Beispiel sind die Aussagen A1 bis A8 demnach alle
erfüllbar. Eine Formel heißt allgemeingültig, wenn sie unter allen Interpretationen zu
wahr ausgewertet wird. Allgemeingültige Formeln werden auch Tautologien genannt.
In unserem Beispiel ist die Aussage A4 eine Tautologie (wenn angenommen wird,
dass nur die drei gegebenen Situationen existieren.) Da die konkrete Interpretation
für den Wahrheitswert einer Tautologie keine Rolle spielt, lässt man sie weg und
schreibt
|= A4
1.2
Theorien und Ableitungen
Das Wissen über Modelle von Formeln kann benutzt werden, um aus einer gegebenen
Menge von Formeln diejenigen Formeln abzuleiten, die zwingend auch gelten. Wenn
beispielsweise bekannt ist, dass die Aussagen A1 und A2 beide wahr sind, dann wissen
wir auch (aufgrund der Definition der Junktoren), dass u.a. auch die Formel A1 ∨ A2
wahr ist. Anders gesprochen: alle Interpretationen, die Modell von A1 und Modell
von A2 sind, sind auch Modell von A1 ∨ A2 . Ein zweites Beispiel: Alle Modelle
der Formel A1 ∧ A2 sind auch Modell der Formel A1 und Modell der Formel A2 .
Andererseits gilt dies nicht zwingend für A1 ∨ A2 : in unserem Beispiel sind Situation
1 und Situation 2 Modelle der Formel A1 ∨ A2 , die Situation 2 ist aber kein Modell
der Formel A1 .
Wenn jedes Modell einer Formelmenge Φ auch Modell einer Formel ψ ist, dann
folgt ψ aus Φ, geschrieben Φ |= ψ. Die Formelmenge Φ nennen wir eine Theorie.
Eine Interpretation I ist Modell einer Theorie, wenn sie Modell jeder Formel der
Theorie ist. Wenn eine Theorie mindestens ein Modell hat, nennen wir sie konsistent,
ansonsten inkonsistent.
Wenn eine Theorie (z.B. T = {A1 , A2 }) gegeben ist, dann wäre es interessant zu
wissen, welche Formeln auch gelten. Die Folgerungsrelation |= definiert dies zwar,
gibt aber keine Möglichkeit zur Bestimmung der Menge vor. Aus diesem Grunde
definieren wir eine Ableitungsrelation {ϕ1 , ..., ϕn } ` ψ, indem wir Ableitungsregeln
(Inferenzregeln) angeben. Ableitungsregeln werden folgendermaßen geschrieben:
ϕ1 , ..., ϕn
ψ
Die Formelmenge ϕ1 , ..., ϕn stellt die Voraussetzung der Regel dar. Wenn jede der
Formeln der Voraussetzung abgeleitet werden kann, dann kann auch die Konsequenz
der Regel, die Formel ψ unterhalb des Strichs, abgeleitet werden. Wichtige Ableitungsregeln sind:
Modus Ponens (Implikationsbeseitigung): Wenn es eine Implikation gibt und
die Voraussetzung der Implikation abgeleitet werden kann, dann kann man auch die
Konsequenz ableiten:
4
SS 2007, Gunar Fiedler, ISE@CAU
Datenbanken I
1 Aussagenlogik
`ϕ
`ϕ⇒ψ
`ψ
Und-Beseitigung: Wenn eine Konjunktion ableitbar ist, dann auch jede der Teilformeln:
` ϕ1 ∧ ... ∧ ϕn
` ϕi
Und-Einführung: Wenn eine Menge von Formeln ableitbar ist, dann auch ihre
Konjunktion:
` ϕ1 , ..., ` ϕn
` ϕ1 ∧ ... ∧ ϕn
Unit-Resolution: Wenn eine Disjunktion zusammen mit der Negation einer der
beiden Teilformeln ableitbar ist, dann ist die andere Teilformel ableitbar:
` ϕ1 ∨ ϕ2 , ` ¬ϕ2
` ϕ1
Es gibt noch weitere Ableitungsregeln. In unserem Beispiel lässt sich folgende Ableitung bilden: wir gehen davon aus, dass Aussage A4 allgemeingültig ist ( Wenn es
”
regnet, ist die Straße nass.“). Wir sehen aus dem Fenster und stellen fest, dass es
regnet.
∅ ` A1 (Elementaraussage der Welt)
∅ ` A1 ⇒ A2 (als Tautologie akzeptiert, Wissen“)
”
nach Modus Ponens folgt nun
{A1 , (A1 ⇒ A2 )} ` A2
oder anders ausgedrückt: die Straße ist nass.
1.3
Anwendungen der Aussagenlogik in relationalen Datenbanken
Wir werden die Erkenntnisse über die Aussagenlogik sowohl in der relationalen Algebra als auch im relationalen Tupelkalkül benutzen, um Bedingungen über Tupeln
auszudrücken. Jedes Tupel ist vergleichbar mit einer Situation im obigen Beispiel.
Für unsere Tupel können wir Elementaraussagen definieren, indem wir die Prädikate der den Attributen zugeordneten Datentypen benutzen. Sei z.B. ein Relationenschema AN GEST ELLT ER(N ame, W ohnort, N iederlassung, Gehalt) gegeben. Den Attributen N ame, W ohnort und N iederlassung sei der Datentyp Zei”
chenkette“ zugeordnet. Der Datentyp Zeichenkette“ verfüge über ein Gleichheitsprä”
dikat =, dass auf lexikalische Gleichheit prüft. Dem Attribut Gehalt“ seien neben
”
einem Gleichheitsprädikat auch Ordnungsprädikate <, ≤, ≥, > zugeordnet. Dann
können wir folgende Elementaraussagen formulieren:
A9 : W ohnort =0 Kiel0
SS 2007, Gunar Fiedler, ISE@CAU
5
2 Prädikatenlogik erster Stufe
Datenbanken I
A10 : W ohnort = N iederlassung
A11 : Gehalt > 4000
Wir betrachten folgenden Zustand für das Relationenschema AN GEST ELLT ER
(die erste Spalte enthalte Variablennamen für die einzelnen Tupel, damit wir sie
referenzieren können):
t1
t2
t3
t4
Name
Müller
Meyer
Petersen
Schmidt
Wohnort
Kiel
Kiel
Flensburg
Lübeck
Niederlassung
Kiel
Rendsburg
Flensburg
Hamburg
Gehalt
3500
4000
4300
4400
Die vier Tupel entsprechen den vier möglichen Situationen ( mögliche Welten“, engl.
”
possible worlds“.) Wir erhalten folgende Wahrheitswerte:
”
t1
t2
t3
t4
A9
W
W
F
F
A10
W
F
W
F
A11
F
F
W
W
A10 ∧ A11
F
F
W
F
Demnach ist t1 ein Modell der Aussagen A9 und A10 (t1 |= A9 , t1 |= A10 ). Das Tupel
t3 ist z.B. ein Modell der Aussagen A10 , A11 und A10 ∧ A11 (t3 |= A10 , t3 |= A11 ,
t3 |= (A10 ∧ A11 ).)
2
Prädikatenlogik erster Stufe
Die Aussagenlogik erlaubt es nicht, Aussagen über Mengen von möglichen Welten zu
treffen. Wenn wir unser Angestellten-Relationenschema aus dem letzten Abschnitt
als Beispiel nehmen, dann kann die Aussage Alle Angestellten der Hamburger Nie”
derlassung verdienen mehr als 3000 e.“ nicht mit Hilfe der Aussagenlogik formuliert
werden1 . Aus diesem Grunde erweitern wir unseren Formelbegriff um folgende Konstrukte:
• Wir führen Variablen ein.2 Wir benutzen hier getypte Variablen (analog zur
Diskussion über die Attribute des relationalen Datenmodells.)
1
Die Aussage kann natürlich als Elementaraussage über den Niederlassungen formuliert werden.
Allerdings ist es dann nicht mehr möglich, Zusammenhänge z.B. zum Gehalt eines einzelnen
Angestellten der Niederlassung herzustellen.
2
W ohnort, N iederlassung und Gehalt in den Formeln der Aussagenlogik sind keine Variablen in
diesem Sinne, da die Formel jeweils immer für eine ganz bestimmte Welt (für ein ganz bestimmtes
Tupel) ausgewertet wurde; dort sind den Attributen aber eindeutige Werte zugeordnet.
6
SS 2007, Gunar Fiedler, ISE@CAU
Datenbanken I
2 Prädikatenlogik erster Stufe
• Es werden Prädikate definiert. Die Aussagen der Aussagenlogik entsprechen
0-stelligen Prädikaten, z.B. EsRegnet(). Wir erlauben aber jetzt auch Prädikate höherer Stelligkeit, z.B. IstN ass(x) oder M uendetIn(x, y), wobei der
Wertebereich der Variablen x und y die Menge aller Straßen ist.
• Weiterhin existieren Quantoren: sei ϕ eine Formel der Prädikatenlogik erster
Stufe. Dann sind auch
(∃x)(ϕ)
es gibt“
”
(∀x)(ϕ) für alle“
”
Formeln der Prädikatenlogik erster Stufe, wobei die Variable x in ϕ frei“ sein
”
muss: sie darf in ϕ noch nicht an einen Quantor (∃ oder ∀) gebunden sein.
Mit Hilfe der Quantoren lassen sich jetzt Aussagen über Mengen von Objekten
machen, beispielsweise Es gibt eine nasse Straße“:
”
(∃x)(IstN ass(x))
oder Jede Straße mündet in eine andere Straße.“
”
(∀x)((∃y)(M uendetIn(x, y)))
Die üblichen Junktoren der Aussagenlogik bleiben uns erhalten: Wenn es regnet,
”
sind alle nichtüberdachten Straßen nass.“:
EsRegnet() ⇒ (∀x)((¬U eberdacht(x)) ⇒ IstN ass(x))
Nicht alle Variablen müssen an Quantoren gebunden sein: Die nassen Straßen“
”
IstN ass(x)
Eine Interpretation einer Formel der Prädikatenlogik erster Stufe ist eine Funktion,
die allen Prädikaten eine Ausprägung (Extension) zuordnet, d.h. eine Menge von
Tupeln, die das Prädikat erfüllen.3
Eine Variablenbelegung % ordnet jeder Variablen einen Wert ihres Wertebereichs zu.
Damit können wir die |= - Relation definieren:
I, % |= P (x1 , ..., xn ) gdw. (%(x1 ), ..., %(xn )) ist in der durch I gegebenen Ausprägung
des Prädikats P enthalten.
Beispiel: Betrachten wir die Formel IstN ass(x). Sei die Menge aller Straßen S =
{Olshausenstr, W estring, W aitzstr, Ostring}. Die Interpretation I weise dem Prädikat IstN ass die Menge {Olshausenstr, W estring, W aitzstr} zu. Die Variablenbelegung %1 weise der Variablen x den Wert W estring zu. Dann gilt I, %1 |= IstN ass(x),
3
Korrekterweise ist die Interpretation ein Tripel bestehend aus dem Wertebereich, der Belegung
der Konstantensymbole und der Prädikatsausprägung, aber dies vernachlässigen wir hier.
SS 2007, Gunar Fiedler, ISE@CAU
7
3 Mehrwertige Logiken
Datenbanken I
da %1 (x) = W estring und W estring ∈ {Olshausenstr, W estring, W aitzstr}. Wenn
wir die Variablenbelegung %2 betrachten, die der Variablen x den Wert Ostring zuweist, dann gilt I, %2 2 IstN ass(x), da Ostring ∈
/ {Olshausenstr, W estring, W aitzstr}.
Wenn wir aber die Interpretation I2 betrachten, die dem Prädikat IstN ass die
Menge {Olshausenstr, W estring, W aitzstr, Ostring} zuordnet, dann gilt I2 , %2 |=
IstN ass(x).
Für die Junktoren ist die |= - Relation entsprechend der Aussagenlogik definiert.
Für die Quantoren gilt:
I, % |= (∀x)(ϕ) gdw. I, %0 |= ϕ für alle möglichen %0 , die sich von % höchstens in der
Belegung von x unterscheiden.
I, % |= (∃x)(ϕ) gdw. es gibt eine Variablenbelegung %0 , die sich von % höchstens in
der Belegung von x unterscheidet, so dass gilt: I, %0 |= ϕ.
Wenn I, % |= ϕ für alle Belegungen % gilt, dann schreiben wir auch I |= ϕ und
sagen I erfüllt ϕ bzw. I ist ein Modell von ϕ. Die Definitionen der Erfüllbarkeit und
Allgemeingültigkeit orientieren sich an denen der Aussagenlogik.
Wir werden die Prädikatenlogik erster Stufe im Kontext des relationalen Tupelkalküls benutzen, um Anfragen an Datenbanksysteme zu formulieren.
3
Mehrwertige Logiken
Bisher haben wir zweiwertige Logiken betrachtet: eine Aussage war immer entweder
wahr oder falsch. Es ist jedoch nicht in allen Situationen möglich, diese Entscheidung
zu treffen: manchmal ist eine Aussage ein bisschen wahr und ein bisschen falsch“,
”
manchmal wissen wir nicht, ob eine Aussage wahr oder falsch ist. Betrachten wir
z.B. folgende Personen:
Anna
blondes Haar
Kristina
rotes Haar
Joe
Glatze
Sandra
Welche Haarfarbe?
Thomas
Glatze oder Haare?
Anna hat offensichtlich blondes Haar. Kristina hat rotes Haar und Joe trägt eine
Glatze. Sandra färbt sich öfters die Haare, deshalb weiß man es nie so genau, welche
Haarfarbe sie momentan hat. Da man Thomas nur mit seinem Helm sieht, weiß man
nicht, ob er eine Glatze trägt bzw. welche Farbe seine Haare haben. Wenn wir eine
Relation mit den Haarfarben der Personen aufschreiben, dann kann man für Anna
und Kristina eindeutig ’blond’ bzw. ’rot’ eintragen. Joe hat keine Haare und demnach
auch keine Haarfarbe. Bei Sandra kennen wir die Farbe nicht und bei Thomas sind
8
SS 2007, Gunar Fiedler, ISE@CAU
Datenbanken I
3 Mehrwertige Logiken
wir uns nicht sicher, ob er eine Haarfarbe hat. Unsere Unwissenheit“ können wir
”
mit einem null-Wert im Wertebereich des Attributs Haarf arbe ausdrücken:
Name
Anna
Kristina
Joe
Sandra
Thomas
Haarfarbe
blond
rot
null
null
null
Angenommen, in der realen Welt“ gibt es nur die Haarfarben blond, rot, braun
”
und schwarz. Wir können eine Aussage A12 formulieren: Haarf arbe =0 blond0 ∨
Haarf arbe =0 rot0 ∨ Haarf arbe =0 braun0 ∨ Haarf arbe =0 schwarz 0 . Offensichtlich
gilt:
N ame : Anna, Haarf arbe : blond |= A12
N ame : Kristina, Haarf arbe : rot |= A12
Obwohl wir alle möglichen Haarfarben aufzählen, fallen Joe, Sandra und Thomas
unter den Tisch. Dies ist in der Tatsache begründet, dass der null-Wert der Haarfarbe ein künstlicher Wert ist, der keine Entsprechung in der realen Welt“ hat. Er
”
vermischt das konkrete Datum Haarf arbe mit dem Wissen über die Existenz des
Datums Haarf arbe.
Wir können eine Aussage A13 definieren: ¬Haarf arbe =0 blond0 . Für Kristina und
Joe ergibt dies das gewünschte Ergebnis. Bei Sandra und Thomas wissen wir aber
nicht, ob sie evtl. doch blond sind. Wenn dies der Fall ist, wäre die Antwort unseres
Systems falsch.
Aus diesem Grunde kann die klassische zweiwertige Logik erweitert werden. Der
hier vorgestellte Ansatz wurde von Jan Lukasiewicz 1920 eingeführt. Es wird ein
dritter Wahrheitswert definiert, der zwischen wahr“ und falsch“ angesiedelt ist.
”
”
Der Wahrheitsgehalt dieses Werts wird als möglich, aber nicht bewiesen“ gedeutet.
”
Wir könnten also das Prädikat =“ des Datentyps Haarf arbe so verändern:
”
=(x,y) blond rot schwarz braun null
blond
W
F
F
F
M
F
W
F
F
M
rot
F
F
W
F
M
schwarz
braun
F
F
F
W
M
null
M
M
M
M
M
Das Prädikat sagt jetzt folgendes aus: die Werte blond, rot, schwarz und braun werden untereinander im üblichen Sinne verglichen. Wenn einer der Werte null ist, dann
ist das Vergleichsergebnis möglicherweise wahr, möglicherweise aber auch falsch.
SS 2007, Gunar Fiedler, ISE@CAU
9
3 Mehrwertige Logiken
Datenbanken I
Wir müssen natürlich die Wertetabellen der Junktoren anpassen:
A∧B
A ist falsch A ist möglich A ist wahr
B ist falsch
falsch
falsch
falsch
B ist möglich
falsch
möglich
möglich
B ist wahr
falsch
möglich
wahr
Wenn eine der Teilaussagen falsch ist, dann kann die Gesamtaussage nicht wahr
”
werden. Wenn beide Teilaussagen wahr sind, ist die Gesamtaussage wahr. Wenn
eine Teilaussage wahr und die zweite Teilaussage möglicherweise wahr ist, dann ist
die Gesamtaussage möglicherweise wahr. Wenn beide Teilaussagen möglicherweise
wahr sind, ist die Gesamtaussage möglicherweise wahr.“
A∨B
A ist falsch A ist möglich A ist wahr
B ist falsch
falsch
möglich
wahr
möglich
möglich
wahr
B ist möglich
B ist wahr
wahr
wahr
wahr
Wenn eine der Teilaussagen wahr ist, wird die Gesamtaussage wahr. Wenn beide
”
Teilaussagen falsch sind, ist die Gesamtaussage falsch. Sonst ist die Gesamtaussage
möglich.“
Es gibt zwei Arten der Negation: die starke Negation ¬A und die schwache Negation
∼ A:
¬A
∼A
A ist falsch
wahr
A ist falsch
wahr
A ist möglich
möglich
A ist möglich
wahr
A ist wahr
falsch
A ist wahr
falsch
Aufbauend auf den beiden Negationen gibt es zwei Implikationen: A ⇒ B =def
¬A ∨ B, A → B =def ∼ A ∨ B. Man beachte, dass die Tautologien der klassischen
Logik (z.B. A ∨ ¬A) in der dreiwertigen Logik nicht unbedingt gelten müssen.
Aufbauend auf der mehrwertigen Logik lässt sich jetzt z.B. die Anfrage Wer hat
”
ganz sicher keine blonden Haare?“ von der Anfrage Wer hat möglicherweise keine
”
blonden Haare?“ unterscheiden.
Die hier vorgestellte dreiwertige Logik hat immer noch Probleme: Auf die Anfrage
Wer hat möglicherweise blonde Haare?“ qualifiziert sich Joe immer noch, obwohl er
”
als Glatzenträger mit Sicherheit keine blonden Haare hat. Allerdings fällt er bei der
Anfrage Wer hat mit Sicherheit keine blonden Haare?“ unter den Tisch. Deshalb
”
kann die dreiwertige Logik erweitert werden, um verschiedene Arten von null-Werten
zu unterstützen. In unserem Beispiel unterscheidet sich die Bedeutung des null-Werts
für Joe, Sandra und Thomas: bei Joe drückt die null aus, dass es keinen Wert für die
Haarfarbe gibt, bei Sandra, dass die Haarfarbe unbekannt ist und bei Thomas, dass
unbekannt ist, ob es einen Wert für die Haarfarbe gibt. Mit diesen Erweiterungen
werden wir uns hier aber nicht beschäftigen.
10
SS 2007, Gunar Fiedler, ISE@CAU
Herunterladen