Vorbereitungskurs zu "Grundbegriffe der Theoretischen Informatik"

Werbung
Formale Methoden 2
Gaetano Geck
Lehrstuhl I – Logik in der Informatik
WS 2015/2016
Teil 2: Logik
1
Prädikatenlogik (Einleitung)
2
Aussagenlogik
3
Prädikatenlogik (Fortsetzung)
Einleitung
Strukturen und Signaturen
Syntax
Semantik
Eigenschaften
Logik / Prädikatenlogik (Fortsetzung)
Einleitung
Wir haben in Kapitel 1 mit den funktionsfreien Formeln bereits
ein wichtiges Fragment der Prädikatenlogik betrachtet.
Dabei haben wir
jeweils eine konkrete Datenbank D = (U, R1 , . . . , Rn ) betrachtet, wobei
• U ein endliches Universum und
• R1 , . . . , Rn endliche Relationen sind;
Diese Einschränkungen
waren durch die Datenbanktheorie motiviert;
werden in der Prädikatenlogik fallen gelassen, um
• mehrere (alle) möglichen erfüllenden Strukturen („Datenbanken“)
betrachten zu können;
• um insbesondere Fragestellungen der Mathematik zu modellieren,
etwa der Arithmetik (unendliches Universum N0 ).
FM2 (WS 2014/15, Geck)
41
Logik / Prädikatenlogik (Fortsetzung)
Strukturen (1/2)
Wir verallgemeinern zunächst das Konzept der relationalen Datenbank:
Definition 3.1 (Struktur)
Eine Struktur A ist ein Tupel (A, R1 , . . . , Rk , f1 , . . . , f` , c1 , . . . , cm ), wobei
A eine nichtleere (möglicherweise unendliche) Menge ist, genannt Universum;
R1 , . . . , Rk Relationen (beliebiger Stelligkeit) über A sind;
fi : Aki ! A eine totale Funktion (der Stelligkeit ki > 0) ist, für jedes i 2 {1, . . . , `};
c1 , . . . , cm Konstanten genannte Element von A sind.
Beispiel 3.2 (Natürliche Zahlen mit Addition und Multiplikation)
Struktur (N0 , add, mul, eadd , emul )
zweistelliger Abbildung add : N0 ⇥ N0 ! N0 mit add(a, b) = a + b, für alle a, b 2 N0 ;
zweistelliger Abbildung mul : N0 ⇥ N0 ! N0 mit mul(a, b) = a · b, für alle a, b 2 N0 ;
Konstante eadd = 0 2 N0 ;
Konstante emul = 1 2 N0 .
FM2 (WS 2014/15, Geck)
42
Logik / Prädikatenlogik (Fortsetzung)
Strukturen (2/2)
Zur Erinnerung:
Definition 3.1 (Struktur)
Eine Struktur A ist ein Tupel (A, R1 , . . . , Rk , f1 , . . . , f` , c1 , . . . , cm ), wobei
A eine nichtleere (möglicherweise unendliche) Menge ist, genannt Universum;
R1 , . . . , Rk Relationen (beliebiger Stelligkeit) über A sind;
fi : Aki ! A eine totale Funktion (der Stelligkeit ki > 0) ist, für jedes i 2 {1, . . . , `};
c1 , . . . , cm Konstanten genannte Element von A sind.
Beispiel 3.3 (Ganze Zahlen mit Vorgänger, Nachfolger)
Struktur (Z, ⇡, , c) mit
einstelliger Abbildung ⇡ : Z ! Z mit ⇡(a) = a
einstelliger Abbildung
Konstante c = 0 2 Z.
1 für alle a 2 Z;
: Z ! Z mit (a) = a + 1 für alle a 2 Z;
Bemerkung: Konstanten können als nullstellige Abbildungen aufgefasst werden, etwa
f0 : {()} ! N0 mit () 7! 0,
f1 : {()} ! N0 mit () 7! 1.
FM2 (WS 2014/15, Geck)
43
Logik / Prädikatenlogik (Fortsetzung)
Signaturen
Formeln sollen sich auf Strukturen beziehen.
Eine Struktur gibt den Symbolen in der Formel Bedeutung
(Relationssymbole, Funktionssymbole, Konstantensymbole)
Definition 3.4 (Signatur)
Die Signatur Sign(') ist die Menge der in ' vorkommenden Relations-, Funktions- und
Konstantensymbole.
Konvention
Relationssymbole sind Großbuchstaben (P, Q, R, R1 , R2 , R3 , . . . )
Funktionssymbole sind Kleinbuchstaben aus der Mitte des Alphabets (f , g, h; f1 , f2 , f3 , . . . )
Konstantensymbole sind Kleinbuchstaben vom Anfang des Alphabets (a, b, c; c1 , c2 , c3 , . . . )
Abweichungen müssen erwähnt werden!
Beispiel 3.5
⇣
⌘
Sign R(c1 , y) ^ S(y, c2 ) = {R, S, c1 , c2 }
⇣
⌘
Sign 8x R(x, y) ^ S(f (g(x, a1 , c2 ))) = {R, S, f , g, a1 , c2 }
FM2 (WS 2014/15, Geck)
44
Logik / Prädikatenlogik (Fortsetzung)
Prädikatenlogik: Syntax
Die Menge der Terme ist induktiv definiert:
Definition 3.6 (Prädikatenlogischer Term)
Die Menge PT(S) für eine Signatur S ist die kleinste Menge, für die gilt:
jede Variable x, y, z; x1 , x2 , x3 , . . . ist in PT(S);
jedes Konstantensymbol aus S ist in PT(S);
für jedes k-stellige Funktionssymbol und alle Terme ⌧1 , . . . , ⌧k 2 PT(S) ist
f (⌧1 , . . . , ⌧k ) 2 PT(S).
Bemerkung: Ein Term repräsentiert also (direkt oder indirekt) ein Element des Universums.
Wir verallgemeinern Definition 1.5:
Definition 3.7 (Relationsatom)
Sei S eine Signatur mit einem Relationssymbol R der Stelligkeit k.
Dann ist R(⌧1 , . . . , ⌧k ) ein Relationsatom über S, falls ⌧1 , . . . , ⌧k 2 PT(S).
Definition 3.8 (Prädikatenlogische Formel)
Eine prädikatenlogische Formel über einer Signatur S ist eine Formel, die sich gemäß
Definition 1.9 (Boole’sche Konnektoren ¬, ^, _) und
Definition 1.16 (Quantoren 8, 9)
über Relationsatomen aus PT(S) bilden lässt.
FM2 (WS 2014/15, Geck)
45
Logik / Prädikatenlogik (Fortsetzung)
Prädikatenlogik: Semantik (1/3)
Definition 3.9
Eine (prädikatenlogische) Interpretation I = (A, ) besteht aus
einer Struktur A = (A, R1 , . . . , Rk , f1 , . . . , f` , c1 , . . . , cm ) und
einer Abbildung
: V ! A, genannt Belegung.
Eine Interpretation I = (A, ) heißt passend zu einer Formel ', falls
die Struktur A alle Relations-, Funktions- und Konstantensymbole definiert und
für jede freie Variable (Blatt 3) von ' definiert ist.
Da Terme Elemente des Universums einer Struktur indirekt bezeichnen können,
müssen wir definieren, welches Element gemeint ist:
Definition 3.10 (Wert eines Termes)
Der Wert [[⌧]]I eines Terms ⌧ 2 PT(S) ist induktiv definiert:
[[x]]I = (x), falls ⌧ = x für eine Variable x 2 V ;
[[c]]I = cA , falls ⌧ = c ein Konstantensymbol ist;
[[f (⌧1 , . . . , ⌧k )]]I = f A [[⌧1 ]]I , . . . , [[⌧k ]]I , falls f ein Funktionssymbol ist.
Notation:
Wir schreiben RA , f A und cA für die Relation, die Funktion, die Konstante,
welche durch die Struktur A definiert wird,
um sie von dem Relations-, Funktions-, Konstantensymbol,
welches im Term ⌧ verwendet wird, zu unterscheiden.
FM2 (WS 2014/15, Geck)
46
Logik / Prädikatenlogik (Fortsetzung)
Prädikatenlogik: Semantik (2/3)
Beispiel 3.11 (Natürliche Zahlen mit Addition und Multiplikation)
Struktur AN0 = (N0 , add, mul, eadd , emul )
zweistelliger Abbildung add : N0 ⇥ N0 ! N0 mit add(a, b) = a + b, für alle a, b 2 N0 ;
zweistelliger Abbildung mul : N0 ⇥ N0 ! N0 mit mul(a, b) = a · b, für alle a, b 2 N0 ;
Konstante eadd = 0 2 N0 ;
Konstante emul = 1 2 N0 .
Aufgabe
Bestimme den Wert folgender Terme unter der Struktur AN0 :
eadd
add(emul , emul )
⇣
⌘
mul add(emul , emul ), add add(emul , emul ), add(emul , emul )
FM2 (WS 2014/15, Geck)
47
Logik / Prädikatenlogik (Fortsetzung)
Prädikatenlogik: Semantik (3/3)
Der Wahrheitwert einer prädikatenlogischen Formel ist analog zum Wahrheitswert einer
funktionsfreien Formel definiert:
Definition 3.12 (Wahrheitswert)
Sei ' eine prädikatenlogische Formel und I = (A, ) eine zu ' passende Interpretation.
Dann gilt
[[']]I = 1, falls ' = Ri (⌧1 , . . . , ⌧k ) und ([[⌧1 ]]I , . . . , [[⌧k ]]I ) 2 RA
i , und
[[']]I = 0, falls ' = Ri (⌧1 , . . . , ⌧k ) und ([[⌧1 ]]I , . . . , [[⌧k ]]I ) < RA
i ;
[[']]I = 1
[[ ]]I , falls ' = ¬ ;
[[']]I = min [[
1 ]]I , [[ 2 ]]I
, falls ' = (
1
[[']]I = max [[
1 ]]I , [[ 2 ]]I
, falls ' = (
1
^
_
2 );
2 );
[[']]I = 1, falls ' = 9x und [[ ]]I 0 = 1 für ein c 2 A und I 0 = (A, [x7!c] ), und
[[']]I = 0, falls ' = 9x und [[ ]]I 0 = 0 für jedes c 2 A und I 0 = (A, [x7!c] );
[[']]I = 1, falls ' = 8x und [[ ]]I 0 = 1 für jedes c 2 A und I 0 = (A, [x7!c] ), und
[[']]I = 0, falls ' = 8x und [[ ]]I 0 = 0 für ein c 2 A und I 0 = (A, [x7!c] );
FM2 (WS 2014/15, Geck)
48
Logik / Prädikatenlogik (Fortsetzung)
Prädikatenlogik: Eigenschaften (1/2)
Definition 3.13
Sei ' eine prädikatenlogische Formel, dann heißt '
erfüllbar, wenn es eine passende erfüllende Interpretation für sie gibt;
unerfüllbar, wenn es keine passende erfüllende Interpretation für sie gibt;
allgemeingültig oder Tautologie,
wenn jede zu ihr passende Interpretation erfüllend ist.
Beispiel 3.14
Die Formel ' = 8xR x, f (x)
erfüllbar, etwa durch I1 = (A1 , ) mit
• A1 = ({0, 1, 2}, RA1 ) für RA1 = {(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)} und
• Funktion f A1 mit f A1 (0) = 2, f A1 (1) = 1 und f A1 (2) = 2.
nicht allgemeingültig, da etwa I2 = (A2 , )
• A2 = ({0, 1, 2}, RA2 ) für RA2 = {(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)} und
• Funktion f A2 mit f A2 (0) = 0, f A2 (1) = 0 und f A2 (2) = 2.
nicht erfüllend ist.
Hierbei ist
FM2 (WS 2014/15, Geck)
: V ! {0, 1, 2} nirgends definiert (' enthält keine freien Variablen).
49
Logik / Prädikatenlogik (Fortsetzung)
Prädikatenlogik: Eigenschaften (2/2)
Ebenso lässt sich die semantische Implikation/Äquivalenz verallgemeinern:
Definition 3.15
Seien ' und
prädikatenlogische Formeln und
eine Menge prädikatenlogischer Formeln.
Die Formel ' ist äquivalent zu (Notation: ' ⌘ ),
falls [[']]I = [[ ]]I für jede zu ' und passende Interpretation I gilt.
Die Formelmenge
die zu
impliziert , falls jede Interpretation,
und jeder Formel in
die für jede Formel in
auch die Formel
Wir schreiben dann
passt und
erfüllend ist,
erfüllt.
|= .
Beispiel 3.16
Es gelten etwa die folgenden Äquivalenzen, für beliebige Formel ', :
¬8x ⌘ 9x¬
¬9x ⌘ 8x¬
8x8y ⌘ 8y8x
9x9y ⌘ 9y9x .
FM2 (WS 2014/15, Geck)
50
Herunterladen