Mathematik und Logik Inhalt Aussagen Definition der Implikation

Werbung
Mathematik
und Logik
Mathematik
und Logik
2007W
2007W
Logik
Logik
Aussagenlogik
Aussagenlogik
Logische Implikation, ⇒
Logische Implikation, ⇒
Mathematik und Logik
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Logische Disjunktion, ∨
Prädikatenlogik
Prädikatenlogik
2007W
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Institut für Algebra
Johannes Kepler Universität Linz
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Curry-HowardIsomorphismus
Vorlesung im 2007W
http://www.algebra.uni-linz.ac.at/Students/Win/ml
Definition der Konjuktion, ∧
Formation
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
Mathematik
und Logik
2007W
Logik
Aussagenlogik
Inhalt
Mathematik
und Logik
2007W
Logik
Logik
Aussagenlogik
Logische Implikation, ⇒
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz, ⇐⇒
Logische Disjunktion, ∨
2007W
Logik
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Logische Implikation, ⇒
Existenzquantor, ∃
Datentypen
Curry-HowardIsomorphismus
Logische Implikation, ⇒
Curry-HowardIsomorphismus
Mathematik
und Logik
2007W
Logik
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Mathematik
und Logik
2007W
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.
Logik
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Prädikatenlogik
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.
Logische Disjunktion, ∨
Definition der Implikation, ⇒
Allquantor, ∀
Existenzquantor, ∃
Datentypen
A ∧ B
A ∧ B
A ∧ B
∧E1
∧E0
B
A
∧I
B ∧ A
Elimination
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Logische Implikation, ⇒
Hat man einen Beweis von P ⇒ Q, so reicht ein Beweis von P, um
auch Q zu beweisen.
Schlußregeln
Notation
Die logische Äquivalenz wird mit P ⇐⇒ Q bezeichnet und ist
lediglich eine Abkürzung für (P ⇒ Q) ∧ (Q ⇒ P).
Bemerkung
Zwei Aussagen sind äquivalent wenn sie vom logischen Standpunkt
aus betrachtet gleichwertig sind.
Curry-HowardIsomorphismus
Logische Disjunktion, ∨
Um P ⇒ Q zu beweisen, muß man Q beweisen, wobei man einen
Beweis von P voraussetzen darf.
Definition der Äquivalenz, ⇐⇒
Logische Disjunktion, ∨
Logik
Introduktion
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Definition der Disjunktion, ∨
Formation
Sind P und Q Aussagen, dann bezeichnet P ∨ Q ebenfalls eine
Aussage, die Disjunktion von P und Q.
Introduktion
Um P ∨ Q zu beweisen, genügt es, P zu beweisen, oder Q zu
beweisen.
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
P
∨I0
P ∨ Q
..
.
⇒I
P⇒Q
Q
P
⇒E
⇒I
Logische Konjunktion, ∧
2007W
Sind P und Q Aussagen, dann bezeichnet P ⇒ Q ebenfalls eine
Aussage, die Implikation von P und Q.
Q
Beweis.
Logische Implikation, ⇒
Mathematik
und Logik
Formation
P⇒Q
ist allgemeingültig.
A ∧ B⇒B ∧ A
Die mathematische Logik verwendet mathematische Methoden, um
das logische Denken formal zu beschreiben.
Logische Konjunktion, ∧
A ∧ B⇒B ∧ A
Logische Disjunktion, ∨
Aussagen
Allquantor, ∀
Die logische Konjunktion ist kommutativ, d.h. die Aussage
Logische Konjunktion, ∧
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
Logische Disjunktion, ∨
Prädikatenlogik
Satz
Logische Disjunktion, ∨
Prädikatenlogik
P ∧ Q
∧E1
Q
Kommutativität der Konjunktion
Logische Äquivalenz,
⇐⇒
Datentypen
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-Howard-Isomorphismus
Mathematik
und Logik
P ∧ Q
∧E0
P
Q
∨I1
P ∨ Q
P⇒R Q⇒R
∨E
P ∨ Q
R
Mathematik
und Logik
2007W
Logik
Allquantor, ∀
I
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
I
I
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
2007W
Logik
Hängt P[x] nicht von x ab, dann liegt eine normale Implikation
vor: ∀x X P ist dasselbe wie X → P.
I
Logische Implikation, ⇒
Logische Äquivalenz,
⇐⇒
I
Logische Disjunktion, ∨
Datentypen
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
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].
Logische Disjunktion, ∨
Prädikatenlogik
I
Allquantor, ∀
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, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Mathematik
und Logik
2007W
Logik
Existenzquantor: Introduktion und
Elimination
Aussagenlogik
Logische Implikation, ⇒
I
Logische Disjunktion, ∨
I
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
∀x X P[x]
Logische Implikation, ⇒
Logische Äquivalenz,
⇐⇒
Logische Äquivalenz,
⇐⇒
P[x]
Existenzquantor, ∃
Logische Konjunktion, ∧
Logische Konjunktion, ∧
..
.
Allquantor, ∀
Sei X ein Datentyp, und P[x] für jedes x X eine Aussage.
Dann bezeichnet ∃x X P[x] eine Existenz-Aussage.
Logische Implikation, ⇒
Logische Implikation, ⇒
x X
Prädikatenlogik
I
Aussagenlogik
Datentypen
Um ∀x X P[x] zu beweisen, muß man P[x] für ein beliebiges
x X beweisen.
∀-Introduktion:
Logik
Existenzquantor, ∃
Existenzquantor, ∃
Allquantor, Introduktion und Elimination
Aussagenlogik
Logische Konjunktion, ∧
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].
I
Curry-HowardIsomorphismus
Mathematik
und Logik
Sei X ein Datentyp, und P[x] für jedes x X eine Aussage.
Dann bezeichnet ∀x X P[x] eine All-Aussage.
Praktisch: Es sei ∀x X P[x] zu beweisen.
Vorgangsweise: Annahme x X ; beweise P[x].
Logische Implikation, ⇒
Logische Disjunktion, ∨
2007W
I
Datentypen
Logische Konjunktion, ∧
Mathematik
und Logik
∀I
Datentypen
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, ⇒
Logische Konjunktion, ∧
I
Wurde ∀x X P[x] bewiesen, und ist a X , dann hat man einen
Beweis von P[a].
I
∀-Elimination:
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]
Curry-HowardIsomorphismus
y X
P[y]
..
.
∀x X P[x] a X
∀E
P[a]
Q
∃x X P[x]
Q
Mathematik
und Logik
2007W
Allquantor, Beispiel
Mathematik
und Logik
2007W
Logik
Logik
Aussagenlogik
Aussagenlogik
Logische Implikation, ⇒
Logische Äquivalenz,
⇐⇒
Existenzquantor, ∃
Logische Implikation, ⇒
Logische Konjunktion, ∧
Allquantor, ∀
Existenzquantor, ∃
Curry-HowardIsomorphismus
∀y Y
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
∀I
(A[x] ∨ B[y])
∀I
⇒I
∀x X A[x] ∨ ∀y Y B[y] ⇒ ∀x X ∀y Y (A[x] ∨ B[y])
2007W
Logik
Aussagenlogik
Logische Implikation, ⇒
Allquantor: Beispiel (Fortsetzung)
x X,
Annahmen: ∀x X A[x] ∨ ∀y Y B[y],
Zu beweisen:
Mathematik
und Logik
2007W
y Y
∀y Y B[y]
..
.
..
.
A[x] ∨ B[y]
A[x] ∨ B[y]
Logische Disjunktion, ∨
Existenzquantor, ∃
Datentypen
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Der Beweis einer Implikation ist ein Algorithmus,
I
der für jeden Input vom Typ P einen Output vom Typ Q liefert.
I
Funktionsdatentyp: Schreibweise: P → Q oder Q P .
I
Konstruktor: Abstraktion: (7→);
I
Selektor: Funktionsanwendung: apply.
Logische Konjunktion, ∧
I
Aussagenlogik
Logische Konjunktion, ∧
∀x X A[x]
Prädikatenlogik
Allquantor, ∀
Logik
I
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
∀x X A[x] ∨ ∀y Y B[y] ⇒ A[x] ∨ B[y]
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
∨E
Datentypen
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Die beiden Fälle:
∀x X A[x] x X
∀E
A[x]
∨I0
A[x] ∨ B[y]
f P ⇒ Q x P
⇒E
fx Q
⇒I
Logische Implikation, ⇒
∀x X ∀y Y (A[x] ∨ B[y])
Mathematik
und Logik
x 7→ t[x] P ⇒ Q
Datentypen
A[x] ∨ B[y]
Logische Disjunktion, ∨
..
.
t[x] Q
Logische Disjunktion, ∨
Prädikatenlogik
..
.
Schlußregeln:
x P
Logische Äquivalenz,
⇐⇒
y Y
Allquantor, ∀
Datentypen
I
Logische Konjunktion, ∧
x X
Logische Disjunktion, ∨
Prädikatenlogik
Implikation, ⇒
Logische Implikation, ⇒
∀x X A[x] ∨ ∀y Y B[y]
Logische Konjunktion, ∧
∃E
Curry-HowardIsomorphismus
∀y Y B[y] y Y
∀E
B[y]
∨I1
A[x] ∨ B[y]
Introduktion und Elimination
x P y Q
z P ∧ Q
∧I
∧E0
(x, y) P ∧ Q
fst z P
z P ∧ Q
∧E1
snd z Q
I
Ein Beweis der Konjunktion P ∧ Q ist ein Paar,
I
dessen Komponenten die Typen P bzw. Q haben.
I
I
Verbunddatentyp (Direktes Produkt): P × Q.
Konstruktor: (, ) P → Q → P × Q;
I
Selektoren: fst P × Q → P,
snd P × Q → Q.
Mathematik
und Logik
2007W
Logik
Aussagenlogik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Kommutativität der Konjunktion
I
Existenzquantor, ∃
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Logik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Beweis:
Logische Disjunktion, ∨
Prädikatenlogik
Allquantor, ∀
cA ∧ B
cA ∧ B
∧E1
∧E0
snd c B
fst c A
∧I
(snd c, fst c) B ∧ A
Logische Implikation, ⇒
c 7→ (snd c, fst c) A ∧ B ⇒ B ∧ A
Äquivalenz:
c 7→ (snd c, fst c), c 7→ (snd c, fst c) A ∧ B ⇔ B ∧ A.
Logische Disjunktion, ∨
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Allquantor, ∀
Existenzquantor, ∃
Logische Konjunktion, ∧
Es gibt auch: h (A ∨ B) ∧ (A ∨ C ) ⇒ A ∨ (B ∧ C )
Aussagenlogik
Logische Implikation, ⇒
I
I
I
I
Ein Beweis der Disjunktion P ∨ Q ist einer von P oder von Q,
und als solcher gekennzeichnet.
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-Howard-Isomorphismus
I
Eine Aussage legt den Datentyp ihrer Beweise fest.
I
Ein Datentyp entspricht der Aussage, daß es ein Objekt dieses
Typs gibt.
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.
I
Man kann Aussagen beweisen, indem man ein Objekt vom
passenden Typ konstruiert.
I
Aus mathematischen Beweisen lassen sich verifizierte
Programme extrahieren.
I
Fehlerfreie Software beliebiger Komplexität ist möglich.
Logische Konjunktion, ∧
Logische Äquivalenz,
⇐⇒
Logische Disjunktion, ∨
Prädikatenlogik
Allquantor, ∀
Existenzquantor, ∃
Datentypen
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
(f , g) A ∨ (B ∧ C ) ⇒ (A ∨ B) ∧ (A ∨ C )
Logik
y Q
∨I1
Right y P ∨ Q
g A ∨ (B ∧ C ) ⇒ A ∨ C
erhalten wir auch:
2007W
Datentypen
Logische Implikation, ⇒
Curry-HowardIsomorphismus
Mathematik
und Logik
f P ⇒ R g Q ⇒ R
∨E
either f g P ∨ Q ⇒ R
Prädikatenlogik
f A ∨ (B ∧ C ) ⇒ A ∨ B
Logische Disjunktion, ∨
⇒I
Intuitiver: (a, b) 7→ (b, a).
Logische Konjunktion, ∧
Mit
Logische Konjunktion, ∧
I
Logische Implikation, ⇒
⇒I
⇒I
a 7→ Left a A ⇒ A ∨ B
y 7→ Right(fst y) B ∧ C ⇒ A ∨ B
∨E
either(a 7→ Left a) (y 7→ Right(fst y)) A ∨ (B ∧ C ) ⇒ A ∨ B
Logische Implikation, ⇒
I
Introduktion und Elimination
x P
∨I0
Left x P ∨ Q
y B ∧ C
∧E1
fst y B
∨I1
Right(fst y) A ∨ B
Existenzquantor, ∃
commute A × B → B × A, c 7→ (snd c, fst c),
I
a A
∨I0
Left a A ∨ B
Datentypen
I
Aussagenlogik
y B ∧ C
a A
Aussagenlogik
cA ∧ B
Allquantor, ∀
Beispiel: A ∨ (B ∧ C ) ⇒ A ∨ B
Logik
A ∧ B ⇒ B ∧ A.
Datentypen
2007W
2007W
Satz
Prädikatenlogik
Mathematik
und Logik
Mathematik
und Logik
Logische Implikation, ⇒
Logische Konjunktion, ∧
Logische Disjunktion, ∨
Curry-HowardIsomorphismus
Herunterladen