Was ist Logik? - Universität des Saarlandes

Werbung
Was ist Logik?
g
Gert Smolka
Universität des Saarlandes
Januar
ua 2010
25.. Ja
Logik ist die Lehre des vernünftigen
Schlussfolgerns.
Schlussfolgerns
y Logik untersucht die Gültigkeit von
A
Argumenten
t hi
hinsichtlich
i htli h ih
ihrer St
Struktur
kt
unabhängig von ihrem konkreten Inhalt.
y Logik ist sowohl ein Teilgebiet der
Philosophie als auch der Mathematik und
der Informatik.
y
Nach Wikipedia
Aristoteles
384-322 vor Chr.
y
Philosophische Logik
◦ Aristoteles,
Aristoteles 384-322
384 322 vor Chr.
Chr
y
Mathematische Logik
◦
◦
◦
◦
◦
◦
◦
◦
y
George Boole, 1815
1815-1864
1864
Gottlob Frege, 1848-1925
Georg Cantor, 1845-1918
B
Bertrand
d Russell,
R
ll 1872
1872-1970
1970
Kurt Gödel, 1906-1978
Alonzo Church, 1903-1995
Gerhard Gentzen, 1909-1945
Alan Turing, 1912-1954
Laws of Thought 1854
Begriffsschrift 1879
Mengenlehre 1895
T
Typen1910
1910
Unvollständigkeit 1931
Lambda-Kalkül 1932
Gentzen-Kalküle 1935
Turing-Maschinen1936
C m tati nale Logik
Computationale
L ik
Sprachlicher Aufbau von Aussagen
Zu zwei beliebigen natürlichen Zahlen x≤y
existiert stets eine natürliche Zahl z,
sodass x+z=y.
x+z=y
∀x ∈ N.
N ∀y ∈ N
N. x ≤ y → ∃z ∈ N
N. x + z = y
• Typ N
• Variablen x,y,z
,y,
• Quantoren ∀, ∃
• Junktor →
• Prädikate ≤,, =
• Operation +
Wahrheitswerte und Junktoren
y
B = {{F,, T}}
y
y
¬ :
∧ :
∨ :
→:
y
Definition: x→y = ¬ x∨y
y
Gesetze
y
y
BB
BBB
BBB
BBB
Negation
K j ki
Konjunktion
Disjunktion
Implikation
p
◦ x∧x = x
◦ x∧(x∨y) = x
◦ ¬(x∧y) = ¬x∨¬y
George Boole
1815 1864
1815-1864
Abstrakte Syntax
→
x=y → x<y+1
=
x
<
y
x
y
term ::= name | term term
→ ((= x y) ((< x ((+ y 1))
+
Typen
xx,y,
y 1 : N
+ : NNN
=,<
, : NNB
→ : BBB
1
Auch Quantoren sind Funktionen
y
y
y
∀, ∃ : (NB)B
∀
∀f=T gdw f für alle Argumente T liefert
∃f=T gdw f für mindestens ein Argument F liefert
term ::= name | term term | λ name . term
∀ x+0=x
∀x.
+0=
∀(λ x+0=x)
∀(λx.
+0= )
Beispiele für Gesetze
(λx. fx) = f
Eta
¬(∀x.fx)
(∀x fx) = (∃x.¬fx)
(∃x fx)
de Morgan
Gottlob Frege
1848-1925
1848 1925
Frege benutzte graphische Notation
Bertrand Russell
1872-1970
Alonzo Church
1903-1995
Logische Operationen sind
mit Gleichheit ausdrückbar
F := (λxy.x)=(λxy.y)
¬ := λx.
λ x=FF
T := ¬F
∀ := λf. f=λx.T
∃ := λf. ¬∀x. ¬fx
∧ ::= λxy.
λxy ∀f.
∀f fxy=fTT
fxy fTT
∨ := λxy. ¬(¬x∧ ¬y)
→ := λxy. ¬x∨y
León Henkin, 1921-2006
Einfache Typtheorie
term ::= name | term term | λx. term
y typ ::= sorte | typ typ
y
Sorte B für Wahrheitswerte
y Namen für Gleicheitsprädikate
y
L ib i h G
Leibnizsches
Gesetz
t
((x=y)
y) = ((∀p.
pp
px→py)
py)
Statt mit Gleichheit kann man auch
mit ∀ und → anfangen
Gottfried Wilhelm
von Leibniz
1646 1716
1646-1716
Mengen sind darstellbar
y
Teilmenge von X kann durch
Funktion XB dargestellt werden
{x|x2>3x} ==>
> λx.
λx x2>3x
y x∈s
==> sx
y s∩t
==> λx. sx∧tx
y
Zahlen sind axiomatisierbar
0: N
S: NN
Axiome wie folgt
◦ Die Terme 0, S0, S(S0), … beschreiben
verschiedene
h d
Werte
W
◦ N enthält keine anderen Werte
∀p.
p pp0 ∧ ((∀x. ppx→p(Sx))
p( )) → ∀pp
Axiomatizierung von +, ⋅
durch Rekursion
∀y. 0+y = y
∀xy. Sx+y = x+Sy
Guiseppe Peano
1858-1932
Formale Beweisregeln
Korrektheit eines Beweises soll
algorithmisch prüfbar sein
y Rechnergestützte Beweiskonstruktion
y Beispiele für Beweissysteme
y
◦
◦
◦
◦
Frege/Hilbert-Systeme (1879)
G
Gentzen-Systeme
S
(1935)
Tableau-Systeme (1955, Beth, Hintikka)
Typsysteme (1972, Girard; Martin-Löf 1975)
Frege/Hilbert--Systeme
Frege/Hilbert
s→t
t
s
s = t C[ s ]
C [t ]
∀x.s
x
st
Modus Ponens
Ersetzung
Einsetzung
Frege/Hilbert--Systeme
Frege/Hilbert
Modus: Leite aus gültigen Formeln gültige
Formeln her
y Man benötigt einige gültige Formeln als
Ausgangspunkte
g gp
y Nachteil: Beweise sind unnatürlich, schwer
zu finden
fi d fü
für Mensch
M
h und
d Maschine
M hi
y
Gentzen--Systeme
Gentzen
y
Arbeiten mit Sequenzen s1,…,ssn⇒s
◦ s1,…,sn sind die Annahmen
◦ s ist die Behauptung
Modus: Leite aus gültigen Sequenzen
gültige Sequenzen her
y Beweise
B
i entsprechen
t
h natürlichen
tü li h
mathematischen Beweisen
y
Gentzen--Systeme
Gentzen
A, s ⇒ t
A⇒ s →t
A⇒ s
x nicht in A
A ⇒ ∀x.s
A, ¬t ⇒ F
A⇒t
Zielgerichtete Beweiskonstruktion durch
Rückwärtsanwendung der Regeln
Gerhard Gentzen
1909-1945
Tableau--Systeme
Tableau
Arbeiten nur mit Sequenzen A⇒F
y A unerfüllbar : A⇒F gültig
y Regeln A / A1,…, An rückwärts formuliert
y
◦ A unerfüllbar gdw A1,…, An alle unerfüllbar
◦ Alle Ai sind aus A durch Hinzufügen von
F
Formeln
l erhalten
h lt
∀s
st
∃s
x ist neu
sx
s∨t
s|t
s, ¬s
Russells Satz
¬∃x. ∀y. pxy = ¬pyy
p : XXB
Rasierproblem
◦ X
◦ pxy
Männer iin einem
Mä
i
D
Dorff
x rasiert y
Mengenproblem
Mengen
problem
◦ X
◦ pxy
Mengen
y∈x
Halteproblem
Halte
problem
◦ X
◦ pxy
Programme
x terminiert für y
Beweis des Russellschen Satzes
¬∃x. ∀y. pxy=¬pyy
p : XXB
¬¬∃x.
∃x ∀y.
∀y pxy=¬pyy
pxy= pyy
durch Widerspruch
∃x. ∀y.
y ppxy=¬pyy
y pyy
Doppelnegation
pp
g
∀y. pxy=¬pyy
Zeuge x für ∃
pxx=¬pxx
Instanz für ∀, y=x
F
bekannter Widerspruch
Cantors Satz
Größenvergleich von Mengen
y Gibt es verschieden große unendliche
Mengen?
y Definition X<Y:
¬∃ f∈XY mit fX=Y
y Cantors Satz:
X < XB < (XB)B < ((XB)B)B < …
y
Georg Cantor
1845 1918
1845-1918
Beweis des Cantorschen Satzes
∃g. ∀x. fx≠g
¬∃g.
g ∀x. fx≠gg
∀g. ∃x. fx=g
∃x fx=λx.¬fxx
∃x.
x fxx
fy=λx.¬fxx
fyy=(λx.¬fxx)y
fyy=¬fyy
yy
yy
F
f : XXB
durch Widerspruch
p
de Morgan
Einsetzung für ∀,
∀ g=λx.
x ¬fxx
Zeuge y für ∃
funktionales =
Beta
bekannter Widerspruch
Beweiser
Softwaresysteme, mit denen formale
Softwaresysteme
Beweise geführt werden können
y Interaktiv: Isabelle, Coq, …
y Vollautomatisch: Spass,
Spass Vampire,
Vampire …
y Beweiser werden eingesetzt, um
S h h
Sicherheitseigenschaften
h f
zu verifizieren
f
y Mit Beweisern g
geführte Beweise sind
verlässlicher als informelle Beweise
y
Gödels Unvollständigkeitssatz
Unvollständigkeitssatz, 1931
Es gibt kein Beweissystem
Beweissystem, mit dem alle
gültige Formeln für die natürlichen
Zahlen abgeleitet werden können.
können
•
•
Diskrepanz zwischen Mengenlehre und
algorithmischen
l i h i h SSystemen
In der Praxis braucht man sehr selten neue
B
Beweisregeln
i
l
Kurt Gödel
1906-1978
Alan Turing
g
1912-1954
Diät--Beispiel
Diät
Wenn ich
W
i h kein
k i Bi
Bier
zu einer Mahlzeit
trinke esse ich
trinke,
immer Fisch
2 Ich verzichte auf Eis,
2.
Eis
wenn ich Bier trinke
und Fisch esse
3. Wenn ich Eis esse
oder kein Bier trinke,
trinke
dann esse ich keinen
Fisch
1
1.
¬bxÆfx
2. bx∧fxƬex
3. ex∨¬bxƬfx
1.
Äquivalent zu
bx∧¬(fx∧ex)
∧ (fx∧ex)
Zusammenfassung
y
y
y
y
y
y
Logische Operationen können als Funktionen
beschrieben werden
Logische Sprachen sind einfache funktionale
Sprachen
Für logische Sprachen können Beweisregeln
formuliert werden
Formale Beweise kann man mit Computern
führen und verifizieren
Logik braucht man immer dann, wenn es um
Sprache und Argumentation geht
Logik ist eine wichtige Grundlage der Informatik
Herunterladen