Mathematik und Logik - Institute for Algebra

Werbung
Mathematik
und Logik
2008W
Logik
Aussagenlogik
Logische Implikation,
⇒
∧
Logische Konjunktion,
Logische Äquivalenz,
Mathematik und Logik
⇐⇒
∨
Logische Disjunktion,
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
2008W
∃
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
Institut für Algebra
Johannes Kepler Universität Linz
Vorlesung im 2008W
http://www.algebra.uni-linz.ac.at/Students/Win/ml
Mathematik
und Logik
Inhalt
2008W
Logik
Logik
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
∨
Logische Disjunktion,
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
Logische Implikation,
⇒
∧
∨
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz, ⇐⇒
Logische Disjunktion, ∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-Howard-Isomorphismus
Mathematik
und Logik
Aussagen
2008W
Logik
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
∨
Prädikatenlogik
Allquantor,
Die mathematische Logik verwendet mathematische Methoden, um
das logische Denken formal zu beschreiben.
I Populäre Definition: Eine Aussage ist ein Satz, der entweder
falsch oder wahr ist.
I
Problem: Wie definiert man wahr und falsch?
I
Ein Beweis stellt sicher, daß eine Aussage wahr ist.
I
Definition: Eine Aussage ist eine Konstruktion, durch welche
festgelegt wird, wie ihre Beweise zu konstruieren sind.
I
Eine Aussage, die wir nicht beweisen können, muß nicht
unbedingt falsch sein.
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
Logische Konjunktion,
Curry-HowardIsomorphismus
Mathematik
und Logik
Definition der Implikation, ⇒
2008W
Logik
Formation
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
∨
Logische Disjunktion,
Prädikatenlogik
Allquantor,
Introduktion
Um P ⇒ Q zu beweisen, muß man Q beweisen, wobei man einen
Beweis von P voraussetzen darf.
∀
Existenzquantor,
Sind P und Q Aussagen, dann bezeichnet P ⇒ Q ebenfalls eine
Aussage, die Implikation von P und Q.
∃
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
Elimination
Hat man einen Beweis von P ⇒ Q, so reicht ein Beweis von P, um
auch Q zu beweisen.
Schlußregeln
P
..
.
Q
P⇒Q
⇒I
P⇒Q
Q
P
⇒E
Mathematik
und Logik
Definition der Konjuktion, ∧
2008W
Logik
Formation
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
∨
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
Logische Konjunktion,
Curry-HowardIsomorphismus
Sind P und Q Aussagen, dann bezeichnet P ∧ Q ebenfalls eine
Aussage, die Konjunktion von P und Q.
Introduktion
Um P ∧ Q zu beweisen, muß man sowohl P als auch Q beweisen.
Elimination
Hat man einen Beweis von P ∧ Q so auch einen Beweis von P, und
auch einen Beweis von Q.
Schlußregeln
P Q
∧I
P ∧ Q
P ∧ Q
∧E0
P
P ∧ Q
∧E1
Q
Mathematik
und Logik
Kommutativität der Konjunktion
2008W
Logik
Satz
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Die logische Konjunktion ist kommutativ, d.h. die Aussage
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
A ∧ B⇒B ∧ A
∨
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
Logische Konjunktion,
Curry-HowardIsomorphismus
ist allgemeingültig.
Beweis.
A ∧ B
A ∧ B
A ∧ B
∧E1
∧E0
B
A
∧I
B ∧ A
A ∧ B⇒B ∧ A
⇒I
Mathematik
und Logik
Definition der Äquivalenz, ⇐⇒
2008W
Logik
Notation
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
∨
Logische Disjunktion,
Bemerkung
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
Zwei Aussagen sind äquivalent wenn sie vom logischen Standpunkt
aus betrachtet gleichwertig sind.
∃
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
Die logische Äquivalenz wird mit P ⇐⇒ Q bezeichnet und ist
lediglich eine Abkürzung für (P ⇒ Q) ∧ (Q ⇒ P).
Mathematik
und Logik
Definition der Disjunktion, ∨
2008W
Logik
Formation
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
∨
Logische Disjunktion,
Prädikatenlogik
Allquantor,
Introduktion
Um P ∨ Q zu beweisen, genügt es, P zu beweisen, oder Q zu
beweisen.
∀
Existenzquantor,
Sind P und Q Aussagen, dann bezeichnet P ∨ Q ebenfalls eine
Aussage, die Disjunktion von P und Q.
∃
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
Elimination
Folgt irgendeine Aussage R sowohl aus P als auch aus Q, dann folgt
sie auch aus P ∨ Q (Beweis durch Fallunterscheidung).
Schlußregeln
P
∨I0
P ∨ Q
Q
∨I1
P ∨ Q
P
Q
..
.
R
..
.
R
R
P ∨ Q
∨E
Mathematik
und Logik
Beispiel: Distributivität
2008W
Logik
B ∧ C
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
∨
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
Logische Konjunktion,
Curry-HowardIsomorphismus
A
A
∨I0
A ∨ B
B ∧ C
∧E0
B
∨I1
A ∨ B
A ∨ B
A ∨ (B ∧ C )
∨E
A ∨ (B ∧ C )
..
..
.
.
analog
siehe oben
..
..
.
.
A ∨ B
A ∨ C
∧I
(A ∨ B) ∧ (A ∨ C )
⇒I
A ∨ (B ∧ C ) ⇒ (A ∨ B) ∧ (A ∨ C )
Mathematik
und Logik
Allquantor, ∀
2008W
Logik
I
Sei X ein Datentyp, und P[x] für jedes x X eine Aussage. Dann
bezeichnet ∀x X P[x] eine All-Aussage.
I
Die All-Aussage drückt eine universelle Quantifizierung aus.
Ein Beweis von ∀x X P[x] konstruiert für jedes beliebige x X
einen Beweis von P[x].
Aussagenlogik
Logische Implikation,
⇒
∧
Logische Konjunktion,
Logische Äquivalenz,
⇐⇒
∨
Logische Disjunktion,
I
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
I
Praktisch: Es sei ∀x X P[x] zu beweisen.
Vorgangsweise: Annahme x X ; beweise P[x].
I
Hängt P[x] nicht von x ab, dann liegt eine normale Implikation
vor: ∀x X P ist dasselbe wie X → P.
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
Mathematik
und Logik
Allquantor, Introduktion und Elimination
2008W
Logik
I
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
I
⇐⇒
Logische Disjunktion,
∨
..
.
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
P[x]
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
∀x X P[x]
Logische Konjunktion,
Curry-HowardIsomorphismus
Um ∀x X P[x] zu beweisen, muß man P[x] für ein beliebiges
x X beweisen.
∀-Introduktion:
x X
I
I
∀I
Wurde ∀x X P[x] bewiesen, und ist a X , dann hat man einen
Beweis von P[a].
∀-Elimination:
∀x X P[x] a X
∀E
P[a]
Mathematik
und Logik
Allquantor, Beispiel
2008W
Logik
Aussagenlogik
Logische Implikation,
⇒
∧
Logische Konjunktion,
Logische Äquivalenz,
∀x X A[x] ∨ ∀y Y B[y]
⇐⇒
Logische Disjunktion,
∨
x X
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
Logische Konjunktion,
Curry-HowardIsomorphismus
y Y
..
.
A[x] ∨ B[y]
∀I
∀y Y (A[x] ∨ B[y])
∀x X ∀y Y (A[x] ∨ B[y])
∀I
⇒I
∀x X A[x] ∨ ∀y Y B[y] ⇒ ∀x X ∀y Y (A[x] ∨ B[y])
Mathematik
und Logik
Allquantor: Beispiel (Fortsetzung)
2008W
Logik
Aussagenlogik
Logische Implikation,
⇒
∧
Annahmen: ∀x X A[x] ∨ ∀y Y B[y],
Zu beweisen:
x X,
y Y
Logische Konjunktion,
∀x X A[x]
∀y Y B[y]
..
.
..
.
A[x] ∨ B[y]
A[x] ∨ B[y]
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
∨
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
∀x X A[x] ∨ ∀y Y B[y] ⇒ A[x] ∨ B[y]
∨E
Logische Konjunktion,
Curry-HowardIsomorphismus
Die beiden Fälle:
∀x X A[x] x X
∀E
A[x]
∨I0
A[x] ∨ B[y]
∀y Y B[y] y Y
∀E
B[y]
∨I1
A[x] ∨ B[y]
Mathematik
und Logik
Existenzquantor, ∃
2008W
Logik
I
Sei X ein Datentyp, und P[x] für jedes x X eine Aussage. Dann
bezeichnet ∃x X P[x] eine Existenz-Aussage.
I
Die Existenzaussage drückt eine existenzielle Quantifizierung
aus.
Ein Beweis von ∃x X P[x] konstruiert ein a X und einen
Beweis von P[a].
Aussagenlogik
Logische Implikation,
⇒
∧
Logische Konjunktion,
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
∨
Prädikatenlogik
Allquantor,
I
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
I
Praktisch: Es sei ∃x X P[x] zu beweisen.
Vorgangsweise: Man wählt ein passendes a X , und versucht
damit P[a] zu beweisen.
I
Hängt P[x] nicht von x ab, dann liegt eine normale Konjunktion
vor: ∃x X P ist dasselbe wie X ∧ P.
Logische Konjunktion,
Curry-HowardIsomorphismus
Mathematik
und Logik
Existenzquantor: Introduktion und
Elimination
2008W
Logik
Aussagenlogik
Logische Implikation,
⇒
∧
I
∨
I
Logische Konjunktion,
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Um ∃x X P[x] zu beweisen, muß man ein a X finden und
damit P[a] beweisen.
a X P[a]
∃-Introduktion:
∃I
∃x X P[x]
I
Wurde ∃x X P[x] bewiesen, so kann man für’s weitere
annehmen, daß es ein soches Objekt gibt.
I
∃-Elimination:
Logische Implikation,
Curry-HowardIsomorphismus
y X
P[y]
..
.
Q
∃x X P[x]
Q
∃E
Mathematik
und Logik
Implikation, ⇒
2008W
Logik
I
Schlußregeln:
Aussagenlogik
x P
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
..
.
t[x] Q
⇐⇒
∨
Logische Disjunktion,
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
x 7→ t[x] P ⇒ Q
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
⇒I
f P ⇒ Q x P
⇒E
fx Q
I
Der Beweis einer Implikation ist ein Algorithmus,
I
I
der für jeden Input vom Typ P einen Output vom Typ Q liefert.
Funktionsdatentyp: Schreibweise: P → Q oder Q P .
I
Konstruktor: Abstraktion: (7→);
I
Selektor: Funktionsanwendung: apply.
Mathematik
und Logik
Logische Konjunktion, ∧
2008W
Logik
I
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
∀
Existenzquantor,
∃
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Curry-HowardIsomorphismus
z P ∧ Q
∧E1
snd z Q
∨
Logische Disjunktion,
Prädikatenlogik
Allquantor,
Introduktion und Elimination
x P y Q
z P ∧ Q
∧I
∧E0
(x, y) P ∧ Q
fst z P
I
Ein Beweis der Konjunktion P ∧ Q ist ein Paar,
I
dessen Komponenten die Typen P bzw. Q haben.
Verbunddatentyp (Direktes Produkt): P × Q.
Konstruktor: (, ) P → Q → P × Q;
Selektoren: fst P × Q → P, snd P × Q → Q.
I
I
I
Mathematik
und Logik
Kommutativität der Konjunktion
2008W
Logik
Satz
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
A ∧ B ⇒ B ∧ A.
Logische Äquivalenz,
⇐⇒
Logische Disjunktion,
∨
I
Prädikatenlogik
Allquantor,
cA ∧ B
∀
Existenzquantor,
Beweis:
∃
cA ∧ B
cA ∧ B
∧E1
∧E0
snd c B
fst c A
∧I
(snd c, fst c) B ∧ A
Datentypen
⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Logische Implikation,
Curry-HowardIsomorphismus
c 7→ (snd c, fst c) A ∧ B ⇒ B ∧ A
⇒I
I
commute A × B → B × A, c 7→ (snd c, fst c),
I
Intuitiver: (a, b) 7→ (b, a).
I
Äquivalenz:
c 7→ (snd c, fst c), c 7→ (snd c, fst c) A ∧ B ⇔ B ∧ A.
Mathematik
und Logik
Logische Disjunktion, ∨
2008W
Logik
I
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
∨
Logische Disjunktion,
∀
Existenzquantor,
y Q
∨I1
Right y P ∨ Q
f P ⇒ R g Q ⇒ R
∨E
either f g P ∨ Q ⇒ R
Prädikatenlogik
Allquantor,
Introduktion und Elimination
x P
∨I0
Left x P ∨ Q
∃
Datentypen
Logische Implikation,
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
I
Ein Beweis der Disjunktion P ∨ Q ist einer von P oder von Q,
und als solcher gekennzeichnet.
I
Disjunkte Vereinigung (Direkte Summe): P + Q.
Konstruktoren: Left P → P + Q, Right Q → P + Q;
Selektor: either (P → R) → (Q → R) → (P + Q → R).
Curry-HowardIsomorphismus
I
I
Mathematik
und Logik
Beispiel: A ∨ (B ∧ C ) ⇒ A ∨ B
2008W
Logik
y B ∧ C
Aussagenlogik
a A
⇒
Logische Konjunktion, ∧
Logische Implikation,
Logische Äquivalenz,
⇐⇒
∨
Logische Disjunktion,
Prädikatenlogik
Allquantor,
⇒I
⇒
a 7→ Left a A ⇒ A ∨ B
y 7→ Right(fst y) B ∧ C ⇒ A ∨ B
either(a 7→ Left a) (y 7→ Right(fst y)) A ∨ (B ∧ C ) ⇒ A ∨ B
∀
Existenzquantor,
∃
Datentypen
Logische Implikation,
a A
∨I0
Left a A ∨ B
y B ∧ C
∧E1
fst y B
∨I1
Right(fst y) A ∨ B
⇒
∧
∨
Logische Konjunktion,
Logische Disjunktion,
Mit
Curry-HowardIsomorphismus
f A ∨ (B ∧ C ) ⇒ A ∨ B
g A ∨ (B ∧ C ) ⇒ A ∨ C
erhalten wir auch:
(f , g) A ∨ (B ∧ C ) ⇒ (A ∨ B) ∧ (A ∨ C )
Es gibt auch: h (A ∨ B) ∧ (A ∨ C ) ⇒ A ∨ (B ∧ C )
Mathematik
und Logik
Curry-Howard-Isomorphismus
2008W
Logik
I
Aussagenlogik
⇒
Logische Konjunktion, ∧
Logische Implikation,
I
Logische Äquivalenz,
Eine Aussage legt den Datentyp ihrer Beweise fest.
Ein Datentyp entspricht der Aussage, daß es ein Objekt dieses
Typs gibt.
⇐⇒
Logische Disjunktion,
∨
I
Jeder Algorithmus, der ein Objekt eines bestimmten Datentyps
konstruiert, ist ein Beweis, daß es ein solches gibt.
I
Aussagen entsprechen Programmspezifikationen.
I
Beweise entsprechen Programmen.
Man kann Aussagen beweisen, indem man ein Objekt vom
passenden Typ konstruiert.
Aus mathematischen Beweisen lassen sich verifizierte
Programme extrahieren.
Prädikatenlogik
Allquantor,
∀
Existenzquantor,
∃
Datentypen
⇒
∧
Logische Disjunktion, ∨
Logische Implikation,
Logische Konjunktion,
I
Curry-HowardIsomorphismus
I
I
Fehlerfreie Software beliebiger Komplexität ist möglich.
Herunterladen