Logik für Informatiker

Werbung
Logik für Informatiker
Mario Lipinski <[email protected]>
Wintersemester 2004/2005
Dozent: Sándor Fekete
E-Mail: [email protected]
Mailing-Liste: → Anmeldung über Webseite
Webseite: http://www.math.tu-bs.de/ fekete
Zur Vorlesung: http://www.math.tu-bs.de/ fekete/logik.html
Übungsgruppen: Eintragen in Liste
Einteilung kommt auf Webseite
Klausurtermin: Samstag, 12. Februar, 12-15 Uhr
Literatur: Mathematische Logik Tuschik/Wolter
Mehr Hinweise auf Webseite!
2
Inhaltsverzeichnis
0 Vorspann: Ein logisches Problem
1 Aussagenlogik
1.1 Logische Ausdrücke, logischer Syntax
1.2 Semantik . . . . . . . . . . . . . . .
1.4 Normalformen . . . . . . . . . . . . .
1.2 Semantik . . . . . . . . . . . . . . .
1.3 Schlussregeln . . . . . . . . . . . . .
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
11
15
17
2 Prädikatenlogik
2.1 Strukturen und Relationen . . . . . . . . . . . .
2.2 Elementare Sprachen . . . . . . . . . . . . . . . .
2.2.1 Grundbestandteile elementarer Sprachen .
2.2.2 Terme . . . . . . . . . . . . . . . . . . . .
2.2.3 Prädikative oder auch atomare Ausdrücke
2.2.4 Ausdrücke oder Formeln . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
28
28
30
30
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Entscheidbarkeit elementarer Theorien
41
4.1 Berechenbare Funktion . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Rekursiv-auszählbarkeit und Entscheidbarkeit . . . . . . . . . . . 47
4.3 Entscheidbarkeit der Zahlentheorie . . . . . . . . . . . . . . . . . 50
4.3.1 Noch einmal logisches Ableiten: Einige folmale Ableitungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4 Der Gödelsche Unvollständigkeitssatz . . . . . . . . . . . . . . . . 53
3
Kapitel 0
Vorspann: Ein logisches
Problem
Gegeben: Eine Zeichenkette, Umformungsregeln, eine Zielkette
Gesucht: Eine Herstullgsmethode für die Zielkette
Konkret: Gegeben das Wort “M I”
Regeln:
Regel I: Wenn xI ein Wort ist, das wir schon haben (dabi ist x eine beliebige
Zeichenkette), dann dürfen wir daraus das Wort xIU bauen.
Regel II: Wen M x ein vorhandenes WOrt ist, dann dürfen wir daraus M xx bauen
(x ist wieder beliebige Zeichenfolge)
Regel III: Wenn xIIIy ein vorhandenes Wort ist, dann dürfen wie daraus xU y bauen.
(x, y bel. Zeichenketten)
Regel IV: Wenn xU U y ein vorhandenes Wort ist, dann dürfen wie daraus xy bauen.
(x, y bel. Zeichenketten)
Beispiel: M I →2 M II →2 M IIII →3 M U I
M I →1 M IU →2 M U IU I
Aufgabe: Kontruiere M U
Logik betrachtet u.a. ähnliche formale Systeme
4
Kapitel 1
Aussagenlogik
1.1
Logische Ausdrücke, logischer Syntax
Beispiel: “Wenn Kerry nicht in Ohio bei 200000 ausstehenden Stimmen 120000
Stimmen gut macht und Bush Iowa, Nevada oder New Mexiko gewinnt, dann
ist Bush widergewählt.”
Logisch zergliedert:
K: “Kerry holt in Ohio bei 200000 ausstehenden Stimmen mindestens 120000
mehr als Bush.”
K 0 : “Kerry holt in Ohio mindestens 160000 von 200000 ausstehenden Stimmen”
B1 : “Bush gewinnt in Iowa”
B2 : “Bush gewinnt in Nevada”
B3 : “Bush gewinnt in New Mexiko”
Wenn ((nicht K 0 ) und (B1 oder B2 oder B3 )) dann (Bp )
Bp : Bush widergewählt
Etwas formaler:
(¬K 0 ∧ (B1 ∨ B2 ∨ B3 )) → Bp
Zunächst betrachten wir logischen Syntax!
Syntax: Formale Regeln der Sprache, d.h. Einhaltung der Bildungsregeln von
Zeichenketten.
Zeichenketten: Inhaltliche Bedeutung einer Sprache (bzw. sprachlichen Aussage), insbesondere Wahrheitsgehalt
Äquivalente Aussage, andersherum betrachtet:
¬Bp → (K 0 ∨ ((¬B1 ) ∧ (¬B2 ) ∧ (¬B3 )))
Diese Art der Umformung geht in die Semantik hinein.
Box 1: Aussagenkalkül (d.h. rein formale Beschreibung der Zeichenketten,
die man Bilden darf)
(1) Verwendete Zeichen
(a) logische Variablen p1 , p2 , p3
5
(b) Verbindende logische Zeichen (“Konnektoren”)
¬ (Bedeutung: “nicht”)
∧ (Bedeutung: “und”)
∨ (Bedeutung: “oder”)
→ (Bedeutung “folgt”, bzw. “Wenn ... dann ...”)
↔” (Bedeutung: “äquivalent”, bzw. “... genau dann, wenn ...”)
(c) Strukturzeichen: (, )
(2)
[...] Klammern in logischen Formeln
1. Außeklammern kann man weglassen
2. ¬ stärker als ∧ und ∨.
3. ∧ und ∨ stärker als → und ↔
Beispiel ((p ∧ q) → ((¬r) ∨ s)) Hier kann man stufenweise alle Klammern weglassen!
Klammerebene 1 wg. Regel (1)
Klammerebene 2 wg. Regel (3)
Klammerebene 3 wg. Regel (2)
Noch eine Bezeichnung:
Wenn ϕ eine Formel ist, dass ist V (ϕ) die Menge aller vorkommenden Variablen.
1.2
Semantik
Wie schon erläutert: Semantik beschäftigt sich mit der Bedeutung von Aussagen
(also dem ”Inhalt”), d.h. dem Wahrheitsgehalt.
Dafür betrachtet man ”Belegungen” der Variablen mit logischen Wahrheitswerten:
• WAHR oder 1
• FALSCH oder 0
Hier bleiben wir bei diesen beiden Möglichkeiten, d.h. wir betrachten zweiwertige Logik. (Mehrwertig wäre z.B.
• WAHR 1
• FALSCH 0
• WEISSNICH X
)
Hat man eine logische Formel, z.B.
(p ∧ q) ∨ r,
so ergibt sich der Wahrheitswert der ganzen Formel aus einer Belegung der
Variablen:
z.B. p = 1
6
q=1
r=0
So ergibt sich
(1 ∧ 1) ∨ 0
d.h.
1∨0
d.h.
1
, d.h. die Formel ist erfüllt.
2: Belegungen
Für eine Formel ϕ und die Menge V (ϕ) der Variablen ist eine Belegung eine
Abbildung
F : V (ϕ) → {0, 1}.
(Also: Wähle für jede Variable einen Wert!)
Uns interessiert der resultierende Wahrheitswert!
Für eine Belegung F (ϕ) von ϕ schreiben wir F ∗ (ϕ) für den resultierenden
Wahrheitswert.
Dieser lässt sich folgendermaßen rekursiv festlegen:
(a) Für eine Aussagenvariable p ist
F ∗ (p) = F (p)
(D.h. Formeln die nur aus einer einzigen Variablen bestehen, bekommen
gerade den Wahrheitswert, den man hineingelegt hat.)
(b) Für zusammengesetztes ϕ bekommt man F ∗ (ϕ) rekursiv durch folgende
Regeln:
(i) F ∗ (¬ψ) = 1 − F ∗ (ψ) (Verneinung)
(ii) F ∗ (ψ ∧ χ) = min{F ∗ (ψ), F ∗ (χ)} (“UND”gibt WAHR, wenn beide
Teile WAHR sind)
(iii) F ∗ (ψ ∨ χ) = max{F ∗ (ψ), F ∗ (chi)} (”ODER” ist WAHR, wenn einer
der beiden Teile WAHR ist.)
(iv) F ∗ (ψ → χ) = max{1 − F ∗ (ψ), F ∗ (χ)} = F ∗ (6= ψ ∨ χ)) (”Folgerung”
ist WAHR wenn Voraussetzung FALSCH oder Folge WAHR.)
1 falls F ∗ (ψ) = F ∗ (χ)
∗
(v) F (ψ ↔ χ) =
0 sonst
Sprechweisen:
(1) F ∗ (ϕ) ist (Wahrheits-)Wert von ϕ bei Belegung F .
(2) F erfüllt ϕ, wenn F ∗ (ϕ) = 1
(3) F ∗ (ϕ) = 1 → F |= ϕ
F ∗ (ϕ) = 0 → F 6|= ϕ
(4) ϕ erfüllbar, wenn es eine Belegung F gibt, so dass F ∗ (ϕ) = 1 ist.
7
(5) ϕ nicht erfüllbar, wenn für alle Belegungen F
F ∗ (ϕ) = 0
ist; dann nennt man ϕ ”widersprüchlich”, oder eine ”Kontradiktion”.
(6) Wird ϕ durch jede Belegung erfüllt, so ist ϕ “allgemeingültig”, oder auch
eine “ Tautologie”.
Exkurs: Algorithmische Aspekte zwei Probleme:
PROBLEM “Logisches Einsetzen”
GEGEBEN: Eine aussagenlogische Formel ϕ eine Wahrheitsbelegung F
GESUCHT: F ∗ (ϕ)
Beobachtung: Das Problem ist ziemlich leicht polynomiell lösbar.
PROBLEM “Logische Erfüllbarkeit”
GEGEBEN: Eine aussagenlogische Formel ϕ
GESUCHT: Eine ϕ erfüllende Wahrheitsbelegung, falls es eine gibt.
Satz: (Cook 1971): Dieses Problem ist NP-vollständig.
Satz 1.1’: “Logisches Einsetzen” hat einen endlichen Algorithmus.
Satz 1.2’: “Logische Erfüllbarkeit” hat einen endlichen Algorithmus.
Beweis von Satz 1.2’: Probiere (bei n Variablen) alle 2n möglichen Belegungen aus.
(Kommentar: Dieser Algorithmus ist sehr langsam, denn die Laufzeit wächst
exponentiellmit der Problemgröße.)
Satz von Cook besagt: Polynomiell geht es wahrscheinlich nicht!
Box 3: Wahrheitsfunktionen
Berechnung bzw. Beschreibung in Tabellenform:
p ¬p
0
1
1
0
p q p∧q p∨q p→q p↔q
0 0
0
0
1
1
0 1
0
1
1
0
1 0
0
1
0
0
1 1
1
1
1
1
Beispiel 3: ϕ := [p → (q → r)] → [(p → q) → (p → r)] mit ψ := p → (q → r)
χ := (p → q) → (p → r)
0 0 0 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1
0 1 0 0 1 1 1 1 1
0 1 1 1 1 1 1 1 1
1 0 0 1 1 0 0 1 1
1 0 1 1 1 0 1 0 1
1 1 0 0 0 1 0 1 1
1 1 1 1 1 1 1 1 1
Einsetzen von logischen Ausdrücken:
Sei ϕ ein Asudruck mit Variablen p1 , . . . , pn , seien ϕ1 , . . . , ϕn Ausdrücke.
Mit ϕ(p1 /ϕ1 , . . . , pn /ϕn ) bezeichnet man den Ausdruck, den man bekommt,
wenn man jede Variable pi durch Ausdruck ϕ1 ersetze.
Kurzform: ϕ[ϕ1 , . . . , ϕn ]
8
Beispiel: ϕ = (p1 ∧ p2 )
ϕ1 = (q1 → q2 )
ϕ2 = (q2 → q3 )
Dann ist ϕ[ϕ1 , ϕ2 ] = ((q1 → q2 ) ∧ (q2 → q3 ))
Beobachtung:
Satz 1.3: Ist ϕ(p1 , . . . , Pn ) eine Tautologie, sind ϕ1 , . . . , ϕn beliebige Ausdrücke.
Dann ist auch ϕ[ϕ1 , . . . , ϕn ] eine Tautologie.
Beweisskizze Da ϕ Tautologie ist und für jede Kombination von Wahrheitswerten F ∗ (ϕ1 ), . . . , F ∗ (ϕn ) auch ϕ(F ∗ (ϕ1 ), . . . , F ∗ (ϕn )) für jede Belegung F
wahr, d.h. ϕ[ϕ1 , . . . , ϕn ] ist Tautologie.
Wichtige Tautologien:
(1) p ∨ ¬p
(2) (p → q) ∧ (q → r) → (p → r)
(3) (p → q) ∧ (p → r) → (p → q ∧ r)
(4) (p → q) ∧ (q → p) → (p ↔ q)
(5) (¬q → ¬p) → (p → q)
(6) (¬p → q) ∧ (¬p → q) → p
Besonderheiten: Tautologien von Typ ϕ ↔ ψ. `‘ϕ und ψ sind logisch äquivalent.”
Schreibweise: ϕ ≡ ψ
Interpretation: Logisch durcheinander ersetzbar, “wertverlauf gleich”.
Box 4: Wichtige Äquivalenzen
(1) Assoziativität
ϕ ∧ (ψ ∧ χ) ≡ (ϕ ∧ ψ) ∧ χ
(Nachweis: p ∧ (q ∧ r) ≡ (p ∧ q) ∧ r, ist Tautologie, dazu Satz 1.3!)
ϕ ∨ (ψ ∨ χ) ≡ (ϕ ∨ ψ) ∨ χ
(2) Kommutativität
ϕ∧ψ ≡ψ∧ϕ
ϕ∨ψ ≡ψ∨ϕ
ϕ↔ψ≡ψ↔ϕ
(3) Distributivität
ϕ ∧ (ψ ∨ χ) ≡ (ϕ ∧ ψ) ∨ (ϕ ∧ χ)
ϕ ∨ (ψ ∧ χ) ≡ (ϕ ∨ ψ) ∧ (ϕ ∨ χ)
ϕ → (ψ ∧ χ) ≡ (ϕ → ψ) ∧ (ϕ → χ)
ϕ → (ψ ∨ χ) ≡ (ϕ → ψ) ∨ (ϕ → χ)
9
(4) Idempotenz
ϕ∧ϕ≡ϕ
ϕ∨ϕ≡ϕ
(5) Negation
¬(¬ϕ) ≡ ϕ
¬(ϕ ∧ ψ) ≡ ¬ϕ ∨ ¬ψ
¬(ϕ ∨ ψ) ≡ ¬ϕ ∧ ¬ψ
¬(ϕ → ψ) ≡ ϕ ∧ ¬ψ
¬(ϕ ↔ ψ) ≡ (ϕ ∧ ¬ψ) ∨ (¬ϕ ∧ ψ)
(6) Definierbarkeit
ϕ ∧ ψ ≡ ¬(¬ϕ ∨ ¬ψ)
ϕ ∨ ψ ≡ ¬(¬ϕ ∧ ¬ψ)
ϕ → ψ ≡ ¬ϕ ∨ ψ
ϕ ↔ ψ ≡ (ϕ → ψ) ∧ (ψ → ϕ)
A) Sind zwei Dinge einem dritten Gleich, so sind sie einander gleich.
B) Die zwei Seiten dieses Dreiecks sind einer weiteren gleich.
Z) Die zwei Seiten dieses Dreiecks sind einander gleich.
C) Wenn A und B wahr sind, muss Z wahr sein.
D) Wenn A und B und C wahr sind, muss Z wahr sein.
E) Wenn A und B und C und D wahr sind, muss Z wahr sein.
Definitionen: Σ Menge von Ausdrücken
F heißt Realisierung von Σ : ∀ϕ ∈ Σ : F ∗ (ϕ) = 1
Schreibweise F |= Σ
Σ ist widerspruchsfrei ⇔ Σ besitzt Realisierung. Sonst Σ widerspruchsvoll.
ϕ folgt aus Σ (geschrieben Σ |= ϕ), wenn für jede Realisiertung F von Σ
gilt:
F |= ϕ
Menge aller Forderungen aus Σ: “Deduktiver Abschluss”, Abkürzung Ded(Σ)
p→q
p:
(1) Ich schreibe meinen Namen nicht auf abgegebene Übungsblatt.
(2) Falscher Kasten
(3) Nicht getackert
q:
(1) Ich bekomme keine Punkte.
10
(2) Zuordnung problematisch
(3) Keine komplette Bepunktung
4. Stock Forumsgebäude, Gangende Liftseite
--------------------|
|
|
|
|
|
--------------------===========================
||
||
||
||
||
||
p(4): Abgabe nicht im Kasten, nach 945
q(4): Keine Punkte.
1.4
Normalformen
Beobachtungen:
(1) Zur übersichtlichen und systematischen Behandlung von logischen Ausdrücken ist es zweckmäßig, sich auf mög-lichst einfach und einheitlich
struckturierte Ausdrücke zu beschränken.
(2) Man kommt weniger als 5 Konnektoren aus!
z.B. kann man (ϕ ↔ ψ)
ersetzen durch (φ → ψ) ∧ (ψ → ϕ)
Ähnlich geht das auch für →.
(ϕ → ψ) ≡ (¬ϕ ∨ ψ)
Damit kann man jeden logischen Ausdruck durch einen gleich-wertigen
ersetzen, der nur die Konnektoren ¬, ∨, ∧ verwendet.
Besondere Form:
verneinungstechnische Normalform (vNF):
Nur Konnektoren ¬, ∨, ∧, Verneinung nur direkt vor Variablen.
Formale Grundlage für all diese Ersetzungen:
Satz 1.28 (Ersetzbarkeitssatz)
Wenn man in einem Ausdruck ϕ1 einen Teilausdruck χ1 , durhc einen logisch
gleichwertigen Teilasudruck ersetzt, dann ist der entstehende Ausdruck ϕ2 äquivalent zu ϕ1 .
Satz 1.29
Jeder Ausdruck ist logisch äquivalent zu einem Ausdruck in vNF.
(Beispiel: ϕ := (p → q) → (¬q → ¬p)
Vorgehensweise:
(1) ¬(¬p ∨ q) ∨ (¬(¬q) ∨ ¬p)
(2) (¬(¬p) ∧ ¬q)) ∨ (¬(¬q) ∨ ¬p)
(Ersetze →)
(Negation ausführen)
11
(3) (p ∧ ¬q) ∨ (q ∨ ¬p)
(Weglassen von ¬¬)
Beweis von 1.29:
Wir beschränken uns auf Ausdrücke, die nur ¬, ∧, ∨ enthalten. Vorgehen per
Induktion über die Länge des Ausdrucks.
Induktionsanfang: ϕ Variable: klar!
Induktionsschriitt: ϕ muss die Form
ψ ∧ χ,
ψ∨χ
oder
¬ψ
haben, wobei ψ und χ kürzer sind, lassen sich also äquivalent duch ψ 0 bzw. χ0
in vNF ersetzen.
Dann sind ψ 0 ∧ χ0 bzw. ψ 0 ∨ χ0 bereits bereits in vNF → fertig!
Also bliebt zu betrachten:
ϕ = ¬ψ 0
Dann betrachte:
(a) ψ 0 ist Variable → fertig, vNF!
(b) ψ 0 ist Verneinung einer Variablen, d.hj.d ϕ = ¬(¬p) Dann kann man ϕ
durch p ersetzen → fertig!
(c) ψ 0 = (ψ1 ∨ ψ2 ), d.h. ϕ = ¬(ψ1 ∨ ψ2 ) Dann ersetze ¬ψ 0 durch
(¬ψ1 ∧ ¬ψ2 )
und ¬ψ1 bzw. ¬ψ2 sind kürzer als ϕ, also auch durch vNF-Ausdrücke
ψ10 , ψ20 ersetzbar, also (ψ10 ∧ ψ20 ) → fertig.
(d) Wie (c), verwende ¬(ψ1 ∧ ψ2 ) ≡ (¬ψ1 ∨ ¬(ψ1 ∨ ¬ψ2 )
2
Noch eine speziellere Normalform:
Kontext in Komplexitätstheorie
Problem SAT (Satisfiability)
GEGEBEN: Ausdruck (p ∨ q ∨ r) ← Klausel
∧ (¬p ∨ ¬s¬t) Klausel
∧ (|{z}
. . . Alternative von Variablen oder verneinten Variablen ) Klausel in kon-
junktiver Normalform (KNF oder englisch CNF)
GESUCHT: Erfüllende Wahrheitsbelegung, falls existent!
Beobachtung: SAT ist ein kniffliges Problem
Präzisierung: (Cook 1971) SAT ist NP-vollständig, d.h. vermutlich nicht
schnell durch herkömmliche Computer lösbar.
Möglicher Ausweg: Dedizierte Hardware!
(p ∨ q ∨ ¬s) ∧ (¬p ∨ r) ∧ (r ∨ s) ∧ (¬q ∨ ¬s ∨ ¬r) ∧ (¬r ∨ s)
12
p = 1, q = 0, r = 1, s = 1
p = 0, q = 1, r = 0, s = 1
Konjunktive Normaform: ϕ hat die Form ∧ni=1 ϕi ,
wobei jedes ϕi die Form
i
∨m
ji =1 lji
hat, mit lji (“Lieteral”) Variable oder verneinte Variable.
Satz 1.30
(1) Jeder logische Ausdruck ist äquivalent zu einem Ausdruck in CNF.
(Beispiel: (p → q) → (¬q → ¬p)
übersetzt in
(3)(p ∧ ¬q) ∨ (q ∨ ¬p)
mit Distributivität:
(4)(p ∨ q ∨ ¬p) ∧ (¬q ∨ q ∨ ¬p)
Aufgabe 4 (a) Beweisen Sie, dass folgender Ausdruck eine Tautologie ist:
(p → (q → r)) → ((p → q) → (p → r))
Möglichkeit 1: (“Brutales Einsetzen”)
8 Möglichkeiten!
Der Reihe nach:
p = 0, q = 0, r = 0 → Einsetzen: (0 → (0 → 0)) → ((0 → 0) → (0 → 0))
= (0 → 1) → (1 → 1)
= (1 → 1)
=1
Möglichkeit 2: Versuche zu zeigen, dass sich die Formel nicht durch Einsetzen
zu FALSCH bekommen lässt!
Also: Wie kann man am Schluss eine 0 bekommen?
Dafür müsste (p → (q → r)) = 1 und ((p → q) → (q → r)) = 0 sein,
also (p → q) = 1 und (p → r) = 0.
Daher müsste p = 1, r = 0 sein.
Wegen (p → q) = 1 muss q = 1 sein.
Mit dieser Belegung ergibt sich aber (p → (q → r)) = 0, d.h. die Formel ist
trotzdem WAHR.
Aufgabe (1) (a) Wenn die Sonne scheint, ist Susi gut gelaunt. Wenn es regnet,
scheint nie die Sonne. Folgt daraus, dass Susi nicht gut gelaunt ist, wenn es
regnet?
Formeltechnisch: p: Die Sonne scheint.
q: Susi ist gut gelaunt
r: Es regnet.
((p → q) ∧ (r → ¬p)) → (r → ¬q)
Ist das afu jeden Fall wahr, d.h. ist das eine Tautologie?
Nicht erfüllt für q = 1 und geeignetes p, r.
13
(b) Wenn die Sonne scheint, dann regnet es nicht. Wenn Susi gut gelaunt
ist, dann scheint die Sonne. Folgt daraus, dass es nicht regnet, wenn Susi gut
gelaunt ist?
((q → p) ∧ (p → r)) → (q → r)
Spezialfälle logischer Ausdrücke
• Elementarkonjugation:
p1 ∧ p2 ∧ ¬p3 ∧ . . . ∧ pn = ∧ni=1 li
( wobei li = pi oder ¬pi s)
|{z}
• Elementaralternative:
q1 ∨ q2 ∨ . . . ∨ ¬qm−1 ∨ qm = ∨m
oder ¬qj )
j=1 kj ( wobei kj = qj
|{z}
Besondere Normalformen:
• Konjunktive Normalform (KNF, englisch CNF)
Konkunktion von Elementaralternativen,
i
d.h. ∧ni1 (∨m
ij =1 kij )
• Alternative Normalform (ANF)
Alternative von Elementarkonjunktionen,
ni
d.h. ∨m
j=1 (∧ji =1 lij )
Satz 1.30: Normalformen
(1) Jeder Ausdruck ist äquivalent zu einem Ausdruck in CNF.
(2) Jeder Ausdruck ist äquivalent zu einem Ausdruck in ANF.
Beweis: O.B.d.A. sei ϕ in vNF
(1) Induktion über die Länge des Ausdrucks.
Induktionsanfang:
ϕ unnegierte oder negierte Variable → fertig. Ansonsten:
ϕ muss die Form
(a) ϕ = ψ ∧ χ oder
(b) ϕ = ψ ∨ χ
haben.
Nach Induktionsannahme lassen sich ψ und χ ersetzen durch CNF- Ausdrücke ψ 0 bzw. χ0 .
Fall (a): ϕ äquivalent zu ψ 0 ∧ χ0 , udn das ist bereits eine CNF.
Fall (b): ψ 0 und χ0 haben (als CNF-Ausdrücke) die Form
∧ni=1 ψi bzw. ∧m
j=1 χj ,
14
wobei ψi bzw. χj Elementaralternativen sind.
Dann ilt ein allgemeines Distributivgesetz:
n
m
(∧ni=1 ψi ) ∨ (∧m
j=1 χj ) ≡ ∧i=1 ∧j=1 (ψi ∨ χj )
Also ist ϕ äquivalent zu
∧ni=1 ∧m
j=1 (ψi ∨ χj ),
d.h. zu einem Ausdruck in CNF.
(2) geht genau nach dem gelichen Prinzip.
2
Ende von 1.4
Weiter bei
1.2
Semantik
P
Zur Erinnerung: F |=
(“F realisiert Σ”)
P
|= ϕ(“ϕ folgt aus Σ)
Ded(Σ): Menge aller Folgerungen aus Σ.
Satz 1.4
(1) Ded(∅) ist die Menge der Tautologien.
(2) Ist Σ widerspruchsvoll, so ist Ded(Σ) =Menge aller Ausdrücke.
Beweis:
(1) Jede beliebige Belegung erfüllt alle logischen Ausdrücke in ∅. Also erfüllt
die Behauptung.
(2) Keine Belegung ist Realisierung von Σ. Dann gilt aber, dass irgendein
logischer Ausdruck von jeder Belegung erfüllt wird, die Σ realisiert.
2
Satz 1.5 (Hülleigenschaften)
Σ und ∆ beliebige Mengen von Ausdrücken.
Dann gilt
(1) Σ ⊆ Ded(Σ)
(2) Wenn ∆ ⊆ Σ dann Ded(∆) ⊆ Ded(Σ)
(3) Ded(Ded(Σ)) = Ded(Σ)
Beweis:
(1) Sei ϕ ∈ Σ und sei F Realisierung von Σ. Dann ist natürlich F ∗ (ϕ) = 1.
(2) Sei ∆ ⊆ Σ, sei ϕ ∈ Ded(∆), F Realisierung von Σ damit ist auch F ∗ (ϕ) =
1, denn ϕ ∈ Ded(∆).
Also gilt ϕ ∈ Ded(Σ), d.h. Ded(∆) ⊆ Ded(Σ).
15
(3) Wegen Σ ⊆ Ded(Σ) (nach (1)) und (2) gilt
Ded(Σ) ⊆ Ded(Ded(Σ)).
Also noch z.Z.:
Ded(Ded(Σ)) ⊆ Ded(Σ).
Sei also ϕ ∈ Ded(Ded(Σ)), sei F Realisierung von Ded(Σ), d.h. F ∗ (ϕ) = 1.
Betrachten wird ein ψ ∈ Ded(Σ). Da F Ralisierung von Ded(Σ) ist, muss
uach F ∗ (ψ) = 1 sein.
Also gilt für jede Realisierung G von Σ, dass sie auch jedes ψ ∈ Ded(Σ)
erfüllen muss, also gilt auch
G∗ (ϕ) = 1 also ϕ ∈ Ded(Σ)
2
Satz 1.6 (Abtrenungsregel für das Folgern) Wenn Σ |= (ϕ → ψ),
dann Σ ∪ {ϕ} |= ψ
Beweis: Sei Σ |= (ϕ → ψ), F Realisirung von Σ ∪ {ϕ}. Dann ist F auch
Realisierung von Σ, und
ALso muss
1 = F ∗ (ϕ → ψ) = max{1 − F ∗ (ϕ), F ∗ (ψ)}
Außerdem ist F ∗ (ϕ) = 1, also muss 1 = max{0, F ∗ (ψ)} sein, d.h. F ∗ (ψ) = 1.
2
Umkehrung:
Satz 1.7 (Deduktionstheorem für das Folgern)
Sei: Σ Menge von Audrücken, ϕ, ψ Ausdrücke. Es gilt: Wenn Σ ∪ {ϕ} |= ψ,
dann Σ |= (ϕ → ψ).
Beweis: Sei F Realisierung von Σ.
Wir zeigen, dass F den Ausdruck (ϕ → ψ) erfüllt.
1. Fall: F 6|= ϕ d.h. F ∗ (ϕ) = 0, also
F ∗ (ϕ → ψ) = max{1 − F ∗ (ϕ), F ∗ (ψ)} = 1
2. Fall: F |= ϕ, d.hd. F Realisierung von Σ ∪ {ϕ}.
Wegen Σ ∪ {ϕ} |= ψ gilt F ∗ (ϕ) = 1.
Damit gilt F ∗ (ϕ → ψ) = max{1 − F ∗ (ϕ), F ∗ (ψ)} = 1
2
Satz 1.8 (Endlichkeitssatz)
Wenn ϕ aus einer Menge Σ foglt, dann folgt ϕ bereits aus einer englichen Teilmenge von Σ.
Beweis: nicht hier.
Satz 1.9 (Kompaktheitssatz)
“Σ” ist widerspruchsfrei, genau dann, wenn jede endliche Teilmenge widerspruchsfrei ist.
“:” ist klar
“⇐” Mit Satz 1.8!
16
Annahme: Jede enlgiche Teilmenge von Σ sei widerspruchsfrei, d.h. habe eine
Realisierung. Beweis im Rest indirekt!
Also: Angenommen, Σ sei widerspruchsvoll.
Also folgt nach Satz 1.4 aus Σ auch (p ∧ ¬p)
Nach Satz 1.8 existiert eine endliche Teilmenge ∆ ⊆ Σ mit ∆ |= (p ∧ ¬p)
Nach VOrraussetzung besitzt ∆ eine Realisierung F . Wengen ∆ |= (p ∧ ¬p)
ist
F ∗ (p ∧ ¬p) = 1
. Aber F ∗ (p ∧ ¬p) = min{F ∗ (p), 1 − F ∗ (p)} = 1 d.h. F ∗ (p) = 1 und 1 − F ∗ (p) =
1 ⇔ f ∗ (p) = 0E
Daher ist die Annahme falsch, dass Σ widerspruchsvoll ist.
2
ϕ: Jede endliche Teilmenge von Σ ist widerspruchsfrei.
ψ: Σ ist wiederspruchsfrei.
Beweisstruktur: ψ ↔≡ (ψ → ϕ) ∧ (ϕ → ψ)
≡ (ψ → ϕ) ∧ (¬ψ → ¬ϕ)
(und (¬ψ ∧ ϕ) ist wiedersprüchlich)
1.3
Schlussregeln
Idee: Nicht nur die Mengen von Wahrheitsbelegungen überprüfen, sondern systematisch nach gewissen Regeln aus gesicherten Ausdrücken neue gesicherte
Ausdrücke bauen bzw. “ableiten”.
Ausgangspunkte: Sogenannte “Axiome”
Schlussregel: “Modus Ponens” oder “Abtrennungsregel”:
Ist aus Σ sowohl ϕ also auch ϕ → ψ beweisbar, dann ist aus Σ auch ψ beweisbar.
Einfaches Beispiel zum Folgern (d.h. zu Aufgabe 2 von Blatt 3):
Σ = {(p → q), (p → ¬q)}
Wir zeigen Σ |= ¬p
Also nachzuweisen:
Für jede Realisirung F von Σ gilt, dass sie auch (¬p) erfüllt.
p q (p → q) (p → ¬q) ¬p
1
1
1
0 0
1
1
1
Überprüfe die Realisierungen von Σ: 0 1
1 0
0
1
0
1 1
1
0
0
Also sehen wir: Für jede Belegung F die sowohl (p → q) also auch (p → ¬q)
erfüllt, ist auch (¬p) wahr.
Auflösung M U -Rätsel Gegeben:
Axiom: M I
Schlussregeln:
(1) xI ` xIU
(2) M x ` M xx
(3) xIIIy ` xU y
17
(4) xU U y ` xy
Gesucht: Ableitung (“Bauanleitung”) für MU.
M I ` M U I, M U IU I
` M II, M IIU, M IIU IIU
` M IIII, M U I, M U IU, M U IU U IU, M U IIU
` M IIIIIIII
Beobachtung: Irgendwie klappt das nicht....
Genauer: Irgendwie wird man nie alle Is los!
Wie zeigt man das?!
Beweis: Durch Induktion!
Behauptung: Die Zahl der Is ist nie durch 3 Teilbar.
Induktionsanfang: M I hat ein I also richtig. Induktionsschritt: Angenommen,
die Behauptung gilt für alle Wörter, die mir durch höchstens k Bauschritte
konstruieren können, und betrachten wir ein in (k+1) Beuaschitten konstruiertes
Wort. Betrachten wir den (k + 1)-ten Bauschitt. Wenn dieser mit Regel (1) oder
(4) erfolgt ist, hat sich die Zahl der Is nicht geändert.
Wenn die Zahl nach Schritt k nicht durch 3 teilbar war, hat sie Dreierrest 1
oder 2. Regel (2) verdoppelt die Zahl, d.h. wir bbekommen Dreierrest 2 oder 1.
Regel (3) ändert den Dreierrest nicht, er bleibt also 1 oder 2.
2
Schaltalgebra + E-TEchnik (→ Box 5) In E-Technik: Strom fließt: 1, bzw.
WAHR
fliegt nicht: 0, bzw. FALSCH
Aufgabe: Logische Wahrheitswertfunktion mit Schaltkreisen realisieren!
Beispiel: Digitale Ziffernanzeige!
| |
| |
0
1
2
Input Zahlen in Binärform 3
4
..
.
0000
0001
0010
9 1001
Also: für Belegung (1, 0, 0, 1) bekommt man eine 1 für ein leuchtendes
Element eine, eine 0 für ein nicht leuchtendes Element.
18
p1 p2 p3 p 4
abcdef g
0
1
1
0
2
1
3
0
1. Schritt: JEdes einzelne Bit als logischen
4
0
5
0
6
1
7
0
8
1
9
1001
1111011
Ausdruk der Inputbits realisieren.
2. Schritt: Diese jeweiligen Funktionen durch bestimmte Schaltelemete realisieren.
Konkret z.B.: NAND, d.h. (N (p, q) = ¬(p ∧ q)) (→ Zur Erinnerung: p|q :=
¬(p ∨ q))
Inhalt von
1.1: Syntax der Aussagenlogik, d.h. formal korrektes Bauen von Formeln
1.2: Semantik der Aussagenlogik, d.h. Fragen der Wahrheitswerte von Formeln,
inbesondere logisches Folgern
1.3: Formales Beweisen, d.h. nicht Folgern durch Betrachtung der Wahrheitswerte, sondern syntaktisches “Bauen” von wahren Ausdrücken.
Schreibweisen: Σ |= ϕ: Aus Σ folgt ϕ
Σ |= ϕ: Aus Σ kann man ϕ ableiten.
Idee zum Ableiten:
Gegeben:
• Menge Σ
• Schlussregel(n)
ϕ ableitbar aus Σ, wenn mit Ausgangsmenge Σ und mit endlicher Folge von
Anwendung der Schlussregel(n) ϕ kontruiert werden kann.
Bezeichnung auch “Formales Beweisen”
Ein “Beweis” von ϕ aus Σ ist also eine formale Bauanleitung von ϕ aus Σ
mit den Schlussregeln.
Wie sieht Σ aus??!
Das kann eine Menge von konkret gegebenen Ausdrücken sein, oder auch eine
allgemein immer angenommene “Grundausstattung”.
So eine Grundausstattung nennt man in der Mathematik eine Menge von Axiomen.
Ax 1: p → (q → p)
Ax 2: [p → (q → r)] → [(p → q) → (p → r)]
Ax 3: (¬p → ¬q) → (q → p)
Ax 4: (p ∧ q) → p und (p ∧ q) → q
19
Ax 5: (r → p) → ((r → q) → (r → (p ∧ q)))
Ax 6: p → (p ∨ q) und q → (p ∨ q)
Ax 7: (p → r) → ((q → r) → ((p ∨ q) → r))
Das sind die “Axiome des Aussagenkalküls”
Schlussregel: “Modus Ponens” oder “Abtrannungsregel”
Ist aus Σ sowohl ϕ als auch ϕ → ψ formal beweisbar, dann ist aus Σ auch ψ
formal beweisbar.
Vorgehensweise “Ableitung”
Satz 1.11: ϕ → ϕ ist ableitbar
Beweis: Wir geben eine Kette von Schritten aus Axiomen und Schlussregel
an.
(1) In Ax 2 mit p := ϕ
q := ϕ → ϕ
r := ϕ
ergibt sich: ϕ1 := [ϕ → ((ϕ → ϕ) → ϕ)]ϕ[(ϕ → (ϕ → ϕ) → (ϕ → ϕ)]
(2) In Ax 1 mit p := ϕ
und q := ϕ → ϕ
ergibt sich: ϕs := ϕ → ((ϕ → ϕ) → ϕ)
(3) ϕ3 := (ϕ → (ϕ → ϕ)) → (ϕ → ϕ) ergibt sich aus ϕ1 und ϕ2 durch
Anwenden der Schlussregel.
(4) Aus Ax 1 mit p := ϕ, q := ϕ
ergibt sich ϕ4 := (ϕ → (ϕ → ϕ))
(5) ϕ5 := (ϕ → ϕ) ergibt sich aus ϕ3 und ϕ4 durch anwenden der Schlussregel.
2
Definitionen:
• ψ heißt direkte Konsequenz von ϕ und ϕ → ψ
• Endliche Folge (ϕ1 , . . . , ϕn ) heißt Σ-Beweis, wenn gilt
(1) ϕi ist ein Axiom
(2) ϕi gehört zu Σ
(3) ϕi ist direkte Konsequenz von ϕj , ϕk ,
d.h. ϕj := ψ
ϕk := ψ → χ
ϕi := χ
Konsequenzen
Satz 1.12
Abl(Σ) ist Hülloperator, d.h.
(1) Σ ⊆ Abl(Σ)
(2) ∆ ⊆ Σ:Abl(∆) ⊆ Abl(Σ)
20
j, k < i,
(3) Abl(Abl(Σ)) = Abl(Σ)
Satz 1.13
Ist ϕ aus Σ ableitbar, so ist ϕ aus einer endlichen Teilmenge von Σ ableitbar.
Satz 1.15
Wenn Σ ` ϕ,
dann Σ |= ϕ.
Beweis:
Argumentation durch Induktion!
Betrachte einen Σ-Beweis für ϕ, d.h. eine endliche Kette
(ϕ1 , . . . , ϕn )(mit)ϕn := ϕ,
so dass
(1) ϕi ergibt sich aus Axiom
(2) ϕi ist in Σ
(3) ϕi ergibt sich als direkte Konsequenz von früheren ϕj , ϕk .
Zu betrachten: Wahrheitswerte für Realisierung von F von Σ!
Warum ist ϕi ebenfalls wahr für F ?
(1) Alle Axiome sind Tautologien, daher ist F ∗ (ϕ) = 1
(2) Für ϕ ∈ Σ ist nach annahme F ∗ (ϕ) = 1
(3) Hier greift die Induktion über die Kettenlänge, d.h. über n:
ϕn ergibt sich als Konsequenz aus ϕj und ϕk mit j, k < n, für die nach
Induktionsannahme also F ∗ (ϕj ) = F ∗ (ϕk ) = 1 gilt, d.h. F ∗ (ψ) = 1 und
F ∗ (ψ → χ) = 1,
((mit)ϕj := ψϕk := ψ → χϕn := χ )
Also muss F ∗ (χ) = 1, also F ∗ (ϕn ) = F ∗ (ϕ) = 1
2
Satz 1.17
Ist ψ aus Σ ∪ {ϕ} ableitbar,
dann ist ϕ → ψ aus Σ ableitbar.
Semantisch:
Σ widerspruchsfrei: Σ erfüllbar, d.h. es gibt eine Belegung, die für alle Ausdrücke
in Σ “WAHR”’ liefert.
Analoger Begriff für
syntaktisches Beweisen:
“Σ konsistent”
Gegenstück: Σ inkonsitent:
Σ ` ϕ und Σ ` ¬ϕ
Beobachtung:
Wenn Σ inkonsistens ist, dann ist Σ nicht realisierbar.
Argumentation:
Wäre Σ realisierbar, so gäbe es eine Belegung, die alle Ausdrücke in Σ erfüllt,
21
aber auch alle abgeleiteten Ausdrücke.
Also gilt sowohl
F ∗ (ϕ) = 1 als auch F ∗ (¬ϕ) = 1,
{z
}
|
=1−F ∗ (ϕ)
was nicht sein kann.
Satz 1.18
Wenn Σ inkonsistent ist, dann kann man aus Σ jeden belibigen Ausdruck ableiten.
Beweis:
Betrachte irgendeinen Ausdruck ψ. Ist Σ inkonsistent, dann gibt es einen Ausdruck ψ, so dass sowohl Σ ` ϕ als auch Σ ` ¬ϕ ableitbar sind.
Also: (1) Σ ` ϕ
(2) Σ ` ¬ϕ
Dann: (3) Σ ∨ {¬ψ} ` ¬ϕ (Nach Satz 1.12 (2))
(4) Σ ` (¬ψ → ¬ϕ) (Satz 1.17 “Deduktionssatz”)
(5) Σ ` (¬ψ → ¬ϕ) → (ϕ → (ϕ → ψ) Ax 3
(6) Σ ` (ϕ → ψ) Abtrennungsregel auf (4) und (5).
(7) Σ ` ψ Abtrennungsregel auf (1) und (6).
2
Satz 1.19 Σ widerspruchsfrei :Σ konsistent.
Beweis:
Wenn Σ inkonsistent wäre, ließe sich jeder Ausdruck ableiten, insbesondere auch
(p ∧ ¬p). Damit hätte man aber einen aus Σ abgeleiteten Asudruck, der sich
durch keine Belegung erfüllen lässt.
Nach Satz 1.15 ist (p ∧ ¬p) auch durch jede Realisierung von Σ erfüllt. Also
kann es eine Realisierung von Σ geben, d.h. Σ ist widersprüchlich.
Satz 1.20 Wenn Σ ∨ {¬ϕ} inkonsistent ist,
dann gilt Σ ` ϕ.
Wichtiger Begriff:
Σ ist vollständig, wenn für jeden Ausdruck gilt
endweder (Σ ` ϕ) oder Σ ` ¬ϕ
Problem: Im allgemeinen sind Mengen Σ nicht vollständig!
Beispiel: Σ = {Ax1, . . . , Ax7}
ϕ = p ← ist “unabhängig” von Axiomen!
Satz 1.21 (Satz von Lindenbaum)
Jede konsistente Menge Σ lässt sich zu einer vollständigen Menge Σ0 erweitern.
Beweis:
Betrachte Σ abzählbar
(Die Gesamtmenge aller logischen Ausdrücke ist abzählbar!)
Betrachte Aufzählung ϕ1 , ϕ2 , ϕ3 , . . . der Ausdrücke.
Dann baue Σ0 ⊆ Σ1 ⊆ Σ2 ⊆ . . .
wie folgt:
22
(a) Σ = Σ0
(b) Wenn Σn ∪ {ϕn } konsistent, dann Σn+1 = Σ1 ∪ {ϕn }. Sonst Σn+1 = Σn
Behauptung 1: Σn+1 ist konsistent.
(Beweis durch Induktion!)
S∞
Behauptung 2: Σ0 n=0 Σn konsistent.
0
Beweis: Falls Σ inkonsistent, dann gibt eine eine endliche Teilmenge ∆, die
inkonsistent ist. Dann ist aber für eine genügend große Zahl n
∆ ⊆ Σn , im
Widerspruch zu Beh.!
Behauptung 3: Σ0 ist vollständig.
Beweis: Sei ϕ ein Ausdruck. Da alle Ausdrücke aufzählbar sind, besitzt ¬ϕ eine
Nummer k, also
¬ϕ = ϕk .
Ist Σk {ϕk } konsistent, so ist ϕk ∈ Σ0
also Σ0 ` ¬ϕ
Andernfalls ist Σk ∪ {ϕk } inkonsistent.
Aus Satz 1.20 folgt also Σk ` ϕ, also Σ0 ` ϕ.
Satz 1.25
Jede Tautologie ist aus den Axiomen ableitbar.
Frage: Kann man Q abeiten?
(Also P : “Ihr sagt ein Wort.”
¬P : “Ihr sagt kein Wort.”
Q: “Ihr verliert eure Köpfe.”
Gegeben: (P → Q) ∧ (¬P
→ Q)
(P → Q)
Zerlegen:
jeweils mit Ax 4
(¬P → Q)
(P → Q) → (¬Q → ¬P ) Ax 3
(¬P → Q) → (¬Q → P ) Ax 4
(¬Q → ¬P )(¬Q → P )} Abtrennen
Also (¬Q → ¬P ) → ((¬Q → P ) → (¬Q → (P ∧ ¬P )) Ax 5
(¬Q → P ) → (¬Q → (P ∧ ¬P )) (Abtrennen)
¬Q → (P ∧ ¬P ) (Abtrennen)
Angenommen, Σ ` ¬Q, dann Σ inkonsistent.
(Q ∨ ¬Q) ist Tautologie.
(1) (P → Q) ∧ (¬P → Q)
Σ gesucht: Ableitung für Q
(2) ((P → Q) ∧ (¬P → Q)) → (P → Q)
und((P → Q) ∧ (¬P → Q)) → (¬P → Q)qquad Ax 4
(3) (P → Q)
(4) (¬P → Q)
Abtr. (1),(2)
Abtr. (1),(2)
(5) (P → Q) → (¬Q → ¬P )
(6) ¬Q → ¬P
Ax 3
Abtr. (3),(5)
(7) (¬P → Q) → (¬Q → P )
Ax 3
23
(8) ¬Q → P
Abtr. (4),(7)
(9) ((¬Q → ¬P ) → ((¬Q → P ) → (¬Q → (P ∧ ¬P ))))
(10) (¬Q → P ) → (¬Q → (P ∧ ¬P ))
(11) (¬Q → (P ∧ ¬P ))
Abtr. (6),(9)
Abtr. (8),(10)
(12) (¬Q → (P ∧ ¬P )) → (¬(P ∧ ¬P ) → Q)
(13) (¬(P ∧ ¬P ) → Q)
d.h. (¬P ∨ P ) → Q
Ax 5
Ax 3
Abtr. (11), (12)
(14) P → P
(Satz 1.11)
d.h. (¬P ∨ P )
(15) Q
Abtr. (13), (14)
Weiter nach Satz 1.21!
“Jede Konsistente Menge Σ lässt sich zu einer vollständigen Menge Σ0 erweitern.”
Aus so einer vollständigen Erweiterung kann man eine Belegung basteln:
FΣ0 (pi ) = {1 falls Σ0 ` pi 0 falls Σ0 ` ¬pi
Damit:
Satz 1.22
Sei Σ vollständig.
Dann gilt:
FΣ∗ (ϕ) = 1 ⇔ Σ ` ϕ
Beweis: (Induktion über Formelaufbau)
Daraus ergibt sich
Satz 1.23
Σ konsistent ⇔ Σ widerspruchsfrei
und weiter
Satz 1.24 (Vollständigkeitssatz)
Sei Σ Ausdrucksmenge, ϕ Ausdruck. Dann gilt Σ |= ϕ ⇔ Σ ` ϕ
Spezielle Form:
Satz 1.25
ϕ ist genau dann Tautologie, wenn aus den Axiomen ableitbar.
24
Kapitel 2
Prädikatenlogik
Nun: Logik auf mathematischen Strukturen!
Beliebtes Beispiel: (Ganze) Zahlen
2.1
Strukturen und Relationen
Beispiele: “Bush bekommt mehr Wahlmänner als Kerry”
z}|{
Schreibweise: nBush > Beispiel einer RelationnKerry
Andere Beispiele:
(a) 2 < 4
(b) 7 > 9
(c) 5 | 11
(d)
3
4
= 0.75
Begriff: Relation (“Beziehung”)
Beispiel: a < b
Genauer:
Gegeben: Grundmenge A (z.B. N) S ⊆ A2
A2 = A × A: Menge aller geordneten Paare von Objekten aus A nennt man eine zweistellige Relation.
Dies ist also die Menge aller geordneten Paare, die zueinander in Beziehung
stehen.
(Beispiel: S ⊆ N2
kann etwa die Menge {(a, b) ∈ N2 | a < b} sein.)
Anderes wichtiges Beispiel!
Betrachte “<” auf {1, 2, 3, 4, 5} :
(1, 2), (1, 3), (1, 4), (1, 5)
(2, 3), (2, 4), (2, 5), (3, 4),
(3, 5), (4, 5)
Graphisch dargestellt:
Also: Gegeben (endliche) Menge von Objekten, “Knoten”, Menge von gerichteten “Kanten”, so dass eine Kante (v, w) von Konten v und Konten w genau
vorhanden ist, wenn (v, w) zur Relation gehört.
25
So eine Struktur nennt man einen gerichteten Graphen. Inhaltlich ist das
genau dasselbe wie eine zweistellige Relation.
Besondere Eigenschaften von Relationen:
Eine zweistellige Relation S ⊆ A2 heißt
(R) reflexiv: Für alle a ∈ A gilt (a, a) ∈ S
(IR) irreflexiv: Für alle a ∈ A gilt (a, a) 6∈ S
(S) symmetrisch: Für alle a, b ∈ A gilt (a, b) ∈ S ⇔ (b, a)
(AS) antisymmetrisch: Für alle a, b ∈ A gilt: (a, b) ∈ S ∧ (b, a) ∈ S, so gilt a=b
(K) Konnex: Für alle a, b ∈ A gilt: (a, b) ∈ S oder (b, a) ∈ S oder a = b
(L) linear: Für alle a, b ∈ A gilt (a, b) ∈ S oder (b, a) ∈ S.
(T) transitiv: Für alle a, b, c ∈ A gilt (a, b) ∈ S ∧ (b, c) ∈ S:(a, c) ∈ S
Das nennt man einen Graphen. Ein Graph besteht aus einer Menge von
Objekten (“Knoten”), die z.T. paarweise verbunden sind (durch ungerichtete
“Kanten”)
Besondere Teilklasse und ihre Visualisierung:
Sei S ⊆ A2 irreflexiv und symmetrisch.
Beispiel: (1, 2), (2, 1), (1, 5), (5, 1), (2, 5), (5, 2),
(2, 3), (3, 2), (2, 4), (4, 2), (3, 4), (4, 3),
(3, 5), (5, 3), (4, 5), (5, 4)
Schreibweise und Bezeichnung:
Graph G = (V, E)
mit V : Menge von Objekten (Knoten, engl. “vertices”, sing. “vertex”)
E: Menge von ungerichteten Kanten (Kanten, engl. “edges”)
Kante: e = {v, w}
← also ungeordnetes Paar!
Besondere Art von Relationen.
reflexiv + symmetrisch + tranistiv
Äquivalenzrealtionen
Beispiel: Reste bei ganzen Zahlen!
Sei A = Z (ganze Zahlen) und sei m ∈ N.
Dann setzen wir für a, b ∈ A
a ∼m b :⇔ Es gibt K(a,b) ∈ Z mit (a − b) = m · K(a,b) (oder auch: m teilt
(a − b), geschrieben als m|(a − b))
Behauptung: ∼m beschreibt Äquivalenzrelation auf Z
Beweis: Nachzuprüfen ist:
(a) ∼m ist reflexiv
(b) ∼m ist symmetrisch
(c) ∼m ist transitiv
zu (a): zu zeigen ist
Für alle a ∈ Z gilt: a ∼m a, d.h. es gibt K(a, a) mit (a − a). Wählt man
K(a, a) = 0, so ist tatsächlich (u − a) = 0 = 0 · m = K(a, a) · m = K(a, a) = m
zu (b): zu zeigen ist
Für alle a, b ∈ Z gilt:
a ∼m b ⇔ b ∼m a.
26
Sei also m ∈ N, a, b ∈ Z und a ∼m b, d.h. es gibt ein K(a,a) ∈ Z mit
(a − a) = m · K(a, a).
z.Z. Es gibt ein K(b,a) mit (b − a) = m · K(b, a)
Wähle K(b, a) = −K(a,b) , dann ist
(b − a) = −(a − b) = −m · K(a, b) = m · (−K(a,b) ) = m · K(b,a)
“ ⇐00 analog
zu (b) zu zeigen:
Für alle a, b, c ∈ Z mit a ∼m b, b ∼m c, dann gilt a ∼m c
Seien also a ∼m b und b ∼m c, d.h. es gibt K(a, b) mit (a − b) = m · K(a,b)
und K(b,c) mit (b − c) = m · K(b, c)
zu zeigen: Es gibt K(a, c) mit (a, c) = m · K(a, c)
Wähle: K(a,c) = K(a,b) + K(b,c).
Dann ist: (a − c) = (a − b) + (b − c) = m · K(a, b) + m · K(b, c) = m · (K(a+b) +
K(b+c) ) = m · K(a, c)
Also gibt es tatsächlich a ∼m c
Dann ist ∼m tatsächlich Äquivalenzrelation.
2
- Weitere Betrachtung: Wann sind ganze Zahlen a, b äquivalent?
Schreiben wir a = m · Ka + ra mit Ka ∈ Z und ra ∈ {0, . . . , m − 1}
b = m · kb + rb mit Kb ∈ Z und rb ∈ {0, . . . , m − 1},
dann sieht man, dass (a−b) genau dann ein Vielfaches von m ist, wenn ra −rb =
0, bzw. ra = rb
Also a m b ⇔ Bei Division durch m bleibt bei a und b jeweils der gleiche
Rest.
Dafür gebraucht man auch die Schreibweise a ≡ b(modm) “a kongruent b
modulo m”
Durch eien Äquivalenzrelation wird die Grundmenge A in eine Position von
Teilmehngen unterteilt.
Betrachte a ∈ A
Dann ist a/ := {x ∈ A|a x} die sogenannte Äquivalenzklasse von a.
Aus der Transitivität folgt: Wenn isch zwei Äquivalenzklassen schneiden,
dann sind sie auch schon gleich.
Zum Beispiel: Aufteilung in Restklasse!
Genauer: Z zerfällt durch die Äquivalenzrelation m in genau m Äquivalenzklassen, nämlich in R0 , . . . , Rm−1 , wobei Ri = {a ∈ Z|a = m · Ka + i}
Man erinnert sich: Mit Resten kann man rechnen ganz ähnlich wie mit
ganzen Zahlen!
Noch ein Beispiel: Betrachte = N 2 , setze (m1 , n1 ) (m2 , n2 ) ⇔ m1 · n2 =
m2 · n1
Behauptung: Dies definiert eine Äquivalenzrelation!
(a) Wenn a = (m1 , n1 ), dann ist m1 ·n1 = m1 ·n1 , also a = (m1 , n1 ) (m1 , n1 ) =
a
(b) Wenn a = (m1 , n1 ) (m2 , n2 ) = b, also m1 · n2 = m2 = m1 , d.h. natürlich
auch m2 · n1 = m1 · n2 , d.h. b a
(c) Selbst!
Gedankliche Nachbetrachtung:
Es gibt a b, d.h. m1 · n2 = m2 · n1 , was dasselbe bedeutet wie
27
m1
n1
=
m2
n2 .
a und b sind also genau dann äquivalent, wenn sie die gleiche positive rationale Zahl beschreiben.
Wenn man also von rationalen Zahlen spricht, hat man es mit Repräsentanten von Äquivalenzklassen zu tun.
Merhstellige Relationen:
S ⊆ An (mit n ∈ N)
d.h. n-Tupel (a1 , . . . , an ) ∈ An . (; “Hypergraphen”)
Besonderer Typ von mehrstelligen Relationen:
Funktionen
Betrachte (a1 , . . . , an , b) ∈ S ⊆ An+1
Ist (a1 , . . . , an , b) ∈ S
und (a1 , . . . , an , c) ∈ S
dann gilt bereits b = c, d.h. das letzte Element ist eindeutig bestimmt.
→ n-stellige Funktion, Besondere Elemten hervorheben:
Konstate (in A)
(z.B. in R : 0, 1, 2, π, . . .)
oft Interpretation als “nullstellige Funktionen”
- Bezeichnungen:
A Grundmenge f1 , . . . , fn , dann nennt man A =< A, f1 , . . . , fn > algebraische
Struktur oder Algebra.
Sind außerdem: S1 , . . . , Sm Relationen auf A
c1 , . . . , ck Konstanten aus A
dann heißt A =< A, f1 , . . . , fn , S1 , . . . , Sm , c1 , . . . , ck > Struktur
Beispiele für Strukturen:
< R, +, ·, <, 0, 1 >
oder auch < Z, +, ·, <, 0, 1 >
2.2
Elementare Sprachen
Idee: Aussagen über ganze Mengen von Objekten und innerhalb von Strukturen!
Beispiel: Aussage ϕ: “Die “kleiner-als”-Beziehung ist transitiv.”
Formulierung: “Für alle natürlichen Zahlen m, n, k gilt: Ist m kleiner als n
und n kleiner als k dann ist m kleiner als k.”
Hinterer Teil: (m kleiner als n) ∧ (n kleiner als k) → (n kleiner als k).
Abkürzung: Relationssymbol “¡” statt “kleiner als” (m < n) ∧ (n < k) →
(m < k)
Jetzt noch der vordere Teil:
Symbol ∀ “alle”
∃ “ex gibt ein”
Also: ∀m∀n∀k((m < n) ∧ (n < k) → (m < k))
2.2.1
Grundbestandteile elementarer Sprachen
Struktur A =< A, f1 , . . . , fm , R1 , . . . , Rn , a1 , . . . , ak >
Elementare Sprache L hat folgende Zeichen:
28
(1) Variablen: v0 , v1 , v2 , . . .(oder auch x, y, z)
(2) Funktionszeichen: F1 , . . . , Fm
(3) Relationszeichen: P1 , . . . , Pn
(4) Konstantenzeichen: c1 , . . . , ck
(5) Logische Zeichen: ¬, ∧, ∨, →, ↔, ∀, ∃, =
(6) Technische Zeichen: (, ) und andere Klammern
F1 , . . . , Fm : Namen von Funktionen f1 , . . . , fm
P1 , . . . , Pn : Namen von Relationen R1 , . . . , Rn
c1 , . . . , ck : Namen von Konstanten a1 , . . . , ak .
Umgekehrt: 

f1 , . . . , fm 
 F1 , . . . , Fm
R1 , . . . , R n
P1 , . . . , Pn
Interpretation von


a1 , . . . , ak
c1 , . . . ck
Warum diese Unterscheidung?
→ Unterschied zwischen Name und Objekt!
(Beispiel: Unterschied zwischen Name “Hans” als Zeichenkette
und Person Hand als Objekt)
Sehr wichtig bei Unterscheidung zwischen String “a”
Variable a
Wert der Variable a
Motivation in der Logik auch: Abstrakte Sichtweise lässt oft sehr allgemeine
Betrachtung zu und erfordert auch eine sehr allgemeine Schreibweise.
Beispiel: Betrachte die Strukturen
< N, + >
und < ,· > .
Beide bestehen außer der Grundmenge noch aus einer zweistelligen Funktion.
Also: Parallelität der Struktur!
Für solche Dinge führt man eine allgemeinere Bezeichnung ein.
A =< A, F1 > mit F1 zweistellig.
Bezeichnung hier: L(F1 ) mit F1 zweistellig
“Die Sprache der Strukturen mit einer zweistelligen Funktion.”
Allgemein: L(F1 , . . . , Fm , P1 , . . . , Pn , c1 , . . . , ck )
Wichtig: “Stellenzahl” der Symbole muss klar sein!
Bezeichnung dafür: “Signatur” der Sprache
σ : {F1 , . . . , Fm , P1 , . . . , Pm , c1 , . . . , ck } → N,
ordnet jedem Symbol eine Stellenzahl zu (wobei c1 , . . . , ck nullstellig)
Wichtiger Begriff: “Modell” einer Sprache: Konkrete Struktur mit gewisser
Sprache!
29
2.2.2
Terme
Definiere Terme einer Sprache L rekursiv:
(a) Jede Variable, jedes Konstantensymbol sind Term
(b) Ist F ein n-stelliges Funktionssymbol und sind
t1 , . . . , tn , dann ist F (t1 , . . . , tn ) ein Term.
(c) Eine Zeichenkette ist genau dann ein Term, wenn man sie durch endliche
oftmalige Anwendung von (a) und (b) konstruieren kann.
Beispiele: sinx, ex · (2 · sin5x + x2 · cosx), x2 + y 2
Formale Wertbildung:
Definiere den Wert eines Terms analog zur Termbildung:
(a) Ist t ein Konstantensymbol c, so ist W (t) = a. (Auch möglich: Symbol b,
W (t) = b)
(b) Ist t zusammengesetzt, so hat t die Form t = F (t1 , . . . , tm ) mit einfacheren
Termen t1 , . . . , t1 , . . . , tm .
Dann ist
W (t) = F (W (t1 ), . . . , W (tm )).
Beispiel: W (sin( π2 )) = sin π2 = 1
2.2.3
Prädikative oder auch atomare Ausdrücke
(a) Sind t1 , t2 Terme, so ist die Zeichenfolge t1 = t2 ein atomarer Ausdruck
(speziell Termgleichung)
(b) Ist P ein n-stelliges Relationssymbol, dann ist mit Termen t1 , . . . , tn
P (t1 , . . . , tn ) ein atomarer Ausdruck.
(c) Atomare Ausdrücke sind genau die Zeichenketten, die durch endliche oftmalige Anwendung von (a) und (b) entstehen.
Wahrheitswerte atomarer Ausdrücke, rekursiv analog Bildung der
Ausdrücke:
(a) Ist ϕ Termgleichung t1 = t2 , dann ist ϕ in A wahr oder erfüllt, wenn
W (t1 ) = W (t2 )
(b) Hat ϕ die Form Pi (t1 , . . . , tn ), dann ist ϕ in A wahr oder erfüllt, wenn
(W (t1 ), . . . , W (tn )) ∈ Ri ,
wobei Ri die konkrete Relation zum Symbol Pi ist.
Wichtige Fragestellung: Erfüllung eines Ausdrucks.
Symbolische Schreibweise:
A |= ϕ für “ϕ ist wahr A”
oder “ϕ ist erfüllt in A”.
30
2.2.4
Ausdrücke oder Formeln
Wieder rekursiv:
(a) Jeder atomare Ausdruck ist eine Formel.
(b) Sind ϕ und ψ Ausdrücke, dann sind auch (¬ϕ), (ϕ ∧ ψ), (ϕ ∨ ψ),
(ϕ → ψ), (ϕ ↔ ψ)
Ausdrücke
(c) Ist ϕ ein Ausdruck und x eine beliebige Variable, dann sind auch
(∀x ϕ) ← “Für alle x gilt ϕ”
und
(∃x ϕ) ← “Es existiert ein x, so dass ϕ gilt00
Ausdrücke.
(d) Ausdrücke sind genau die Zeichenketten, die durch endlich oftmaliges Anwenden von (a), (b), (b) entstehen.
Bezeichnung: ∀, ∃ nennt man “Quandtoren”, ϕ wird in (∀xϕ) bzw. (∃xϕ)
durch ∀ oder ∃ quantifiziert.
Nächste Schritte: Einsetzen von Werten.
Zubeachten: Nicht alle Variablen sind frei ersetzbar!
∀x∀y(x < y) ← x, y“gebunden”
ist deutlich anders als
∃x∃y(x < y)“gebunden”
aber auch als
(|{z}
x < y ) ← x, y“frei”
|{z}
5
7
∀x(x > 0)
∃x(x > y)
Definition: Eine Variable x kommt in einem Ausdruck ϕ frei vor:
(a) ϕ ist atomarer Ausdruck
(b) ϕ hat die Form ¬ψ und x kommt frei vor in ψ
oder (c) ϕ hat die Form ψ ∧ χ oder ψ ∨ χ oder ψ → χ oder ψ ↔ χ und x kommt
frei vor in ψ oder χ.
oder (d) ϕ hat die Form ∀y ψ oder ∃y
y sind verschiedene Variable.
ψ und x kommt frei vor in ψ und x und
Beispiel: ϕ := ∀z(∃x(x + y < z) → ∀y(y + 2 < x))
Kommen x, y, z in ϕ frei vor?
Zerlege ϕ:
ψ := (x + y < z)
← x, y, z kommen frei vor
χ := (y + 2 < x)
← x, y kommen frei vor
ψ 0 := ∃x χ
← y, z kommen frei vor, x nicht (mehr)
31
χ0 := ∀y χ
← x kommt frei vor, y nicht (mehr)
ϕ0 := ψ 0 → χ0
← x, y, z kommen frei vor
ϕ := ∀z ϕ0
← x, y kommen frei vor, z nicht (mehr)
In jedem Ausdruck gibt es nur endlich viele Variable, also auch nur endlich
viele freie Variable.
Schreibweise: ϕ(x1 , . . . , xn ), um anzudeuten, dass x1 , . . . , xn die freien Variablen in Ausdruck ϕ sind.
Umbenennung bzw. Einsetzen:
ϕ(x1 , . . . , xi−1 , yxi+1 , . . . , xn )
bezeichnet den Ausdruck der aus ϕ(x1 , . . . , xn ) entsteht, wenn man an allen
Stellen, an denen xi frei vorkommt, xi durch y ersetzt.
Beispiel: ϕ(x1 , x2 ) := ∃x3 (x1 + x2 = x23 )
Dann: ϕ(1, x2 ) := ∃x3 (1 + x2 = x23 )
ϕ(1, 3) := ∃x3 (1 + 3 = x23 )
Terme einsetzen:
ϕ(3x4 , x2 ) := ∃x3 (3x4 + x2 = x23 )
ϕ(x24 + 1, 2 + x1 ) := ∃x3 (x24 + 1 + 2 + x1 = x23 )
Gültigkeit/Wahrheitswert von Ausdrücken
Achtung: Mit freien Variablen ist nicht auf Anhieb klar, wie es um den
Wahrheitswert eines Ausdruckes bestellt ist.
Deshalb zunächst für Ausdrücke ohne freie Variable!
Also: Sei L elementare Sprache.
Sei A Struktur für L.
Dann definieren wir “ϕ gültig in A” wie folgt:
(1) Wenn ϕ atomar ist, dann wurde die Gültigkeit von ϕ ind A bereits definiert.
(2 ] Für zusammengesetzte Ausdrücke:
A |= ¬ϕ ⇔ ϕ gilt nicht in A (Schreibweise: A 6|= ϕ)
A |= ϕ ∧ χ ⇔ A |= ϕ und A |= ψ
A |= ϕ ∨ χ ⇔ A |= ϕ oder A |= ψ
A |= ψ ⇔ Wenn A |= ϕ, dann A |= ψ
A |= ϕ ↔ ψ ⇔ A |= ϕ genau dann, wenn A |= ψ
A |= ∀xϕ ⇔ Für alle a in A gilt A |= ϕ(a)
A |= ∃xϕ ⇔ Es gibt ein a in A mit A |= ϕ(a)
Mit freien Variablen: ϕ(x1 , . . . , xn ) ist gültig A
∀x1 . . . ∀xn ϕ(x1 , . . . , xn )
ist gültig in A.
{z
}
|
Der “universale Abschluss” von ϕ(x1 , . . . , xn )
Wichtige Begriffe:
Erfüllbar: ϕ erfüllbar: Es gibt eine Struktur A, so dass A |= ϕ
Allgemeingültig: ϕ allgemeingültig: Für jede Struktur A mit passender Signatur
gilt A |= ϕ
Modell: A Modell für eine Menge von Ausdrücken Σ: Für jedes ϕ ∈ Σ gilt A |= ϕ
Folgerung: Ausdruck ϕ folgt aus der Menge von Ausdrücken Σ: Für jedes Modell
A von Σ gilt A |= ϕ.
Deduktiver Abschluss: Ded(Σ): Menge aller Folgerungen aus Σ.
⇔
32
Beispiel für Objekte, für die es um die genannten Begriffe geht: Sei Σ :=
{ϕ1 , ϕ2 , ϕ3 } in L(F, e) mit σ(F ) = 2
)) = ((x◦y)·z)
← Assoziativität
ϕ1 := ∀x∀y∀z(
x ◦(y ◦ z
|{z}
|{z}
|
{z
}
SymbolderzweistelligenF unktion
ϕ2 := ∀x(x ◦ e = e)
← Neutrales Element
ϕ3 := ∀x∃y(x ◦ y = e)
← Inverses Element
Das sind die drei Gruppenaxiome.
Jede Struktur, die alle diese Axiome erfüllt, nennt man Gruppe.
Z.B. ist (Z, +, 0) ein Modell einer Gruppe.
Folgerungen aus den Axiomen?! → Allgemeine Folgerungen
Beispiele für weitere Aussagen:
ϕ4 := (Für jedes Element gilt: Das Inverse des Inversen ist wieder das Element)
ϕ5 := ∀x∀y(x ◦ y = y ◦ x)
← Kommutativität
∀x,
(x ◦ y = e), (y ◦ z = e), z = x
∀x∀y∀z((x ◦ y = e) ∧ (y · z = e)) → (z = x)
Menge der Folgerungen aus den Gruppenaxiomen: Gruppentheorie
Fragen:
• Sind die Gruppenaxiome
erfüllbar
oder widersprüchlich?
| {z }
Ja, es gibt konkrete Gruppen!
• Gehört ϕ5 zur Ded(Σ)?
Gehört ϕ4 zu Ded(Σ)?
Belegung für JA: “Beweis” aus den Gruppenaxiomen
NEIN: Widerlegung durch Nachweis der Unabhängigkeit: Es gibt Modelle
A∞ , mit
A∞ |= {ϕ1 , ϕ2 , ϕ3 , ϕ5 }
und A∈ mit
A∈ |= {ϕ1 , ϕ2 , ϕ3 , ¬ϕ5 }
Im Beispiel: Es gibt kommutative Gruppen und es gibt nicht kommutative
Gruppen.
Prädikatenlogisches Folgern:
Menge von Aussagen Σ
Aussage ϕ
Σ |= ϕ (“ϕ folgt aus Σ”) ⇔ für jedes Modell A, das alle Aussagen in Σ erfüllt
sind gilt, dass auch ϕ erfüllt ist.
Gesuchte Objekte: Modelle!
D.h. Konkrete Strukturen mit irgendwelchen Eigenschaften.
Aussagenlogisches Folgern
Menge von Ausdrücken Σ
Ausdruck ϕ
Σ |= ϕ (“ϕ folgt aus Σ”) ⇔ Für jede Belegung F die alle Ausdrücke in Σ erfüllt,
gilt dass F auch ϕ erfüllt.
Gesuchte Objekte: Belegungen!
D.h. Entscheidungen über eine Menge von Bits.
Viele Eigenschaften des prädikaenlogischen Folgerns sind völlig analog zu
Eigenschaften des aussagenlogischen Folgern:
33
Satz 2.1 (Hülleigenschaften)
Seien T und T 0 Mengen von Aussagen, d.h. “Theorien”. Dann gilt:
(0) Ded(∅) ist die Menge der allgemeingültigen Aussagen.
(1) T ⊆ Ded(T )
(2) Wenn T ⊆ T 0 , dann Ded(T ) ⊆ Ded(T 0 )
(3) Ded(Ded(T )) = Ded(T )
Beweis: Analog Satz 1.4 und Satz 1.5.
2
Satz 2.2 (Abtrennungsregel)
Wenn T |= (ϕ → ψ), dann T ∪ {ϕ} |= ψ.
Beweis: Analog Satz 1.6
2
Satz 2.3 (Deduktionstheorem)
Für jede Aussage ϕ gilt:
Wenn T ∪ {ϕ} |= ψ, dann T |= (ϕ → ψ).
Beweis: Analog zu Satz 1.7
2
Satz 2.4 (Endlichkeitssatz)
Wenn ϕ aus einer Theorie T folgt, dann gibt es eine endliche Teiltheorie von T ,
aus der ϕ folgt.
Beweis: später, Aussage ist analog zu Satz 1.8.
Satz 2.5 (Kompaktheitssatz)
Eine Theorie T ist genau dann widerspruchsfrei, wenn jede endlihe Teiltheorie
widerspruchsfrei ist.
Beweis: Analog zu Satz 1.9
2
Satz 2.5
Aus einer widerspruchsvollen Aussage folgt jeder Ausdruck. Beweis: Analog Satz
1.4
Satz 2.7
Für jede Aussage ϕ gilt: T ∪{¬ϕ} ist widerspruchsfrei, genau dann wenn ϕ nicht
aus T folgt.
x2 + y 2 = z 2 ← Ganze Zahlen x, y, z → Pythagoräische Tripel
2
a + b2 = c2 ← Satz des Pythagoras (495 v. Chr.)
Beispiel: 3, 4, 5 oder 5, 12, 13
32 + 42 = 52 oder 52 + 122 = 132
Fermatsche Vermutung:
Für n ∈ N mit n ≥ 3 gibt es keine positive ganzzahlige Lösung von xn +y n =
n
z
(Fermat, Anfang 17, Jht.)
350 Jahre offen!
Bewiesen von Andrew Wites
34
Euklid ca. 300 v. Chr.
“Elemente”
Euklidsche Geometrie
Beruhend auf 5 Axiomen
(1) Man kann von jedem Punkt zu jedem Punkt die Verbindungsstrecke ziehen.
x---------------x
(2) Eine begrenzte gerade Linie kann endlos in gerader Linie verlängert werden.
<.....x---------------x.....>
(3) Man kann um jeden Mittelpunkt mit jedem Radius den Kreis zeichnen
/---\
| x-|
\---/
(4) Alle rechten Winkel sind gleich.
(5) Wenn eine gerade Linie beim Schnitt mit zwei geraden Linien bewirkt,
dass immer auf der selben Seiten entstehende Winkel zusammen kleiner
als zwei Rechte Winkel sind, dann dann treffen sich die zwei geraden Linien
bei Verlängerung im Unendlichen auf der Seite, auf der die Winkel liegen,
die zusammen kleiner als zwei rechte WInkel sind.
\
--------------|---g3
<-----/
\|
<------\
/\
------------- \--- g2
\
\ g1
(5’) (Parallelenaxiom)
Zu einer gegebenen Geraden und einem Punkt nicht auf der Geraden gibt
es genau eine Parallele, d.h. eine Gerade durch den Punkt die die vorgegebene gerade nicht schneidet.
.............x...................
^
^
|
|
v
v
_________________________________
Folgerungen aus diesen 5 Axiomen: Euklidische Geometrie
Ersten 28 Sätze in den “Elementen” benutzen nur die Axiome (“Postulate”)
(1) - (4):
35
Frage: Kann man ohne das Axiom (5) auskommen, d.h. kann man das fünfte
aus den anderen ver folgern, d.h. beweisen.
x Legendre: Beweis für (5) aus (1) - (4)
v J’anos Bolyai (21 Jahre): (5) lässt sich aus (1) - (4) nicht beweisen! v Nikolai
Lobatschewski (30 Jahre): Wie Bolyai
Beweisidee:
(5) ist unabhängig von (1) - (4), d.h. sowhohl {(1), (2), (3), (4), (5)} sind widerspruchsfrei → Modell
als auch {(1), (2), (3), (4), ¬(5)} → Modell.
Modell für die zweite Variante:
“Punkte”: Punkte auf einer Kugeloberfläche
“Geraden”: Großkreise
→ Nichteuklidische Geometrie!
Praktischer Einschub:
Verneinen von Aussagen
Beispiel:
∀x∃y(x ◦ y = e)
Verneint?!
¬(∀x∃y(x ◦ y = e))
Verneint:
∃x∀y¬(x ◦ y = e)
bzw.
∃x∀y(x ◦ y 6= e)
Formal: Ziehe “¬” an Quantoren vorbei nach innen, ersetze dabei jeweils
“∀” durch “∃” und umgekehrt.
Prädikatenlogische Tautologien:
Ersetze in einer aussagenlogischen Tautologie Φ(p1 , . . . , pn ) die Variablen
p1 , . . . , pn durch die Ausdrücke ϕ1 , . . . , ϕn .
Satz 2.8 Jede prädikatenlogische Tautologie ist allgemeingültig. Zwei Ausdrück sind logisch äquivalent (geschrieben ϕ ≡ ψ), wenn ϕ ↔ ψ allgemeingültig
ist.
Wichtige Äquivalenzen:
(1) ¬∃xϕ ≡ ∀x¬ϕ
(2) ¬∀xϕ ≡ ∃x¬ϕ
(3) ∃xϕ ≡ ¬∀x¬ϕ
(4) ∃x(ϕ ∨ ψ) ≡ ∃xϕ ∨ ∃xψ
(5) ∃x(ϕ ∧ ψ) ≡ ∃xϕ ∧ ∃xψ
(6) ∀x(ϕ ∧ ψ) ≡ ∀xϕ ∧ ∀xψ
(7) ∀x∀yϕ ≡ ∀y∀xϕ
(8) ∃x∃yϕ ≡ ∃y∃xϕ
Achtung! ∀x∃yϕ ist völlig anders als ∃y∀xϕ
Falls x in ψ nicht frei vorkommt, dann gilt
(9) ∀xψ ≡ ψ
36
(10) ∃xψ ≡ ψ
(11) ∃x(ϕ ∨ ψ) ≡ (∃xϕ) ∨ ψ
(12) ∃x(ϕ ∧ ψ) ≡ (∃xϕ) ∧ ψ
(13) ∀x(ϕ ∨ ψ) ≡ (∀xϕ) ∨ ψ
(14) ∀x(ϕ ∧ ψ) ≡ (∀xϕ) ∧ ψ
Falls in ϕ(x)y nicht vorkommt, gilt
(15) ∀xϕ(x) ≡ ∀yϕ(y)
(16) ∃xϕ(x) ≡ ∃yϕ(y)
Normalformen: Jeder quantorenfreie ausdruck ist äquivalen zu einem Audruck in alternativer oder konjunktiver Normalform.
Beweis: Wie Satz 1.30.
Weitere Normalformen: mit Quantoren!
z.B. (f orallx(x > 0)) ∨ (∃y(x · y = z))
→ ∀x∃y QuantorenvorspannPräfix ((x > 0) ∨ (x · y = Z))AussageteilMatrix ?!
Normalform mit Präfix und Matrix: “Pränexe” Normalform.
“Pränex alternativ”: Matrix alternativ “Pränex konjunktiv”: Matrix konjunktiv
Satz 2.10
(1) Jeder Ausdruck ist äquivalent zu einer pränexen alternativen NF.
(2) Jeder Ausdruck ist äquivalent zu einer pränexen konjunktiven NF.
Beweis: Beweis über Formelaufbau
unter Verwendung von Quantorenäquivalenzen.
2.3 Beweisbarkeit
In der Aussagenlogik:
A00 : Σ |= ϕ (gemeint war: “ϕ folgt aus Σ” d.h. für jede Belegung F , die alle
Ausdrücke in Σ erfüllt gilt auch, dass F ϕ erfüllt.)
→ Auswerten bzw. Benutzen mittels Wahrheitstabellen
→ Endliches Verfahren, da ϕ nur endlich viele Variable, also nur endliche viele
Belegungen hat.
A0 : Σ ` ϕ (gemeint war: “ϕ kann aus Σ abgeleitet werden”, d.h. aus einer
Reiche von Axiomen und den Ausdrücken aus Σ kann man mit einer Folgerungsregel ϕ bauen.
→ Funktioniert ggf. auch unabhängig von Variablenzahl, erspart u.U. Wahrheitstabellen.
Nachteil: Ableitungsfolgt kann schwer zu finden udn kompliziert sein, es gibt
kein ähnlich sicheres Verfahren.
Zusammenführen dieser Parallelwelten:
Satz 1.24 (Vollständigkeitssatz)
Σ |= ϕ ⇔ Σ ` ϕ
Prädikatenlogik:
37
p”: |{z}
T |= ϕ
T heorie
(Gemeint ist: Für jede Struktur die T erfüllt, ist auch ϕ erfüllt. Oder auch:
Jedes Modell von T ist auch Modell von ϕ.
Wichtig: So etwas wie Wahrheitstabllen gibt’s hier nicht!!!
p’: T ` ϕ
Gemeint ist: ϕ lässt sich aus T ableiten, d.h. es gibt eine Reihe von Axiomen
udn Folgerungsregeln, mit denen man ϕ aus T konstruieren kann.
Entsprechend gitl in der Prädikatenlogik:
Satz 2.31 (Gödelscher Vollständigkeitssatz)
T |= ϕ ⇔ T ` ϕ.
Axiome für die Prädikatenlogik
(PK 1) ϕ → (ψ → ϕ)
(PK 2) (ϕ → (ψ → χ)) → ((ϕ → ψ) → (ϕ → χ))
(PK 3) (¬ψ → ¬ϕ) → (ϕ → ψ)
(PK 4) (a) ϕ ∧ ψ → ϕ
(b) ϕ ∧ ψ → ψ
(PK 5) (χ → ϕ) → ((χ → ψ) → (ϕ(ψ ∧ χ)))
(PK 6) (a) ϕ → ϕ ∨ ψ
(b) ψ → ϕ ∨ ψ
(PK 7) (ϕ → χ) → ((ψ → χ) → ((ϕ ∨ ψ) → χ))
Analog zu Axiomen des Aussagenkalküls!
Axiome über Quantoren
(PK 8) ∀xϕ(x) → ϕ(t) wobei: t ein beliebier Term ist, der nur Variabeln enthält,
die für x frei sind.
(PK 9) ∀x(ϕ → ψ) → (ϕ → ∀xψ), wobei x in ϕ nicht frei vorkommt.
(PK 10) (a) (¬∀x¬ϕ) → ∃xϕ
(b) ∃xϕ → ¬∀x¬ϕ
Axiome für Gleichheit
(PK 11) ∀x(x = x)
(PK 12) ∀x∀y(x = y → (ϕ → ϕ0 )), wobei y in ϕ frei für x ist und ϕ0 aus ϕ
entsteht, indem man an Stellen (nicht unbedingt an allen) an denen x frei
vorkommt, x durch y ersetzt.
Folgerungsregeln:
(1) Abtrennungsrgel: Wenn ϕ → ψ und ϕ ableitbar sind, dann ist ψ auch
ableitbar.
38
(2) Geralisierung:
Für jede Variabel x ist eine direkte Konsequenz eines ableitbaren Ausdrucks ϕ der Ausdruck ∀xϕ.
Ableitungsfolgen: Ist T eine Theorie und (ϕ1 , . . . , ϕm ) eine Folge von Audrücken, dann ist diese Folge eine Ableitungsfolge,w enn jeden ϕi eine der
folgenden Bedingungen erfüllt:
(B1) ϕi gehört der Menge der Axiome P k an
(B2) ϕi gehört zu T
(B3) ϕi ist direkte Konsequenz von zwei Ausdrücken ϕj und ϕk (d.h. j, k <
i) mit Hilfe der Abtrennungsregel.
(B4) ϕi ist direkte Konsequenz eines früheren Audruckes mit Hilfe der
Generealisierung.
In der Regel macht man beim Beweisen (auch beim formalen Beweisen) starken Gebrauch von bereits bekannten Aussagen, die also
bereits abgeleitet sind.
Das liefert sog. “verkürzte” Ableitungsfolgen, im SInne dass man
zusätzlich noch verwendet.
(B5) ϕi ist ein als bereits ableitbar bekannter Ausdruck.
Beispiel für eine Ableitungsfolge:
Folgender Ausdruck wird abgeleitet
Für beliebiges ϕ(x, y) ist ∀x∀yϕ(x, y):∀y∀xϕ(x, y)
ψ1 := ∀x∀yϕ → ∀yϕ (PK 8)
ψ2 := ∀yϕ → ϕ (PK 8)
ψ3 := (p → q) → ((q → r) → (p → r)) (prädikatenlogische Tautologie) mit
p := ∀x∀yϕ, q := ∀yϕ, r := ϕ
ψ4 := (∀yϕ → ϕ) → (∀x∀yϕ → ϕ) (direkte Konsequenz aus ψ1 und ψ3 )
ψ5 := (∀x∀yϕ → ϕ (direkte Konsequenz aus ψ2 und ψ4 )
ψ6 := ∀x(∀x∀yϕ → ϕ) (Generalisierung von ψ5 )
ψ7 := ∀x(∀x∀yϕ → ϕ) → ∀x∀yϕ → ∀xϕ (PK 9)
ψ8 := ∀x∀yϕ → ∀xϕ (direkte Konsequenz von ψ6 und ψ7 )
ψ9 := ∀y(∀x∀yϕ → ∀xϕ) (Generalisierung von ψ8 )
ψ1 0 := ∀y(∀x∀yϕ → ∀xϕ) → (∀x∀yϕ → ∀y∀xϕ) (PK 9)
ψ1 1 := ∀x∀yϕ → ∀y∀xϕ (direkte Konsequenz aus ψ9 und ψ1 0)
Satz 2.11 (Hülleigenschaften)
Für belibige Theorien T und T 0 gilt:
(a) T ⊆ Abl(T )
(b) wenn T ⊆ T 0 , so Abl(T ) ⊆ Abl(T 0 )
(c) Abl(Abl(T )) = Abl(T )
Satz 2.12 (Endlichkeitssatz)
Ist ϕ aus T ableitbar, dann ist ϕ bereits aus einer endlichen Teilmenge von
T ableitbar.
Satz 2.13
Jeder aus einer Theorie T ableitbare Ausdruck folgt aus T .
D.h. T ` ϕ:T |= ϕ
39
Satz 2.19 (Deduktionstheorem)
Sei ϕ eine Aussage, ψ ein Ausdruck. Ist ψ aus T ∪{ϕ} ableitbar, so ist ϕ → ψ
aus T ableitbar.
Begriffe
Widerspruchsfreiheit bzw. Widersrüchlichkeit einer Theorie T : Existenz oder
Nichtexistenz eines Modells
Konsistenz bzw. Inkonsistenz einer Theorie T : Unmöglichkeit bzw. Möglichkeit,
einen Ausdruck ϕ und einen Ausdruck ¬ϕ abzuleiten.
Satz 2.23
Ist T widerspruchsfrei, dann ist T konsistent.
Wie in der Aussagenlogik: Vollständigkeit von Theorien:
T ist vollstöndig: Für jeen Ausdruck ϕ der Sprache gilt entweder T ` ϕ oder
T ` ¬ϕ.
Satz 2.27 (Satz von Lindenbaum)
Jede konsistente Theorie T kann zu einer vollständigen Theorie T 0 erweitert
werden.
Satz 2.30 (Modellexistenztheorem)
Ist T eine konsistente Theorie eine (abzählbare elementare) Sprache L, dann
besitzt T ein Modell.
Satz 2.3 (Gödelscher Vollständigkeitssatz)
Ist T Theorie der Sprache L, so gilt fpr jede Aussage ϕ in L:
T ` ϕ ⇔ T |= ϕ
Weiter mit:
40
Kapitel 4
Entscheidbarkeit
elementarer Theorien
Eine spezielle Theorie:
(1) S(x) 6= 0
(2) S(x) = S(y) → x = y
(3) x + 0 = x
(4) x + S(y) = S(x + y)
(5) x · 0 = 0
(6) x · S(y) = x · y + x
(7) ¬(x < 0)
(8) x < S(y) → x < y ∨ x = y
(9) x < y ∨ x = y ∨ y < x
Dies sind die Axiome der Zahlentheorie (d.h. die Theorie der naütrlichen
Zahlen)
Algorithmik natürlicher Zahlen
Kryptographieverfahren RSA
Idee: Codezahl N , Produkt von zwei großen Primzahlen, z.B. N = p · q.
Funktionsweise: Codieren geht, wenn man nur N kennt.
Decodieren geht schnell, wenn man p und q kennt.
“Public Key Cryptopsystems”
Das motiviert folgende Frage:
Gegeben: N
Gesucht: p, q mit p · q = N
Einfache Möglichkeit: Durchprobieren aller potentiellen Faktoren zwischen
2 und N − 1.
→ Das ist ein endliches aber sehr langsames Verfahren.
Eng verwandt: Gegeben p ∈ N
Frage: Ist p Primzahl?
Andere zahlentheoretische Fragen:
41
(1) Fermat-Problem: Gibt es a, b, c ∈ N, n > 2, a, b, c positiv mit an + bn = cn
(2) Goldbach-Vermutung (1642): Stimmt es, dass jede gerade Zahl größer als
4 Summe zweier ungerader Primzahlen ist? (z.B. 6 = 3 + 3, 8 = 3 + 5, 10 =
3 + 7 = 5 + 5, 12 = 5 + 7)
Faktorisierung: Gegeben: n
Gesucht: Primfaktorzerlegung von n
Verwandt: P RIM E(n): WAHR falls n Primzahl
FALSCH falls n keine Primzahl
Man unterscheidet:
Lösung eines konkreten Einzelfalles:
1. Lösung eines konkreten Einzelfalles → Instanz ← i.S.d. Komplexitätstheorie
2. Lösund in systematischer Art aller beliebigen Einzelfälle → Problem ←
i.S.d. Komplexitätstheorie
,→ Also: Entwicklung von Algorithmen bzw. Programmen
Mathematische Probleme: Fermat-Problem:
∃n ≥ , a, b, c : an + bn = cn
?
Goldbach-Vermutung:
∀m = 2n ≥ 6 : ∃p, qp und q Primzahlen) ∧ (p + q = m)
Äquivalent:
∃m = 2n ≥ 6 : ∀p, q : (p und q keine Primzahl ) ∨ (p + q 6= m)
Hilberts 10. Problem: Gibt es einen endlichen Algorithmus der für jede Diophantische Gleichung (d.h. eine Polynomgleichung, z.B. a + b = c, a6 5537 +
b6 5537 = c6 5537, a + b2 + c3 + 97d = 0) entscheidet, ob sie eine ganzzahlige
Lösung hat?
Wichtig dabei: Algorithmus soll auf jeden Fall in endlicher Zeit eine Antowort
liefern!
Wie kann man eine Antwort gegründen?!
Positive Antwort: Beleg durch Angabe einer Lösung!
Also: Existenzbeweis durch Demonstration
Negative Antwort: ??
Alltragserfahrungen: Asymmetrie zwischen Existenz und Nichtexistenz (z.B.
Verlieren geht schneller als Wiederfinden)
Wichtiger Aspekt: “JA”, d.h. Existenzverifizierung ist Aussage über ein Objekt
“NEIN” d.h. Nichtexistenz ist Aussage über alle Objekte — Halteproblem: Gegeben: Ein Algorithmus (oder Programm)
Frage: Ist der Algorithmus endlich, d.h. wird er irgendwann fertig?
Beispiel:
42
VLAM(n)
WHILE(n != 1) {
IF(n gerade)
n = n/2;
ELSE
n = 3n + 1;
}
RETURN ‘‘STOP’’
Hilberts Problem So einen Algorithmus kann es nicht geben (Matyasevich
1970)
Gäbe es eine Lösung zum Halteproblem, wäre ein Algorithmus zum Testen
der Endlichkeit in der Lage, sehr viele Probleme in endlicher Zeit zu entscheiden.
Beispiel: GOLDBACH(n): Liefert WAHR, wenn n Summer zweier Primzahlen ist, FALSH sonst
PRIME(n): WAHR, wenn n Primzahl ist, FALSCH sonst.
n = 6;
WHILE(GOLDBACH(n)) {
n=n+2;
}
RETURN Gegenbeispiel;
Falls dieses Programm hält, ist die Goldbach-Vermutung falsch; falls das
Programm nicht hält, stimmt sie.
Selbstbezüglichkeit von Aussagen
Beispiele: Dieser Satz hat fünf Worte.
Dieser Satz hat sechs Worte.
Dieser Satz hat nicht sechs Worte.
Klassisch: Epimenides der Kreter sagt: “Alle Kreter sind Lügner.”
Dieser Satz ist falsch.
Historisch: Krise der Mathmatik in der Mengenlehre!
M = {M |M istM enge}
Y := {M ∈ M|M 6∈ M }“Menge aller Mengen, die sich nicht selbst enthalten.”
Problem des Barbiers:
Rasiert genau die Leute im Dort, die sich nicht selbst rasieren!
Wer rasiert den Barbier?
ϕ1 : Der Satz ϕ2 stimmt. ⇔ ϕ2 : Der Satz ϕ1 stimmt nicht.
Ähnliche Strukturen nennt Hofstadter “Seltsame Schleifen”.
Gödel: Mathematiker (bzw. Logiker)
Escher: Niederländischer Künstler
(Bilderlinks kommen auf Webseite)
Bach:
Was war letzten Freitag dran?
→ Probleme , Lösungen
→ Halteproblem
43
→ Selbstbezüglichkeit von Aussagen
“Dieser Satz ist falsch.”
Bsp.: “Sei Spontan!”
→ Themen: Berechenbarkeit, Entscheidbarkeit
Was hast dies mit Logik zu tun?
elem. Theorie: (beliebige) Menge von Ausdrücken der Zugrundegelegten elem.
Sprache L
Entscheidbarkeit einer elem. Theorie T
Gibt es einen Algorithmus (“allgemeines Verfahren”) für folgendes Problem:
Gegeben:
Aussage ϕ aus T
Entscheide:
4.1
Ist ϕ Theorem von T ? ← (also T formal beweisbar/ableitbar).
Berechenbare Funktion
Was ist ein Algorithmus/Programm?
Modell für einen virtuellen Rechner:
→ unbegrenzte Speicherkapazität
→ (unendlich hohe Arbeitsgeschwindigkeit)
→ belibig viele Variablen X0 , X1 , . . . für Verwalten von natürlichen Zahlen
→ elementare Operationen können ausgeführt werden.
,→ Lösche
,→ Erhöhen
,→ Kopieren
,→ Verzweigen
: Anweisungen
Beispiel: EPS aus dem Logik-Buch
Turingmaschinen
Programm(I1 , . . . , In )
I: Anweisungen
Zeilen des Prgs
Hier führen wir Programmiersprache BlooP ein.
Was kann sie?
(a) Addition zweier belibiger natürlicher Zahlen
(b) Multiplikation zweier beliebiger natürlicher Zahlen
(c) Feststellen, ob zwei Zahlen gleich sind
44
(d) Bestimmen von Minimum und Maximum zweier Zahlen
(e) Schleifen mit Obergrenzen
→ im vorraus berechnete Obergrenze
→ höchstens so viel wiederholen wie Obergrenze
z.B. Obergrenze = 300 ≡} Befehle wiederholen 0 mal, 7 mal oder 300
mal, aber nicht 301 mal.
N
→ Folie 2 - Bsp, Fkt 23 , N natürliche Zahl.
(f) Wenn-Befehle und Verästellungen
Bloop-Konventionen
→ Prozeduren werden definiert
→ Input-Parameter
→ Output (der gesuchte Wert)
∗ Wert der Variable OUTPUT
∗ Zu Beginn: “Default”-Wert 0 (immer wohldefiniert)
→ Prozeduren haben Block-Struktur
→ gewisse Teile als Einheiten gesehen → Blöcken
→ Blöcke haben ANFANG, ENDE und eine Nummer
→ Variablen ZELLE[0], ZELLE[1], . . .
Prozeduren werden hintereinander aufgerufen.
Zu f)
• siehe Folie 3: Beispiel zur Berechnung von M − N (M − N ) ∈ N? + N = M ,
| {z } | {z }
N
• zwei verschiedene Befehle für Sprung
– BEENDE BLOCK n
,→ gehe zur letzten Zeile von Block n
– BRECHE AB SCHLEIFE n
,→ gehe unter die letzte Zeile des Beckes n
BlooP - Programmiersprache für Definition vorraussagbar endender Berechnungen.
Was kann man BlooP berechnen?
→ die Fkt, die man mit BlooP berechnen kann heißen primitiv-rekusive FunkN
tionen wie f (n) = 23 .
45
M, N ∈
FRAGE: Gibt es Funktionen, die NICHT primitiv-rekursiv sind?
ANTWORK: JA!
Beweis: Betrachte Programme mit genau 1 Input-Parameter - die BLAUEN
Programme.
Idee: Jedes Programm P bekommt eine Zahl < P >∈ N seine IndexZahl
(z.B. sortieren lexikographisch, wenn Programm als String ausgesehen wird)
Programm P ist Blauprogramm<P >
Betrachte Funktion Blaudiag[N ]:
Blaudiag[N ] = 1 + BlauprogrammN [N ] (1)
Kann man Blaudiag[N] in Bloop programmieren?
Angenommen: Ja. Dann gäbe es ein Programm, das Blaudiag[N] berechnet
mit Nummer X.
,→ Blaudiag[N ] = BlauprogrammX [N ] (2)
Zwischen (1) und (2) besteht ein Widerspruch: Blaudiag[X] = 1+BlauprogrammX [X]
Blaudiag[X] = BlauprogrammX [X]
:0 = 1 E
Diagonalmethode (geht zurück auf Cantor)
→ eine natürliche zahl wird auf 2 verschiedenen Ebenen benutzt.
Nachtrag zu
BlooP
| {z }
begrenzterLoop
auch Tests: Prozeduren die JA oder NEIN zurückgeben. Default-Wert von
OUTPUT ist dann NEIN. Name einer Test-Prozedur mit “?” beenden.
Bsp: Primzahltest
→ benutzt 2 Prozeduren:
1. M IN U S[A, B]
2. REST [A, B]: berechnet den Rest, den man bei der ganzzahligen Division
von A durch B erhält.
→ Idee: probiere alle potentiellen Faktoren von N die zw. 2 und N − 1 sind.
“Eigenschaften” (Prädikate), die von BlooP entdeckt werden können, heißen
primitiv-rekursiv Prädikate.
Man kann nicht alle Funktionen mit BlooP berechnet → “unBlooPbare”
Blaudiag[N ]
Wie können wir BlooP verbessern? → “FlooP” Programmiersprache (freier
Loop)
Schleifen ohne Obergrenze
MU-Schleife:
BLOCK n ANFANG
..
.←
BLOCK n ENDE
“freie” Suchaktionen, (ohne Grenzen) (µ-Operator)
Bemerkungen: Digonalmethode lässt sich nciht anwenden. Warum?
F Diag[N ] = 1+F P rogrammN [N ] dies muss nicht unbedingt einen Wert haben, wenn Programm nicht a
|
{z
}
Definition 4.2
Eine Funktion ist berechenbar (rekursiv) falls sie durch einen korrektes FlooP Programm berechnet werden kann. (Eine andere geeignete Programmiersprache
→ EPS (aus dem Logik-Buch), → Turing-Maschinen.)
46
Andere Ansätze zur Definition berechenbarer Funktionen
→ rekursive Funktionen (Kleene 1952)
4.2
Rekursiv-auszählbarkeit und Entscheidbarkeit
Definition 4.3 Eine Menge A ⊆ Nk (oder eine n-stellige Relation A in N ) heißt
rekursiv-aufzählbar, wenn es ein Programm gibt, das für eingabe ω 1 ausgibt
⇔ω∈A
Bemerkung: für ω 6∈ A muss Programm nicht unbedingt anhalten. Also Programm könnte für ω 6∈ A undendlich lange laufen.
Definition 4.4: EIne Menge A ⊆ Nk heißt entscheidbar, wenn die chrarkteristische Funktion χA berechenbar ist.
χA : Nk → N; χA (ω) = {1, ω ∈ A0, ω 6∈ A
Frage: Gibt es L mit L nicht rekursiv aufzählbar?
Antwort: JA!
Konstruktion:
a) Programm M →< M >∈ N Gödelnummer.
b) Ld = {< M > |M hält nicht bei Eingabe < M >}
Satz 4.5 Ld ist nicht rekursiv aufzählbar!
Beweis: Angenommen, doch: ∃ Programm M0 , das das genau bei allen Eingaben Ld anhält.
Was macht M0 auf Eingabe < M0 >?
Fall 1: M0 hält bei < M0 > an: : < M0 >∈ Ld (aus Def von M0 )
:M0 hält nicht bei < M0 > an. E
Fall 2: M0 hält nicht bei < M0 an: : < M0 >6∈ Ld (aus Def von M0 )
:M0 hält bei < M0 > an (Def von Ld ) E
Gr. Ü.
Aufg 1
f1 (x, y) =√xy
f2 (x) = b xc
BlooP Programm,
N
f1 : analog wie 23 f2 : Ausgabewert: M ∈ N
M2 ≤ x
M maximal mit der Eigenschaft wie bei MINUS.
Aufg. 2: A, B entscheidbar
χA : Nk → N, χa (x) = {1, x ∈ A0, x 6∈ A PA
χB : Nk → N . . . PB
Programm für A ∪ B, bzw.A ∩ B, B ∨ A, . . .
- benutze PA und PB .
Aufg 3: n-stelliges Prädikat P (x1 , . . . , xN ) ist entscheidbar, wenn die Menge
W AHR(P ) = {(x1 , . . . , xn )|P (x1 , . . . , xn ) ist wahr} entscheidbar ist.
Goldbach-Eigenschat von n:
∃p, q (p und q Primzahlen) ∧(p + q = 2n )
Idee: test alle Zerlegungen m + 2n − m = 2n darauf, ob m, 2n − m prim sind.
47
(|{z}
m p, 2n − m p)
| {z }
für m = 2, . . .
Teste: Ist m prim und ist 2n − m prim?
Satz: L ∈ Nk ist entscheidbar ⇔ L aufzählbar. N k \ L aufzählbar.
“:”
“⇐” P1 aufzählt L
P2 aufzählt Nk \ L
(PK8) ∀xϕ(x) → ϕ(t), t beliebiger Term, der nur Var enthält, dir für x frei
sind.
ϕ(x, y) ∀x∀yϕ(x, y)∀y∀xϕ(x, y)
ϕ : Abk. für ϕ(x, y)
ψ1 : ∀x∀yϕ → ∀yϕ
∀xϕ(x) → ϕ(x)
Letzte Woche: Sprache BlooP (“Bounded Lopp”)
Erlaubt einefach zahlentheoretische Funktionen zu berechnen.
Beobachtung: Durch die Beschränkung der Schleifenlängen muss edes derartige Programm nach endlicher Zeit anhalten.
→ BlooP-berechbare Funktionen nenne man auch primitiv-rekursiv
Vermutung (Hilbert 1926): Alle zahlentheoretischen Funktionen sind primitivrekursiv.
Ackermann (1928): Stimmt nicht!
→ Ackermann-Funktion ist nicht primitiv-rekursiv.
Mehr dazu: Übung!
Satz: Es gibt nicht primitiv-rekursive Funktionen.
Argument: Cantors Diagonalmethode
Kurz wiederholt:
(1) Betrachte die Menge aller aufruflosen BlooP-Programme, die Funktionene
von genau einem Input-Parameter berechnen.
(2) Diese Menge ist abzählbar, d.h. jedem Programm lässt sich eine eindeutige
Indexzahl zuordnen. ((A) Sortiere nach Länge
(a) Sortiere lexikografisch, also etwa BAR vor BART vor BAST)
z.B. könnte das zwölfte derartige Programm 2N berechnen. Das 5000. könnte
z.B. N 3 berechnen.
Jetzt nenne wir diese Menge von Programmen “blaue” Programme. Dann
können wir schrieben:
BLAU P ROGRAM Mx [N ]
für das x-te blaue Programm.
Z.B. wäre
BLAU P ROGRAM M12 [N ] = 2N
BLAU P ROGRAM M5000 = N 3
Damit ist BLAU P ROGRAM Mk [N ] im Prinzip eine Funktion mit 2 Eingabeparametern.
In Tabellenform:
48
Eingabe N / Programm K
..
.
12
..
.
1
2
3
4
...
12
...
5000
2
4
6
8
24
...
10000
...
5000
1
Was steht auf der Diagonalen?
8
27
64
(viel)
125.000.000.000
BLAU BLAU [N ] = BLAU P ROGRAM MN [N ]
Das wäre eigentlich auch prima berechenbar. . .
BLAU DIAG[N ] = 1 + BLAU BLAU [N ] = 1 + BLAU P ROGRAM MN [N ]
Frage: Ist diese Funktion primitiv-rekursiv, d.hd. in BlooP programmierbar?
Überlegung: Wenn ja, dann gäbe es ein BlooP-Programm, das BLAU DIAG[N ]
berechnet, also ein blaues Programm, d.h. es hat eine Nummer X, mit der es in
der Liste auftaucht.
Also ist
BLAU DIAG[N ] = BLAU P ROGRAM MX [N ]
und damit auch
BLAU DIAG[X] = BLAU P ROGRAM MX [X]
.
Andererseits war BLAU DIAG[X]definiert als
1 + BLAU P ROGRAM MX [X]
Das ist ein Widerspruch, also ist BLAU DIAG[N ] nicht primitiv-rekursiv.
Das bedeutet: Es gibt Funktionen, bei deren Berechnung man nicht vorhersagen kann, wie Obergrenzen für die einzelnen Schleifen auszusehen haben!
,→ Was passiert, wenn man keine garantierten Schranken für die Anzahl der
Schleifendurchläufe fordert?
→ FlooP (für “Free Loop”)
Beispiel:
PROZEDURDEFINITION INF[B]
BLOCK 0: ANFANG
ZELLE(0) = 2
MU-SCHLEIFE
BLOCK 1: ANFANG
WENN ZELLE(0) = 0 DANN
BEENDE SCHLEIFE
ZELLE(0) = ZELLE(0)+1
BLOCK1: ENDE
BLOCK 0: ENDE
Wichtige Unterscheidung:
1. Programme, die enden
2. Programm, die unendlich weiterlaufen
49
...
Ein superpraktisches Programm wäre das folgendes:
EN DEN D? → liefert für ein Programm JA, wenn es endet. Liefert NEIN,
wenn es nicht endet.
(Codierungdes Inputprogrammes stellen wir uns in geeigneter Weise vor:
z.B. liefert Binärcodierung für jedes Programm eine Binärzahl ds Input für den
hypothetischen Supercompiler.
So ein Compiler würde also nicht nur den Syntax checken, sondern auch
zumindest einen wesentlichen Teil der Semantik.
So ein Compiler wäre nicht nur praktisch, sondern geradezu sensationell!
Wenn man etwa ZELLE(0) = 0 in o.a. Programm durch GOLDBERG[2 ·
ZELLE(0)] = 0 ersetzt, dann heißt das:
Ist 2·ZELLE(0) Summe zweier Primzahlen, dann ist GOLDBERG[2·ZELLE(0)] =
1, also kein Gegenbeispiel gefunden → WEITER!
Ist 2·ZELLE(0) nicht Summe zweier Primzahlen, dann ist GOLDBERG[ZELLE(0)] =
0 also Gegenbeispiel gefunden → STOP!
EN DEN D aus dieses Programm (bzw. seine Codierung) losgelassen würde
also “mal eben” die Wahrheit der Goldberg-Vermutung entscheiden.
Jezt versucen wir die Existenz so eines Supercompilers zu widerlegen!
1. Versuch:
Grüne Programme: Menge aller aufruflosen FlooP-Programme, die Funktoinen genau eines Input-Parameters brauchen.
Das lösst sich auch weiter aufzäheln und numerieren.
Program für Diagonalargument:
Gründiag[N ] = 1+GrünprogrammN [N ] nicht sauber definiert: Programm muss ja nicht stoppen, liefert
{z
}
|
Also: Betrachte nur die stoppenden Programme
,→ Verwende Supercomiler-Programm EN DEN D als Filter für die grünen Programme, der nur endende durchlässt.
Damit:
2. Versuch:
Rote Programme stop!: Menge aller aufruflosen FlooP-Pogramme die Funk|
{z
}
toin mit genau einem Input-Parameter berechnen und für jeden Input stoppen.
Diese Programme können wir (wenn EN DEN D existiert) auszählen, also
jedem eine Nummer zuordnen.
Dann:
ROT DIAG[N ] = 1 + ROT P ROGRAM MN [N ]
ROT DIAG ist (mit Hilfe des EN DEN D-Filter) wohldefiniert und berechenbar - aber nicht im Katalog der roten Programme.
4.3
Entscheidbarkeit der Zahlentheorie
4.3.1
Noch einmal logisches Ableiten: Einige folmale Ableitungssysteme
(I) Anfangsbastein: 1 Bauregeln:
Regel 1: Wenn x gebau werden kann, dann kann 2x gebaut werden.
Regel 2: Wenn x gebaut werden kann und die Form 6y + 4 hat, dann
kann 2y+1 gebaut werden.
50
Regel 2’: (Wenn x gebaut werden kann und die Form 3z + 1 mit z ungerade hat, dann kann z gebaut werden.)
Frage: Kann 42 gebaut werden?
Suche nach Bauanleitung: 1
↓ (1)2 ↓ (1)4 → (2)1(s.o.) ↓ (1)8 ↓ (1)16 → (2)5 → 10 → (20 → 40)|(3 →
6) ↓ (1)32 ↓ (1)64 → (2)21 → (1)42 ↓ (1)128 ↓ (1)256
Wie findet man so eine Bauanleitung systematisch?!
Oft (usn so auch hier) hilft eine “Umkehrung” das Konstrauktionsweges,
d.h. eine Rückverfolgung eines möglichen Ableitungsweges!
Also: 1 ↓ (1)
2 ↓ (1)
4 ↓ (1)
8 ↓ (1)
16 ↓ (1)
32 ↓ (1)
64 ↓ (2)
21 ↓ (1)
42
Rückwärts: Angenomen, 42 ist kontruierbar. Dann ist 42 ein Axiom (NEIN!)
oder durch eine Bauregel entstanden.
Beobachtung: Regel 1 liefert immer gerade Zahlen. Regel 2 liefert immer
ungerade Zahlen.
Also: Wenn 42 kontruierbar ist, dann ist sie aus 21 entstanden.
Wenn 21 kontruierbar ist, dann ist sie aus 64 entstanden. → ALso Ersetze
(rückwärts!) ungerade Zahl 2y + 1 durch 6y + 4 = 3(2y + 1) + 1
Wenn
Wenn
Wenn
Wenn
Wenn
Wenn
64 kb, dann aus 32.
32 kb, dann aus 16.
16 kb, dann aus 8.
8 kb, dann aus 4.
4 kb, dann aus 2.
2 kb, dann aus 1. ← ENDE!
Diese betrachtung liefert also die Folge ci (n) mit c0 (n) = n
ci+1 = c21 für ci gerade3ci + 1fürci ungerade
→ Mehr dazu siehe Übungsaufgabe!
Offene Frage (Ulam):
Gibt es ein n ∈ N, das nicht gebaut werden kann?
(II) Anfangsbaustein: MI Bauregeln:
Regel 1: Wenn xI kb ist, dann ist auch xIU kb.
Regel 2: Wenn Mx kb ist, dann ist auch Mxx kb.
Regel 3: Wenn xIIIy kb ist, dann ist auch xUy kb.
Regel 4: Wenn xUUy kb ist, dann ist auch xy.
51
Frage: Kann M U gebaut werden?
Möglicher Ansatz:
MI ->(1) MIU ->(2) MIUIU
|(2)
v
MII ->(1) MIIU ->(2) MIIUIIU
|(2)
v
MIIII -> ((3) MUI) | ((3)MIU) | ((1) MIIIIU)
|(2)
v
MIIIIIIII
Antwort: MU kann nicht gebaut werden!
Argument: (außerhalb des Regelsystms)
Zahl der Is ist nie durch 3 teilbar! (Beweis durch Induktion).
Daher ist auch MU nicht kontruierbar.
Noch etwas schneller hätte man dieses Argument vielleicht in einer etwas
anderen Codierung des MIU-Systems gefunden: M → 3
U →0
I→1
und insgesamt MUI → 301
Dann heißt offenbar: Zahl der Is in einem Wort ist duch 3 teilbar ⇔
Codezahl durch 3 teilbar.
Beobachtung: Nicht nur einzelne Worte sind codierbar, sondern ganze Beweis, d.h. Ableitungsfolgen.
Beispiel: MI
MII
MIIII
MUI
kann man auch als Zahl codieren: 3131131111301
(Auftrennen in Einzelschritte an den Dreien!)
Formulierung: Zwei Zahlen m und n bilden ein Beweispaar im MIUSystem, genau dann wenn m die Code-Zahl einer Bauvorschrift im MIUSystem, deren letzter Schritt n liefert.
Angenommen, wir wollen die Gültigkeit eines codierten Beweises (d.h.
eines Beweispaares) überprüfen.
Was ist dann zu tun? Beispiel: 3131131111301, 301
Ist das ein Beweispaar?
Kontrolle:
(1) Übersetze m in eine Kette von Einzelschritten im MIU-System.
MI
MII
MIIII
MUI
52
(2) Letzte Zeile stimmt codiert mit n überein.
(3) Überprüfe Einzelschritte: M I → (2)M II → (2)M IIII → (3)M U I
Also ist 301 bzw. MUI kontruierbar!
Beobachtung:
(a) Das Kontrollieren ist ein rein mechanischer Vorgang.
(b) Das Umcodieren kann man sich sparen, indem man die Bauregeln
auf Zahlen übersetzt.
HOPPLA! Dann sind Beweise plötzlich selber Zahlen, dh. die Ebenen zwischen Objekten (Zahlen) und Beweisen (auch Zahlen) werden
verischbar.
Noch ein Beispiel: Ist 31311311130 , 30 ein Beweispaar?
(Hoffentlich nicht, sonst wäre 30 ↔ MU kontruierbar!)
Kontrolle: Decodierung liefert
MI -¿ (2)
MII -¿ x ¡- kein gültiger Schritt!
MIII -¿ (3)
MU
(III) Aussagenlogik:
Anfangsbausteine: 7 Axiome (evtl. wietere Aussagen)
Bauregel: Modus Ponens oder Antrennungsregel
Zwei Arten von Fragen:
(1) Gegeben eine Aussage. Ist sie ableitbar?
(2) Gegeben eine Ableitungsfolge für eine Aussage. Ist sie korrekt?
Frage (2) ist deutlich einfacher!
Das lässt sich genauso mechanisch entscheiden wie im MIU-System.
Frage (1) ist prinzipiell schwieriger, aber prinzipiell noch relativ (!)
vernünftig zu entscheiden:
Σ |= ϕ ⇔ Σ ` ϕ,
und Σ |= ϕ lässt sich inder Aussagenlogik (!) durch überprüfen aller
möglichen Belegungen, d.h. durch Wahrheitstabellen testen.
“Dieser Satz ist nicht beweisbar.”
Möglichkeit W: Der Satz trifft zu. Dann ist er nicht beweisbar.
Möglichkeit F: Der Saatz trifft nicht zu. Dann ist er beweisbar.
Satz (Gödel 1931):
In der Zahlentheorie ist es möglich, solche Aussagen zu formulieren.
Oder: Jedes hinreichend möchtige formale System ist entweder unvollständig
(d.h. es enthält wahre Aussagen, die nicht beweisbar sind) oder widersprüchlich
(d.h. es enthält falsche Aussagen, die beweisbar sind).
4.4
Der Gödelsche Unvollständigkeitssatz
(1) Was heißt hinreichend mächtig?
(2) Widerspricht das nicht dem Gödelschen Vollständigkeitssatz?
53
(3) Wie beweist man den Satz, d.h. wie konstruiert man so eine Aussage?
Antworten:
(1) Mindestens so mächtig wie die Zahlentheorie; damit verfügt man über die
Möglichkeiten:
(a) Sätze über Zahlen zu formulieren
(b) Sätze als Zahlen zu formulieren
Damit kann man Sätze über Sätze formulieren, also hat man prinzipiell die
Möglichkeit, Sätze zu formulieren, die über sich selbst Aussagen machen.
(2) Der Gödelsche Vollstöndigkeitssatz gilt in einem schwächeren System, ohne Zahlentheorie. (Noch anders formuliert: Mit der Theorie der ganzen
Zahlen bewegen wir uns in einem Konkreten Modell.)
(3) Das braucht etwas längerund erfordert etwas Phyntasie und Konzentration. . .
Ideen dazu:
(I) Codiere logische Aussagen über Zahlen als Zahlen
(II) Formuliere Beweisbarkeit als zahlentheoretische Aussage.
(III) Formuliere eine Aussage G, die besagt:
“Aussage G ist nicht beweisbar.”
Schritte:
(I) Codierung: Haben wir im Prinzip gesehen!
z.B. bei Hofstädter:
0 → 666
S → 123 (Nachfolgesymbol: SS0 ist 2)
=→ 111
+ → 112
· → 236
a → 262
0
→ 163
∧ → 161
¬ → 223
∃ → 333
∀ → 626
:→ 636
ST OP → 611
Etwa:
∀a : ¬Sa = 0
wird codiert zu
626.262.636.223.123.262.111.666
- und umgekehrt.
Diese Art der Codierung nennt man auch “Gödelisierung”, 626. . . . .666
ist die Gödelnummer von ∀a : ¬Sa = 0
54
(II) Verwende Begriff des Beweispaares: TNT-Beweispaar (m, n)
bedeutet: m ist Codierung einer Ableitung der zahlentheoretischen
Aussage, die durch n codiert ist.
(Das haben wir für das MIU-System schon gesehen!)
Beobachtung I: Die Eigenschaft, ein Beweispaar zu sein, ist eine
primitiv-rekursive Eigenschaft, die sicht durch ein BlooP-Programm
testen lässt.
Beobachtung II: Die Eigenschaft, Beweispaar zu sein, lässt sich mit
BlooP testen, also durch eine Zahlentheoretische Formel ausdrückbar,
die zwei freie Varable hat.
(III) (i) Verwende den Ausdruck für TNT-Beweispaar (a, a0 ) für die Konstruktion neuer Aussagen!
Beispiel:
∃a : TNT-Beweispaar(a,
. . SS0}
|SS . {z
/a0 )
666.111.666−malS
Bedeutung: “Es gibt eine Zahl a, die die Codierung einer Ableitung der duch 666.111.666 codierten Aussage ist.
oder “0 = 0 ist beweisbar.”
(ii) Finde eine Formel, die über die eigene Codierungszahl spricht
UND behauptet, nicht beweisbar zu sein.
Problem: Codierung von Zahlen auf offensichtliche Weise liefert
Zahlen, die deutlich länger sind.
Trick 1: Beschreibe das Ersetzen von Variablen durch Zahlen als
BlooP-Programm und damit als zahlentheoretischen Ausdruck!
Liefert zahlentheoretischen Ausdruck
SU B(a, a0 , a00 ) :
Ersetzen der freien Variablen, im durch a codierten Ausdruck
durch den Zahlenwert a0 liefert einen Ausdruck, der durch a00
codiert ist.
Trick 2: Betrachte SU B(a00 , a00 , a)
Das bedeutet:
Ersetzt man im durch a00 codierten Ausdruck die freie Variable
durch den Zahlenwert a00 , so erhält man den durch a codierten
Ausdruck.
Kurzform:
ARIT HM OQU IN E(a00 , a)
Mit BlooP testbar, also als zahlentheoretischer Ausdruck formulierbar.
Trick 2 wird oft als Witzgrundlage verwendet:
“Ein Hund lief ni die Küche
und stahl dem Koch ein Ei.
Da nahm der Koch den Löffel
und schlug den Hund zu Brei.
Da kamen alle Hunde und gruben ihm ein Grab
und setzen einen Grabstein
55
wo draufgeschrieben stand:
“Ein Hund lief. . . ” ”
Anderes Beispiel: “Ist kein ganzer Satz” ist kein ganzer Satz.
“Ergibt eine Unwahrheit, wenn ihm sein eigenes Zitat vorangeht”
ergibt einen Unwahrheit wenn ihm sein eigenes Zitat vorangeht.
Nun betracht folgende Formel:
¬∃a : ∃a0 (TNT-Beweispaar(a, a0 ) ∧ ARITHMOQUINE(a00 , a0 ))
Diese Formel (“Onkel”) hat eine Nummer - sagen wir u.
Jetzt Formel G:
¬∃a : ∃a0 : (T N T −Beweispaar(a, a0 )∧ARIT HM OQU IN E(SS
. . SS0} /a00 , a0 ))
| . {z
u−malS
Was sagt die Codierungszahl von G?
ARITHMOQUINIERUNG von u
Bedeutung von G: “Es gibt keine Zahlen a und a’, so dass
(1) beide ein TNT-Beweispaar
und (2) a’ die Arthmoquinierung von u ist.
”
a0 gibt es, also:
“Es gibt keine Zahl a, die mit der Arithmoquinierung von u ein
TNT-Beweispaar bildet.“
Oder: “Die Formel, deren Gödel-Nummer die Arithmoquinierung
von u ist, ist kein Satz von TNT.”
oder: “G ist kein Satz von TNT.”
oder: “Ich bin nicht beweisbar.”
2
Klausur 12.02.05 12:30 - 15:30 Uhr (siehe Webseite), Wer? > 45%
Erlaubt
ABER
- Skripten
→ keine sonstige Bücher
- Übungsblätter
→ keine Taschenrechner
- eigene Aufzeichnungen → keine Laptops/schweres Gerät
- Logik-Buch/Skript
→ KEINE HANDYS!
Nächste Woche Mittwoch
→ bis nächste Woche Diesntag 14 Uhr. E-Mail an mich mit Wünschen bzgl.
Logik-Vorbereitung.
Freitag? Ich werde da sein für Fragen
Kapitel 1 → Aussagenlogik
1) Syntax → Formale Regeln!
2) Semantik → Bedeutung von Aussagen (Wahrheitsgehalt)
zu 1) Box 1
zu 2) Bedeutung: Wahrheitswert
→ “Belegungen” durch Wahrheitswerte
Box 2 (Belegungen)
Gegeben: Variablenmenge V
Formel ϕ
56
F : V (ϕ) → {0, 1}
F ∗ (ϕ) rekursiv definiert.
F ∗ (ϕ) = 1 → F |= ϕ
ϕ ist erfüllt bei Belegung F
→ erfüllbar
→ widerspruchsvoll
→ allgemeingültig (Tautologie)
Aufgabe (Klausur, letztes Jahr)
Gegeben: ϕ1 = ¬(p → (p ∨ q))
ϕ2 = (p → q) ↔ (p → r)
a) Bestimmen Sie Wahrheitstabellen für ϕ1 und ϕ2
b) Welche sind erfüllbar oder allgemeingültig.
→ Wichtige Äquivalenzen
Normalformen:
• Konjunktive Normalform (KNF) (Konjuktion von Elementaralternativen)
• Alternative Normalform (ANF)
Beispiel: ϕ := (p → q) → (¬q → ¬p); Finde KFN für ϕ
(1) ¬(¬p ∨ q) ∨ (¬(¬q) ∨ ¬p)
(2) (¬(¬p ∧ ¬q) ∨ (¬(¬q) ∨ ¬p)
(3) (p ∧ ¬q) ∨ (q ∨ ¬p)
(Ersetzen von →)
(Negation ausführen)
(weglassen von ¬¬)
(4) (p ∨ q ∨ ¬p) ∧ (¬q ∨ q ∨ ¬p)
(Distributivität) (KNF)
Aufgabe (Klausur, letztes Jahr)
Gegeben sei der Ausdruck ϕ = (p ∨ q) → (p ∨ r)
(a) Bestimmen Sie KNF von ϕ mittels Äquivalenzumformungen
(b) Berechnen Sie die ANF von ϕ nach einer Methode Ihrer Wahl
p q r p ∨ q p ∨ r (p ∨ q) → (p ∨ r)
0
0
1
(1) 0 0 0
(2) 0 0 1
0
1
1
(3) 0 1 0
1
0
0
(4) 1 0 0
1
1
1
1
1
1
(5) 0 1 1
(6) 1 1 0
1
1
1
(7) 1 0 1
1
1
1
(8) 1 1 1
1
1
1
¬p ∧ ¬q ∧ ¬r) für (1) ∨(¬p ∧ ¬q ∧ r) für (2) ∨(p ∧ ¬q ∧ ¬r) für (4) ∨ . . .
Wie leitet man die KNF aus W-Tabelllen her?
Für ¬ϕ liegt man folgendes aus der W-Tabelle:
¬ϕ = ¬p ∧ q¬r
ϕ = ¬¬ϕ = ¬(¬p ∧ q ∧ ¬r) = (p ∨ ¬q ∨ r)
← KNF
Folgern
57
• Σ Menge von Ausdrücken
• F Realisierungen von Σ(F |= Σ)
• Σ |= ϕ (ϕ folgt aus Σ) gdw F |= ϕ für alle ϕ ∈ Σ
• Ded(Σ) (Deduktiver Abschluss) = alle Folgerungen aus Σ.
Ded(∅) = alle Tautologien, Ded(Widerspruchsvolle Σ) = Alles
Aufgabe (Klausur, ’04)
Bestimmen Sie, ob da ϕ ∈ Ded(Σ) gilt, wobei Σ = {ϕ1 , ϕ2 } mit
ϕ1 = (p → r) → (p ∧ q)
ϕ2 == (p ∧ q) ∨ (¬p ∧ r)
ϕ = (p → q) ↔ r.
Schlussregeln
→ Formaler Beweis Σ ` ϕ
Gegeben: Menge Σ, Schlussregeln
ϕ ableitbar aus Σ, wenn mit Σ und endl.Folge von Anwendungen der Schlussregeln konstruierbar!
→ Axiome
→ Direkte Konsequenz
→ Deduktionstheorem
Σ ableitbar.
ist ψ aus Σ ∪ {ϕ} ableitbar, dann ist ϕ → ψ aus
Aufgabe (Klausur, ’04)
}|
{
}|
{
z
z
Gegeben Sei ϕ = ∃x[(∀x(x < y)) → (∀y(y ≤ x))]
ϕ1
ϕ2
Zeigen Sie, dass ϕ erfüllbar ist.
Kapitel 2 (Prädikatenlogik)
→ Logik auf mathematischen Strukturen
A =< A, f1 , . . . , fm , R1 , . . . , Rn , a1 , . . . , ak >
→ Terme
→ Prädikate:
– t1 = t2 , wobei t1 , t2 Terme
– P (t1 , . . . , tn ), wobei P Relationssysmbol ist ti Terme
→ Ausdrücke (Formeln)
→ Quantoren ∀xϕ, ∃xϕ
∀x((∀y(Ki(y, x) → F l(y))) → Gl(x))
∀x((∀y(Ki(y, x) ∧ F l(y)) → Gl(x))
{z
}
|
f alsch
in ϕ2 - y ist gebunden - x ist in ϕ2 zwar frei, ABER in ϕ ist X in Wirkungsbereich des Quantors ∃. (siehe ϕ = ∃x[. . .]). x ist eine gebundene Variable!
58
Bsp2: (aus der Klausur 03/04)
ϕ = ∃x[(∀x(x ≤ y)) → (∀y(y ≤ x))]
|
|
{z
}
{z
}
ϕ1
ϕ2
[...]
Schreibweise: ϕ(x1 , . . . , xn ), um anzudeuten, dass x1 , . . . , xn die freien Variablen im Ausdruck ϕ sind.
Mit freien Variablen:
ϕ(x1 , . . . , xn ) ist gültig in A ⇔ ∀x1 , x2 . . . ∀xn ϕ(x1 , . . . , xn ) für Struktur A
ist gültig in A
- Elementare Sprachen:
• Idee: Aussagen über ganze Mengen von Objekten auf einmal!
• Box 9
• Allgmeien: L(F1 , . . . , Fn , P1 , . . . , Pn , c1 , . . . , cn ) mit Stelligkeit σ{F1 , . . . , Fn , P1 , . . . , Pm } →
N → Sprache aller Strukturen mit m Fktn, n, Relationen, k Konst mit
entspr. Stelligkeiten.
• Wichtiger Begriff: “Modell” für Sprachen A |= ϕ für “ϕ ist wahr in A”
• Gültigkeit und Wahrheitswert von Ausdrücken: erfüllbar: ϕ ist erfüllbar:
es gibt Struktur A, so dass A |= ϕ
allgemeingültig: ϕ ist allgemeingültig: Für jede Struktur A mit passender
Stelligkeit gilt: A |= ϕ
Bsp: (Box II)
ϕ(x, y) := (x < y) ↔ ∃z((y = x + z) ∧ (y 6= x))
andere Möglichkeit:
R(x, y) ↔ ∃z((y = f (x, z)) ∧ ¬(y = x))
Modell für ϕ(x, y) :< N, +, <>
< N, +, <> ϕ(x, y)
Kein Modell für ϕ(x, y)
< R, +, <>6|= ϕ(x, y)
Äquivalenzen (siehe entspr. Box)
→ Pränexe Normalform
|___________| |____________|
Quantoren
Aussagenteil
"Vorspann"
∀x((∀y(Ki(y, x) → F l(y))) → Gl(x))
[p → q = ¬p ∨ q]
= ∀x(¬ϕ(∀y(Ki(y, x) → F l(y))) ∨ Gl(x))
(zweiten → ersetzt)
= ∀x(¬(∀y(¬Ki(y, x) ∨ F l(y))) ∨ Gl(x))
(wieder → ersetzt)
59
= ∀x(∃y (Ki(y, x) ∧ ¬F l(y)) ∨ Gl(x))
|
{z
} | {z }
= ∀x∃y((Ki(y, x) ∧ ¬F l(y)) ∨Gl(x))
|
{z
}
Folgerung: Ausdruck ϕ folgt aus Menge von Ausdrücken Σ: Für jeden Modell A von Σ gilt A |= ϕ.
(Unterschied zur Aussagenlogik: da warne die gesuchten Objekte Belegungen: d.h. in der Aussagenlogik Σ |= ϕ ⇔ Für jede Belegung F die alle Ausdrücke
aus Σ erfüllt, gilt F |= ϕ.
Ableiten: Σ ` ϕ: ϕ lässt sich durch Axiome und Folgerungsregeln aus Σ
ableiten
Vollständigkeitssatz:
Σ |= ϕ ⇔ Σ ` ϕ
Fürs Ableiten ist das Deduktionstheorem hilfreich.
→ Sei ϕ eine Aussage und ψ ein Ausdruck. Ist ψ aus T ∪ {ϕ} ableitbar, so ist
ϕ → ψ aus T ableitbar.
- Aufabe Beispiel: Gegeben Ableitungsfolge. Ist sie korrekt?
- Betrachte Generalisierung: Für jede Variable X ist ∀xϕ eine direkte Konsequenz von ϕ
60
Herunterladen