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