Was ist Logik? Gert Smolka Universität des Saarlandes 28. Januar 2008
Logik ist die Lehre des vernünftigen Schlussfolgerns. Logik untersucht die Gültigkeit von Argumenten hinsichtlich ihrer Struktur unabhängig von ihrem konkreten Inhalt. Logik ist sowohl ein Teilgebiet der Philosophie als auch der Mathematik und der Informatik. Nach Wikipedia
Aristoteles 384-322 vor Chr.
Philosophische Logik Aristoteles, 384-322 vor Chr. Mathematische Logik George Boole, 1815-1864 Laws of Thought 1854 Gottlob Frege, 1848-1925 Begriffsschrift 1879 Georg Cantor, 1845-1918 Mengenlehre 1895 Bertrand Russell, 1872-1970 Typen1910 Kurt Gödel, 1906-1978 Unvollständigkeit 1931 Alonzo Church, 1903-1995 Lambda-Kalkül 1932 Gerhard Gentzen, 1909-1945 Gentzen-Kalküle 1935 Alan Turing, 1912-1954 Turing-Maschinen1936 Computationale Logik
Aussagen x N y N. x y z N. x + z = y Quantoren, Junktor Namen x, y, z,, + Typen N, B
Boole und De Morgan x x = x x (x y) = x (x y) = x y : B B : B B B B={F, T}
George Boole 1815-1864
Augustus De Morgan 1806-1871
Frege, Church : (X B) B f = (f = λx.t) x.s := (λx.s) ( x.fx gx) = ( x.fx) ( x.gx) ( x.fx) = ( x. fx)
Gottlob Frege 1848-1925
Frege benutzte graphische Notation
Alonzo Church 1903-1995
Fragen Wie sieht eine minimale logische Sprache aus? Wie sehen Beweisregeln für diese Sprache aus? Wie konstruiert man Beweise mit einem Computer?
Terme s,t ::= x s=t s t λx.s x Name
Typen σ, τ ::= ξ B σ τ ξ Sorte
Typconstraints Jeder Name hat einen fixen Typ s : σ t : σ s : στ t : σ s = t : B st : τ x : σ s : τ λx. s : στ
Logische Operationen sind mit Gleichheit ausdrückbar F := ((λxy.x)=(λxy.y)) := λx. x=f T := F := λf. f=λx.t := λf. x. fx := λxy. f. fxy=ftt := λxy. ( x y) := λxy. x y
León Henkin, 1921-2006
Leibnizsches Gesetz (x=y) = ( f. fx fy) Statt mit Gleichheit kann man auch mit und anfangen
Gottfried Wilhelm von Leibniz 1646-1716
Mengen sind ausdrückbar Teilmenge von X kann durch Funktion X B dargestellt werden {x x 2 >3x} ==> λx. x 2 >3x x s ==> sx s t ==> λx. sx tx
Georg Cantor 1845-1918
Russellsche Antinomie Cantor glaubte, dass {x x x} existiert Russell zeigte, das diese Annahme inkonsistent ist ω = λx. (xx) ωω = (ωω) Typen eliminieren das Problem, da xx nicht wohlgetypt ist Inkonsistenz findet sich auch in Freges Begriffsschrift und in Churchs ungetyptem Lambda-Kalkül
Bertrand Russell 1872-1970
Guiseppe Peano 1858-1932
Zahlen sind ausdrückbar 0: N S: NN x. Sx 0 xy. Sx=Sy x=y f. f0 ( x. fx f(sx)) x.fx y. 0+y = y xy. Sx+y = x+sy
Russells Satz f:σσb. x. y. fxy = fyy Rasierproblem σ fxy Männer in einem Dorf x rasiert y Mengenproblem σ fxy Mengen y x Halteproblem σ fxy Prozeduren x terminiert für y
Turings Satz Es gibt keine Prozedur, die entscheidet, ob eine Prozedur für ein bestimmtes Argument terminiert
Alan Turing 1912-1954
Beweisregeln s t s t s = t C[ s] C[ t] Modus Ponens Ersetzung s s x t Einsetzung
Gültige Formeln als Ausgangspunkte s st st s s = ( s F ) ( s t) = ( t s) Beweis durch Widerspruch Kontraposition x ( λ x. s) t = s t Beta-Konversion
Gerhard Gentzen 1909-1945
Sequenzen und Rückwärtsstrategie Beweisregeln für Sequenzen statt für Formeln Sequenz s 1,, s n t besteht aus n Annahmen und einer Behauptung Rückwärtsanwendung der Beweisregeln A, t F A t A, sx t x neu A, s t A, s1 t A, s2 t A, s s t 1 2 A s A, s t A t
Beweis von Turings Satz f. x. y. fxy= fyy f. x. y. fxy= fyy f. x. y. fxy= fyy y. fxy= fyy fxx= fxx durch Wid. De Morgan ext. Zeugen y:=x F
Beweis von Cantors Satz f:σσb. g. x. fxg=g f. g. x. fx=g g. x. fx=g x. fx=λx. fxx fy=λx. fxx fyy=(λx. fxx)y fyy= fyy F durch Wid. Neg, ex. Zeuge g=λx. fxx ex. Zeuge Funktion Beta
Beweiser Softwaresysteme, mit denen formale Beweise geführt werden können Interaktiv: Isabelle, Coq, Vollautomatisch: Spass, Vampire, Beweiser werden eingesetzt, um Sicherheitseigenschaften von Computersysteme zu verifizieren Mit Beweisern geführte Beweise sind garantiert korrekt
Gödels Unvollständigkeitssatz Es gibt kein endliches Beweissystem, mit dem alle gültige Formeln für z.b. die natürlichen Zahlen abgeleitet werden können. Ab und zu braucht man neue Beweisregeln Enger Zusammenhang mit Turings Satz
Kurt Gödel 1906-1978
Diät-Beispiel 1. Wenn ich kein Bier zu einer Mahlzeit trinke, esse ich immer Fisch 2. Ich verzichte auf Eis, wenn ich Bier trinke und Fisch esse 3. Wenn ich Eis esse oder kein Bier trinke, dann esse ich keinen Fisch 1. bx fx 2. bx fx ex 3. ex bx fx Äquivalent zu bx (fx ex)
Zusammenfassung 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 dem Computer führen und validieren Logik braucht man immer dann, wenn es um Sprache geht Logik ist eine der wichtigsten Grundlagen der Informatik