Organisatorisches. Warum formale Modellierung? Modellierung Das Prinzip. Modellierung Beispiele. Modellierung Beispiele. Arten der Modellierung

Größe: px
Ab Seite anzeigen:

Download "Organisatorisches. Warum formale Modellierung? Modellierung Das Prinzip. Modellierung Beispiele. Modellierung Beispiele. Arten der Modellierung"

Transkript

1 Organisatorisches Veranstalter: Formale Modellierung Vorlesung 1 vom : Einführung Christoph Lüth Universität Bremen Sommersemester 2015 Christoph Lüth christoph.lueth@dfki.de MZH 3110, Tel Termine: Vorlesung: Montag, 16 18, MZH 1470 Übung: Donnerstag, 14 16, MZH 5210 Webseite: 16:21: [17] 2 [17] Warum formale Modellierung? Modellierung Das Prinzip Modell?! Welt Modell Modell Grundlegendes Prinzip der Naturwissenschaften Die Vasa, 10. August [17] 4 [17] Modellierung Beispiele Modellierung Beispiele 2Mg + O 2 2MgO x(t) = v 0 t cos(β) y(t) = v 0 t sin(β) g 2 t2 5 [17] 6 [17] Modellierung Beispiele Arten der Modellierung Physikalischen Systeme: Modellierung durch kontinuierliche Mathematik (Analysis, DGL) Frage: wie modellieren wir Programme und ihr Verhalten? Modellierung von Programmen: Berechenbarkeitsbegriff Turing-Maschinen, rekursive Funktionen,... ( ) 2 ( ) 3 T1 a1 = Modellierung der Eigenschaften: formale Logik T 2 a 2 Formale Logik ist die Grundlage der Modellierung in der Informatik 7 [17] 8 [17]

2 Was ist mit der UML? Lernziele Allgemeine Modellierungssprache für problemorientierte Spezifikationen 1. Modellierung Formulierung von Eigenschaften Ziel ist nicht der Beweis von Eigenschaften Nur bestimmte Aspekte sind formal Als Grundlage nicht geeignet 2. Beweis Formaler Beweis der Eigenschaften 3. Spezifikation und Verifikation Eigenschaften von Programmen 9 [17] 10 [17] Themen Der Theorembeweiser Isabelle Formale Logik: Aussagenlogik (A B, A B), Prädikatenlogik ( x.p) Formales Beweisen: natürliches Schließen Induktion, induktive Datentypen, Rekursion Berechenbarkeitsmodelle Die Gödel-Theoreme Spezifikation und Verifikation: Formale Modellierung von Programmen Temporale Logik Modellprüfung Interaktiver Theorembeweiser Entwickelt in Cambridge und München Est (?), ca. 500 Benutzer Andere: PVS, Coq, ACL-2 Vielfältig benutzt: VeriSoft (D) L4.verified (AUS) SAMS (Bremen) 11 [17] 12 [17] Formale Logik Geschichte Gottlob Frege ( ) Formale (symbolische) Logik: Rechnen mit Symbolen Programme: Symbolmanipulation Auswertung: Beweis Curry-Howard-Isomorphie: funktionale Programme = konstruktiver Beweis Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens (1879) Georg Cantor ( ), Bertrand Russel ( ), Ernst Zermelo ( ) Einfache Mengenlehre: inkonsistent (Russel s Paradox) Axiomatische Mengenlehre: Zermelo-Fränkel David Hilbert ( ) Hilbert s Programm: mechanisierte Beweistheorie Kurt Gödel ( ) Vollständigkeitssatz, Unvollständigkeitssätze 13 [17] 14 [17] Grundbegriffe der formalen Logik Ableitbarkeit Th P Syntaktische Folgerung Gültigkeit Th = P Semantische Folgerung Klassische Logik: P P Entscheidbarkeit Aussagenlogik Konsistenz: Th Nicht alles ableitbar Vollständigkeit: jede gültige Aussage ableitbar Prädikatenlogik erster Stufe Unvollständigkeit Gödels 1. Unvollständigkeitssatz: Jede Logik, die Peano-Arithmetik formalisiert, ist entweder inkonsistent oder unvollständig. Gödels 2. Unvollständigkeitssatz: Jede Logik, die ihre eigene Konsistenz beweist, ist inkonsistent. Auswirkungen: Hilbert s Programm terminiert nicht. Programme nicht vollständig spezifierbar. Spezifikationssprachen immer unvollständig (oder uninteressant). Mit anderen Worten: Es bleibt spannend. 15 [17] 16 [17]

3 Nächste Woche Aussagenlogik Erstes Übungsblatt 17 [17]

4 Heute Einführung in die formale Logik Formale Modellierung Vorlesung 2 vom : Aussagenlogik und natürliches Schließen Christoph Lüth Universität Bremen Sommersemester 2015 Aussagenlogik Beispiel für eine einfache Logik Guter Ausgangspunkt Natürliches Schließen Wird auch von Isabelle verwendet. Buchempfehlung: Dirk van Dalen: Logic and Structure. Springer Verlag, :21: [17] 2 [17] Fahrplan Teil I: Formale Logik Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation Formalisierung von Aussagen Beispielaussagen: 1. John fuhr weiter und stieß mit einem Fußgänger zusammen. 2. John stieß mit einem Fußgänger zusammen und fuhr weiter. 3. Wenn ich das Fenster öffne, haben wir Frischluft. 4. Wenn wir Frischluft haben, dann ist = 4 5. Wenn = 4, dann haben wir Frischluft. 6. John arbeitet oder ist zu Hause. 7. Euklid war ein Grieche oder ein Mathematiker. Probleme natürlicher Sprache: Mehrdeutigkeit Synonyme Versteckte (implizite) Annahmen 3 [17] 4 [17] Formale Logik Beispiel für eine Logik Ziel: Formalisierung von Folgerungen wie Wenn es regnet, wird die Straße nass. Nachts ist es dunkel. Sprache L = {,,, } Es regnet. Es ist hell. Schlußregeln: Also ist die Straße nass. Eine Logik besteht aus Einer Sprache L von Formeln (Aussagen) Einer Semantik, die Formeln eine Bedeutung zuordnet Schlußregeln (Folgerungsregeln) auf den Formeln. Also ist es nicht nachts. Aus folgt Aus folgt Aus und folgt α Beispielableitung: gilt immer β γ δ Damit: Gültige ( wahre ) Aussagen berechnen. 5 [17] 6 [17] Aussagenlogik Wann ist eine Formel gültig? Sprache Prop gegeben durch: 1. Variablen (Atome) V Prop (Menge V gegeben) 2. Prop 3. Wenn φ, ψ Prop, dann φ ψ Prop φ ψ Prop φ ψ Prop φ ψ Prop 4. Wenn φ Prop, dann φ Prop. NB. Präzedenzen: vor vor vor, Semantische Gültigkeit = P Übersetzung in semantische Domäne Variablen sind wahr oder falsch Operationen verknüpfen diese Werte Syntaktische Gültigkeit P Formale Ableitung Natürliches Schließen Sequenzenkalkül Andere (Hilbert-Kalkül, gleichungsbasierte Kalküle, etc.) 7 [17] 8 [17]

5 Semantik Semantische Gültigkeit und Folgerung Domäne: {0, 1} (0 für falsch, 1 für wahr) Definition (Semantik aussagenlogischer Formeln) Für Valuation v : V {0, 1} ist [[ ]] v : Prop {0, 1} definiert als [[w]] v = v(w) (mit w V ) [[ ]] v = 0 [[φ ψ]] v = min([[φ]] v, [[ψ]] v ) [[φ ψ]] v = max([[φ]] v, [[ψ]] v ) [[φ ψ]] v = 0 [[φ]] v = 1 und [[ψ]] v = 0 [[φ ψ]] v = 1 [[φ]] v = [[ψ]] v Semantische Gültigkeit: = φ = φ gdw. [[φ]] v = 1 für alle v Semantische Folgerung: sei Γ Prop, dann Γ = ψ gdw. [[ψ]] v = 1 wenn [[φ]] v = 1 für alle φ Γ [[ φ]] v = 1 [[φ]] v 9 [17] 10 [17] Beweisen mit semantischer Folgerung Die Wahrheitstabellenmethode: Berechne [[φ]] v für alle Möglichkeiten für v Beispiel: = (φ ψ) ( ψ φ) Syntakische Gültigkeit: Natürliches Schließen Sprache L = {,,, } Schlußregeln: φ ψ φ ψ ψ φ ψ φ (φ ψ) ( ψ φ) α β γ [ ]. δ Problem: Aufwand exponentiell 2 a zur Anzahl a der Atome Beispielableitung: Vorteil: Konstruktion von Gegenbeispielen 11 [17] 12 [17] Natürliches Schließen (ND) für Aussagenlogik Natürliches Schließen Die Regeln Vorgehensweise: φ ψ φ ψ I φ ψ φ E L φ ψ ψ E R 1. Erst Kalkül nur für,, 2. Dann Erweiterung auf alle Konnektive. Für jedes Konnektiv: Einführungs- und Eliminationsregel NB: konstruktiver Inhalt der meisten Regeln [φ]. ψ φ ψ I φ φ φ ψ ψ [φ ]. φ E raa 13 [17] 14 [17] Die fehlenden Konnektive Die fehlenden Schlußregeln Einführung als Abkürzung: [φ] φ = def φ φ ψ φ ψ def = ( φ ψ) def = (φ ψ) (ψ φ). φ φ φ I E φ φ ψ I L ψ φ ψ I R φ ψ [φ]. σ σ [ψ]. σ E Ableitungsregeln als Theoreme. φ ψ ψ φ I φ ψ φ φ ψ ψ E L ψ φ ψ φ E R 15 [17] 16 [17]

6 Zusammenfassung Formale Logik formalisiert das (natürlichsprachliche) Schlußfolgern Logik: Formeln, Semantik, Schlußregeln (Kalkül) Aussagenlogik: Aussagen mit,,,, als abgeleitete Operatoren Semantik von Aussagenlogik [[ ]] v : Prop {0, 1} Natürliches Schließen: intuitiver Kalkül Nächste Woche: Konsistenz und Vollständigkeit von Aussagenlogik 17 [17]

7 Fahrplan Teil I: Formale Logik Formale Modellierung Vorlesung 3 vom : Konsistenz und Vollständigkeit der Aussagenlogik Christoph Lüth Universität Bremen Sommersemester 2015 Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation 16:21: [12] 2 [12] Das Tagesmenü Eigenschaften der Aussagenlogik (PL) Γ φ vs. Γ = φ: Korrektheit Konsistenz Vollständigkeit Eigenschaften der Aussagenlogik Prop bildet eine Boolesche Algebra: = (φ ψ) σ φ (ψ σ) = (φ ψ) σ φ (ψ σ) = φ ψ ψ φ = φ ψ ψ φ = φ (ψ σ) (φ ψ) (φ σ) = φ (ψ σ) (φ ψ) (φ σ) = (φ ψ) φ ψ = (φ ψ) φ ψ = φ φ φ = φ φ φ = φ φ 3 [12] 4 [12] Eigenschaften der Aussagenlogik Rechnen in Prop: Substitutivität: wenn = φ 1 φ 2, dann = ψ [ ] [ φ1 p ψ φ2 ] p für Atom p. Sei φ ψ gdw. = φ ψ, dann ist eine Äquivalenzrelation Damit: algebraisches Umformen als Beweisprinzip Beispiele: = (φ (ψ σ)) (φ ψ σ) = φ ψ φ Anwendung: konjunktive und disjunktive Normalformen (CNF/DNF) Eigenschaften der Aussagenlogik Operatoren durch andere definierbar: = (φ ψ) (φ ψ) (ψ φ) = (φ ψ) ( φ ψ) = φ ψ ( φ ψ) = φ ψ ( φ ψ) = φ ψ ( φ ψ) = φ (φ ) = (φ φ) = (φ φ) (, ) und (, ) sind ausreichend (functional complete) Ein Operator reicht: A B (Sheffer-Strich), A B (weder-noch) 5 [12] 6 [12] Korrektheit (Soundness) Γ φ: Ableitbarkeit Γ = φ: semantische Wahrheit Ist alles wahr, was wir ableiten können? (Korrektheit) Ist alles ableitbar, was wahr ist? (Vollständigkeit) Theorem 1 (Korrektheit von ND in der Aussagenlogik) Wenn Γ φ, dann Γ = φ Beweis: Induktion über der Ableitung Γ φ Nützliches Korollar: Γ = φ dann Γ φ Konsistenz Nur konsistente Logiken (Mengen von Aussagen) sind sinnvoll. Definition 2 (Konsistenz) Menge Γ von Aussagen konsistent gdw. Γ Lemma 3 (Charakterisierung von Konsistenz) Folgende Aussagen sind äquivalent: (i) Γ konsistent (ii) Es gibt kein φ so dass Γ φ und Γ φ (iii) Es gibt ein φ so dass Γ φ (iv) Γ inkonsistent (Γ ) (v) Es gibt ein φ so dass Γ φ und Γ φ (vi) Für alle φ, Γ φ 7 [12] 8 [12]

8 Maximale Konsistenz Eigenschaften maximal konsistenter Mengen Wenn Γ {φ} inkonsistent, dann Γ φ (Beweis: I) Wenn es v gibt so dass [[ψ]] v = 1 für ψ Γ, dann Γ konsistent. Definition 4 (Maximale Konsistenz) Γ maximal konsistent gdw. (i) Γ konsistent, und (ii) wenn Γ Γ und Γ konsistent, dann Γ = Γ Lemma 5 (Konstruktion maximal konsistenter Mengen) Für jedes konsistente Γ gibt es maximal konsistentes Γ mit Γ Γ Wenn Γ { φ} inkonsistent, dann Γ φ (Beweis: raa) Lemma 6 Wenn Γ maximal konsistent, dann geschlossen unter Ableitbarkeit: Γ φ dann φ Γ. Wenn Γ maximal konsistent ist, dann: (i) entweder φ Γ oder φ Γ (ii) φ ψ Γ gdw. φ, ψ Γ (iii) φ ψ Γ gdw. (wenn φ Γ dann ψ Γ) 9 [12] 10 [12] Vollständigkeit Zusammenfassung Lemma 7 Wenn Γ konsistent, dann gibt es v so dass [[φ]] v = 1 für φ Γ. Damit: Wenn Γ φ dann gibt es v so dass [[ψ]] v = 1 für ψ Γ, [[φ]] v = 0. Wenn Γ φ dann Γ = φ. Theorem 8 (Vollständigkeit von ND in der Aussagenlogik) Wenn Γ = φ, dann Γ φ Aus Entscheidbarkeit von = folgt Entscheidbarkeit von Aussagenlogik ist eine Boolesche Algebra. Äquivalenzumformung als Beweisprinzip Aussagenlogik und natürliches Schließen sind korrekt und vollständig. Beweis der Vollständigkeit: maximale Konsistenz Konstruktion des Herbrand-Modells, Aufzählung aller (wahren, ableitbaren) Aussagen Ausagenlogik ist entscheidbar: für Γ und φ, Γ φ oder Γ φ. Nächste VL: Prädikatenlogik 11 [12] 12 [12]

9 Fahrplan Teil I: Formale Logik Formale Modellierung Vorlesung 4 vom : Prädikatenlogik erster Stufe Christoph Lüth Universität Bremen Sommersemester 2015 Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation 16:21: [16] 2 [16] Das Tagesmenü Eine Beispielspezifikation Das Flugbuchungssystem Von Aussagenlogik zur Prädikatenlogik Logik mit Quantoren Semantik der Prädikatenlogik Natürliches Schließen mit Quantoren Das Flugbuchungssystem soll eine Menge von Flügen verwalten, Anfragen beantworten und Buchungen vornehmen. Ein Flug hat einen Startflughafen und ein Zielflughafen (durch ihr IATA-Kürzel repräsentiert), eine eindeutige Kennung, einen Starttermin, eine Ankunftsermin, sowie eine Anzahl von verfügbaren Plätzen. Eine Flugbuchung für einen durch die Flugnummer und Starttermin identifizierten Flug soll eine Anzahl von Plätzen auf diesem Flug reservieren. Sind die verfügbaren Plätze für einen Flug erschöpft, können keine weiteren Buchungen vorgenommen werden. Eine Anfrage besteht aus den Daten (Start, Ziel, Datum) für einen Flug, und liefert die Anzahl freier Plätze auf diesem Flug zurück. 3 [16] 4 [16] Beschränkungen der Aussagenlogik Prädikatenlogik: Erweiterung der Sprache Beschränkung der Aussagenlogik: Die Menge unserer Atome ist unstrukturiert und flach. Wir können nicht zwischen Logik (Meta-Ebene) und Objekt unterscheiden. Wir können keine strukturellen Eigenschaften beschreiben. Wir können keine Aussagen über Existenz von Objekten machen. Ziel: Formalisierung von Aussagen wie Ein Flug hat eine eindeutige Kennung. Alle Menschen sind sterblich. Sokrates ist ein Mensch. Also ist Sokrates sterblich. Alle Zahlen sind ein Produkt von Primfaktoren. Terme beschreiben die zu formalisierenden Objekte. Formeln sind logische Aussagen. Eine Signatur Σ beschreibt Prädikate und Funktionen: Prädikatensymbole: P 1,..., P n, = mit Arität ar(p i ) N, ar( =) = 2 Funktionssymbole: f1,..., f m mit Arität ar(t i ) N Menge X von Variablen (abzählbar viele) Konnektive:,,,, abgeleitet:,,,, Die Trennung zwischen Termen und Formeln ist der wesentliche Abstraktionsschritt in der Prädikatenlogik. 5 [16] 6 [16] Terme Formeln Menge Form Σ der Formeln (zur Signatur Σ) gegeben durch: Menge Term Σ der Terme (zur Signatur Σ) gegeben durch: FormΣ Variablen: X Term Σ Funktionssymbol f Σ mit ar(f ) = n und t1,..., t n Term Σ, dann f (t 1,..., t n ) Term Σ Sonderfall: n = 0, dann ist f eine Konstante, f Term Σ Wenn φ FormΣ, dann φ Form Σ Wenn φ, ψ FormΣ, dann φ ψ Form Σ, φ ψ Form Σ, φ ψ Form Σ, φ ψ Form Σ Wenn φ FormΣ, x X, dann x.φ Form Σ, x.φ Form Σ Prädikatensymbol p Σ mit ar(p) = m und t1,..., t m Term Σ, dann p(t 1,..., t m ) Form Σ Sonderfall: t 1, t 2 Term Σ, dann t 1 = t 2 Form Σ 7 [16] 8 [16]

10 Freie und gebundene Variable Definition (Freie und gebundene Variablen) Variablen in t Term, p Form sind frei, gebunden, oder bindend: (i) x bindend in x.φ, x.ψ (ii) Für x.φ und x.φ ist x in Teilformel φ gebunden (iii) Ansonsten ist x frei FV(φ): Menge der freien Variablen in φ Beispiel: (q(x) x. y.p(f (x), z) q(a)) r(x, z, g(x)) Formel (Term) s geschlossen, wenn FV(s) = Abschluss einer Formel: Cl(φ) = z 1... z k.φ für FV(φ) = {z 1,..., z k } Semantik: Strukturen Definition (Struktur A zur Signatur Σ) A = (A, f, P) mit (i) A nicht-leere Menge (Universum) (ii) für f Σ mit ar(f ) = n, n-stellige Funktion f A : A n A (iii) für P Σ mit ar(p) = n, n-stellige Relation P A A n Für a A, Konstante a Term Σ Damit Auswertung von geschlossenen Termen: [[ ]] A : Term Σ A [[a]] A = a [[f (t 1,..., t n ]] A = f A ([[t 1 ]] A,..., [[t n ]] A ) 9 [16] 10 [16] Semantische Gültigkeit Auswertung von Formeln: [[ ]] A : Form Σ {0, 1} [[ ]] A = 0 [[ φ]] A = 1 [[φ]] A [[φ ψ]] A = min([[φ]] A, [[ψ]] A ) [[φ ψ]] A = max([[φ]] A, [[ψ]] A ) [[φ ψ]] A = max(1 [[φ]] A, [[ψ]] A ) [[φ ψ]] A = 1 [[φ]] A [[ψ]] A { 1 [[t1 ]] [[P(t 1,..., t n )]] A = A,..., [[t n ]] A P A 0 sonst { 1 [[t1 ]] [[t 1 = t 2 ]] A = A = [[t 2 ]] A 0 sonst [[ x.φ]] A = min({[[φ [ a x] ]]A a A}) [[ x.φ]] A = max({[[φ [ a x] ]]A a A}) Syntaktische Gültigkeit: Natürliches Schließen Die alten Regeln blieben ( I, E, I, E L, E R, raa,,... ) Mutatis mutandis: FormΣ statt Prop Dazu benötigen wir Regeln für die Quantoren. Zu behandelnde Probleme: Substitution Bindung Damit semantische Gültigkeit (Wahrheit): A = φ gdw. [[Cl(φ)]] A = 1, = φ gdw. A = φ für alle A 11 [16] 12 [16] Substitution t [ s x] ist Ersetzung von x durch s in t Definiert durch strukturelle Induktion: y [ { s] def s x = y x = y x y f (t 1,..., t n ) [ s] def [ x = f (t s [ 1 x],..., s tn x] ) [ s] def x = (φ ψ) [ s] def x = φ [ s [ x] ψ s ] x (φ ψ) [ s] def x = φ [ s [ x] ψ s ] x P(t 1,..., t n ) [ s] def [ x = P(t s [ 1 x],..., s tn x] ) y.φ x = y ( y.φ) [ s] y.(φ [ s x] ) x y, y FV (s) def x = z.((φ [ z [ y] ) s x] ) x y, y FV(s) mit z FV(s) FV(φ) (z frisch) Natürliches Schließen mit Quantoren φ x.φ I ( ) x.φ φ [ t] E ( ) x (*) Eigenvariablenbedingung: x nicht frei in offenen Vorbedingungen von φ (x beliebig) ( ) Ggf. Umbenennung durch Substitution Gegenbeispiele für verletzte Seitenbedingungen 13 [16] 14 [16] Der Existenzquantor φ [ t] x.φ x I ( ) x.φ x.φ = def x. φ (*) Eigenvariablenbedingung: x nicht frei in ψ, oder einer offenenen Vorbedingung außer φ ( ) Ggf. Umbenennung durch Substitution ψ [φ]. ψ E ( ) Zusammenfassung Prädikatenlogik: Erweiterung der Aussagenlogik um Konstanten- und Prädikatensymbole Gleichheit Quantoren Semantik der Prädikatenlogik: Strukturen Bilden Operationen und Prädikate der Logik ab Das natürliche Schließen mit Quantoren Variablenbindungen Umbenennungen bei Substitution Eigenvariablenbedingung Das nächste Mal: FOL at work, FOL in Isabelle Nächste VL: Vollständigkeit 15 [16] 16 [16]

11 Organisatorisches Formale Modellierung Vorlesung 5 vom : Eigenschaften der Prädikatenlogik erster Stufe Christoph Lüth Die Übung am Donnerstag, fällt aus! Universität Bremen Sommersemester :21: [15] 2 [15] Fahrplan Das Tagesmenü Teil I: Formale Logik Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Wiederholung: natürliches Schließen mit FOL Regeln für die Gleichheit Beispiele: Graphen, natürliche Zahlen Vollständigkeit von FOL Unentscheidbarkeit von FOL Teil II: Spezifikation und Verifikation 3 [15] 4 [15] Natürliches Schließen mit Quantoren Der Existenzquantor φ x.φ I ( ) x.φ φ [ t] E ( ) x x.φ = def x. φ [φ] (*) Eigenvariablenbedingung: x nicht frei in offenen Vorbedingungen von φ (x beliebig) φ [ t] x.φ x I ( ) x.φ ψ. ψ E ( ) ( ) Ggf. Umbenennung durch Substitution Gegenbeispiele für verletzte Seitenbedingungen (*) Eigenvariablenbedingung: x nicht frei in ψ, oder einer offenenen Vorbedingung außer φ ( ) Ggf. Umbenennung durch Substitution 5 [15] 6 [15] Regeln für die Gleichheit Reflexivität, Symmetrie, Transitivität: x = x refl x = y y = x sym x = y y = z trans x = z Wiederholung: Konsistenz und Vollständigkeit Korrektheit: wenn Γ φ dann Γ = φ Beweis: Induktion über Struktur der Ableitung Kongruenz: x 1 = y 1,..., x n = y n f (x 1,..., x n ) = f (y 1,..., y n ) cong Konsistenz: wenn Γ = φ dann Γ φ Beweis: Konstruktion der maximal konsistenten Theorie Substitutivität: x 1 = y 1,..., x m = y m P(x 1,..., x m ) P(y 1,..., y m ) subst Wenn Γ konsistent, gibt es Valuation die Γ wahr macht. Frage:Korrektheit und Konsistenz für Prädkatenlogik? 7 [15] 8 [15]

12 Korrektheit des natürlichen Schließens Lemma 1 (Korrektheit von ND) Wenn Γ φ, dann Γ = φ Beweis: Induktion über der Ableitung Γ φ Neu hier: Fall x.φ(x) Beweis folgt durch Definition von A = x.φ(x) Vorbereitende Definitionen Definition 2 (Theorien, Henkin-Theorien) (i) Eine Theorie ist eine unter Ableitbarkeit geschlossene Menge T Form Σ (ii) Henkin-Theorie: Für jedes x.φ(x) T gibt es Witness c mit x.φ(x) φ(c) T Definition 3 T ist konservative Erweiterung von T wenn T Σ(T ) = T Alle Theoreme in T in der Sprache von T sind schon Theoreme in T Beispiel:,, und volle Aussagenlogik Lemma 4 (Konservative Erweiterung bewahrt Konsistenz) T konsistent, T konservative Erweiterung, dann T konsistent. 9 [15] 10 [15] Maximal konsistente Theorien Konstruktion maximal konsistenter Theorien Definition 5 Sei T Theorie zur Signatur Σ: Σ = Σ {c φ x.φ(x) T } T = T { x.φ(x) φ(c φ ) x.φ(x) geschlossen } Lemma 6 T konservative Erweiterung von T Lemma 7 Sei T Theorie, und seien T 0 = T, T n+1 = T n, T ω = n 0 T n Dann ist T ω eine Henkin-Theorie und konservativ über T Lemma 8 (Lindenbaum) Jede konsistente Theorie ist in einer maximal konsistenten Theorie enthalten (Henkin-Erweiterung) 11 [15] 12 [15] Vollständigkeit von ND Entscheidbarkeit Lemma 9 (Existenz von Modellen) Wenn Γ konsistent, dann hat Γ ein Modell. Beweis: Maximal konsistente Henkin-Erweiterung als Modell Herbrand-Modell, universelles Term-Modell Korrollar: Wenn Γ φ, dann Γ = φ Theorem 10 (Vollständigkeit von ND) Γ φ gdw. Γ = φ Theorem 11 (Kompaktheit) Γ hat ein Modell gdw. jede endliche Teilmenge Γ hat ein Modell Aus Vollständigkeit folgt nicht Entscheidbarkeit: Theorem 12 (Church) Prädikatenlogik ist unentscheidbar. Beweis: Kodierung eines unentscheidbaren Theorie in FOL Hier: Kodierung von Turing-Maschinen konstruiere Formel U so dass U gdw. Turing-Maschine M akzeptiert Eingabe w 13 [15] 14 [15] Zusammenfassung Prädikatenlogik erster Stufe (FOL) Natürliches Schließen in FOL: Substitution und Eigenvariablenbedingung. FOL ist konsistent, vollständig, aber nicht entscheidbar. 15 [15]

13 Fahrplan Teil I: Formale Logik Formale Modellierung Vorlesung 6 vom : FOL mit induktiven Datentypen und Rekursion Christoph Lüth Universität Bremen Sommersemester 2015 Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation 16:21: [12] 2 [12] Das Tagesmenü Die natürlichen Zahlen Modellierung natürlicher Zahlen als Beispiel für einen induktiven Datentyp Der einfachste Datentyp Aber hinreichend (Turing-mächtig) Beweis durch Induktion und Gleichungen Modelle der natürlichen Zahlen Wie in FOL formulieren? Axiomatisch Was sind die Modelle? 3 [12] 4 [12] Regeln für die Gleichheit Reflexivität, Symmetrie, Transitivität: Kongruenz: x = x refl x = y y = x sym x = y y = z trans x = z x 1 = y 1,..., x n = y n f (x 1,..., x n ) = f (y 1,..., y n ) cong Axiomatisierung der natürlichen Zahlen Axiome (erster Versuch): x. s(x) 0 x. y. s(x) = s(y) x = y x. x 0 y. x = s(y) x. 0 + x = x x. y. s(x) + y = s(x + y) (N1) (N2) (N3) (A1) (A2) Substitutivität: x 1 = y 1,..., x m = y m P(x 1,..., x m ) P(y 1,..., y m ) subst Beweise in ND (N1)(N2)(A1)(A2) x. s(0) + x = s(x) 5 [12] 6 [12] Modelle für Presburger-Arithmetik Induktionsschema Angefangen mit 0 und s Axiome (N1), (N2) Füge hinzu: (N3) und x.x s }.{{.. } s(x) (K n ) n Mehrere Kopien von N weg, Zyklen weg Z bleibt. N is das Standardmodell. Alle anderen Strukturen N + Z, N + Z + Z,... sind Nichtstandardmodelle. Axiome für die Multiplikation: x 0 = 0 x s(y) = x y + x Induktionsschema: (P(0) x.p(x) P(s(x))) x.p(x) P($) Formelschema def $ ausgezeichnetes, neues Symbol ( Loch ) und P(t) = P($) [ ] t $ (M1) (M2) (ISNat) 7 [12] 8 [12]

14 Hilft das Induktionsschema zum Beweisen? Und was ist mit den Modellen? Es gelten: (N1), (N2), (ISNat) (N3) (N1), (N2), (ISNat) (K n ) Ist Z jetzt weg? Sei PA = def (N1), (N2), (ISNat)+ neues Symbol und Axiome 0, s(0), s(s(0)),... Beweise in ND (N1)(N2)(A1)(A2)(ISNat) x. x + 0 = x... und auch (N1)(N2)(A1)(A2)(ISNat) x. y. x + s(y) = s(x + y)... und auch (N1)(N2)(A1)(A2)(ISNat) x. y. x + y = y + x Theorem (Kompaktheit) Γ hat ein Modell gdw. jede endliche Teilmenge Γ hat ein Modell Theorem (Löwenheim-Skolem Theorem) Wenn FOL-Theorie T ein unendliches Modell M hat, dann hat es Modelle beliebiger Größe (Kardinalität). Also hat PA Modell, das aber größer ist als N Es kann in FOL keine Axiomatiserung für N geben, die keine Nichtstandardmodelle hat 9 [12] 10 [12] Axiomatisierungen der natürlichen Zahlen Zusammenfassung Presburger-Arithmetik 5 Axiome: (N1)(N2)(A1)(A2)(ISNat) Konsistent und vollständig Entscheidbar (Aufwand 2 2 cn, n Länge der Aussage) Enthält Nichtstandardmodelle Jede Axiomenmenge zur Formalisierung der Natürlichen Zahlen hat Nichtstandardmodelle Induktionsschema für erzeugte Datentypen Peano-Arithmetik 7 Axiome: (N1)(N2)(A1)(A2)(M1)(M2)(ISNat) Konsistent, aber unvollständig (bzgl. Standard-Modellen) Strukturelle Induktionsschema Einfach, aber zum Beweisen zu rigide Enthält Nichtstandardmodelle Nicht entscheidbar 11 [12] 12 [12]

15 Fahrplan Teil I: Formale Logik Formale Modellierung Vorlesung 7 vom : FOL mit Induktion und Rekursion Christoph Lüth Universität Bremen Sommersemester 2015 Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation 16:21: [11] 2 [11] Das Tagesmenü Beweis der Eigenschaften von Funktion Beweis von Eigenschaften von Funktionen mit FOL-ND Rekursive Funktionen und wohlfundierte Induktion Terminierende Funktionen und abgeleitete Induktionsschemata Definiere und half: x.0 x x. y.x y s(x) s(y) half(0) = 0 half(s(0)) = 0 x. half(s(s(x))) = s(half(x)) (L1) (L2) (H1) (H2) (H3) Axiomatische Definition von Theorien ist gefährlich Beweise (Presburger)(L1)(L2)(H1)(H2)(H3) x. half(x) x 3 [11] 4 [11] Mehr Information Besser zum beweisen wäre wenn man gleich hätte [ ] half(c) c half(0) 0 half(s(0)) s(0) x. half(x) x. half(s(s(c))) s(s(c)) Wohlfundierte Induktion Wohlfundiertes Induktionsschema ( y.( x.x < y P(x)) P(y)) x.p(x) Vergleiche: half(0) = 0 (H1) half(s(0)) = 0 x. half(s(s(x))) = s(half(x)) Generiere Induktionschema aus rekursiven Funktionsdefinitionen [ ] P(c) P(0) P(s(0)). P(s(s(c))) (H2) (H3) < wohlfundierte Relation: X N.X x X. y X. (y < x) x.p(x) 5 [11] 6 [11] Beweis mit wohlfundierter Induktion <-Relation x.0 < s(x) x, y.x < y s(x) < s(y) Zulässige Induktionsschema Wann darf man die Rekursionsstruktur verwenden? Definierte Funktion muss... eindeutig definiert sein und... Beweise < ist wohlfundiert [ x.x < c half(x) x c = 0 c = 0 c = s(0). u.c = s(s(u)) half(c) c [ ] x.x < c P(x) []. P(c) x.p(x) x.x < c half(x) x c = s(0). half(c) c x. half(x) x [] x.x < c half(x) x u.c = s(s(u)). half(c) c ] P i P j, i j terminierend P 0 f (x 1,..., x n ) = t 0. P n f (x 1,..., x n ) = t n Rekursive Definition nach wohlfundierter Relation garantiert Terminierung Für jeden atomaren, rekursiven Aufruf f (t 1,..., t n ) erzeuge Terminierungshypothese P i (x 1,..., x n ) > (t 1,..., t n ) 7 [11] 8 [11]

16 Grenzen x.x < 101 f (x) = f (f (x + 11)) x. (x < 101) f (x) = x 10 f terminiert immer f ist { x 10 if x > 100 f (x) := 91 if x 100 Definition der geeigneten wohlfundierten Relation extrem schwierig. f (99) = f ( f ( ) ) = f (100) = f ( f ( ) ) = f (101) = 91 f (87) = f ( f ( 9 8 ) ) = f ( f ( f ( ) ) ) = f ( f ( 9 9 ) ) = f ( f ( f ( ) ) ) = f ( f ( ) ) = f ( f ( f ( ) ) ) = f ( f ( ) ) = f (91) = f ( f ( ) ) = f (92) = f ( f ( ) ) = f (93).... e t c... = f (99) ( s i e h e l i n k s ) = 91 9 [11] 10 [11] Zusammenfassung Strukturelle Induktionsschema Einfach, aber zum Beweisen zu rigide Wohlfundiertes Induktionsschema Mächtig und flexibel, wenig Hilfestellung beim Beweisen Wohlfundierte Relation aus Rekursionsstruktur terminierender Funktionen Angepasst an Beweisproblem und vorhandene Definitionsgleichungen Terminierungsbeweis notwendig (einfache Fälle automatisierbar, i.a. unentscheidbar) Axiomatisierung von Hand fehleranfällig Kernkonzept in Isabelle: konservative Erweiterung Dazu nötig: Rekursion und Induktion als abgeleitetes Prinzip 11 [11]

17 Fahrplan Formale Modellierung Vorlesung 8 vom : Logik Höherer Stufe Christoph Lüth Universität Bremen Sommersemester 2015 Alles über Logik höherer Stufe (Higher-order Logic, HOL): Typen und Terme Die Basis-Axiome Definierte Operatoren 16:21: [16] 2 [16] Fahrplan Teil I: Formale Logik Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation Logik höherer Stufe Ziel: Formalisierung von Mathematik Logik für Erwachsene Problem: Mögliche Inkonsistenz (Russel s Paradox) Lösung: Restriktion vs. Ausdrucksstärke Alternative Grundlagen: Andere Typtheorien (Martin-Löf, Calculus of Constructions) Ungetypte Mengenlehre (ZFC) HOL: guter Kompromiss, weit verbreitet. Klassische Logik höherer Stufe nach Church Schwächer als ZFC, stärker als Typtheorien 3 [16] 4 [16] Warum Logik höherer Stufe? Vermeidung von Inkonsistenzen Aussagenlogik: keine Quantoren Logik 1. Stufe: Quantoren über Terme x y. x = y y = x Logik 2. Stufe: Quantoren über Prädikaten und Funktionen P.(P 0 x.p x P (S x)) x.p x Logik 3. Stufe: Quantoren über Argumenten von Prädikaten Logik höherer Stufe (HOL): alle endlichen Quantoren Keine wesentlichen Vorteile von Logik 2. Ordnung Russell s Paradox R = {X X X} Abhilfe: Typen Gödel s 2. Unvollständigkeitssatz: Jede Logik, die ihre eigene Konsistenz beweist, ist inkonsistent. Unterscheidung zwischen Termen und Aussagen Dadurch in HOL keine Aussage über HOL 5 [16] 6 [16] Typen Terme Typen Type gegeben durch Terme Term gegeben durch Typkonstanten: c C Type (Menge C Type durch Signatur gegeben) Prop, Bool C Type: Prop alle Terme, Bool alle Aussagen Typvariablen: α V Type (Menge V Type fest) Funktionen: s, t Type dann s t in Type Konstanten: c C (Menge C durch Signatur gegeben) Variablen: v V Applikation: s, t Term dann s t Term Abstraktion: x V, t Term dann λx. t Term Konvention: Funktionsraum nach rechts geklammert α β γ für α (β γ) Konventionen: Applikation links geklammert, mehrfache Abstraktion λx y z. f x y z für λx. λy. λz. ((f x) y) z 7 [16] 8 [16]

18 Basis-Syntax = :: α α Bool :: Bool Bool Bool ι :: (α Bool) α :: Bool Bool :: Bool :: Bool if :: Bool α α α :: (α Bool) Bool :: (α Bool) Bool :: Bool Bool Bool :: Bool Bool Bool Einbettung (wird weggelassen) trueprop :: Bool Prop Basis-Operatoren: =,, ι Syntaktische Konventionen: Bindende Operatoren:,, ι x.p (λx.p) Infix-Operatoren:,,, = Mixfix-Operator: if b then p else q if b p q Basis-Axiome I: Gleichheit Reflexivität: Substitutivität: Extensionalität: t = t refl s = t P s subst P t f x = g x ext ( ) (λx. f x) = (λx. g x) ( ) Eigenvariablenbedingung: x nicht frei in offenen Vorbedingungen Einführungsregel: (P Q) (Q P) (P = Q) iff 9 [16] 10 [16] Abgeleitete Operatoren Basis-Axiome II: Implikation und Auswahl (λx. x) = (λx. x) P (P = λx. ) P Q.( x.p x Q) Q P. P P P P Q R. (P Q R) R P Q R. (P R) (Q R) R if P then x else y ιz.(p = z = x) (P = z = y) Einführungsregel Implikation: [P]. Q P Q impl Eliminationsregel Implikation: P Q Q P mp Eliminationsregel Auswahloperator: (ιx.x = a) = a the_eq HOL ist klassisch: (P = ) (P = ) true_or_false 11 [16] 12 [16] Die Basis-Axiome (Isabelle-Syntax) Eigenschaften der Logik höherer Stufe refl : t = t subst : [[s = t; P(s)]] = P(t) ext : [[ x.fx = gx]] = (λx.fx) = (λx.gx) impl : [[P = Q]] = P Q mp : [[P Q; P]] = Q iff : (P Q) (Q P) (P = Q) the_eq : (ιx.x = a) = a true_or_false : (P = ) (P = ) Konsistent (soweit wir wissen) Unvollständig... und damit unentscheidbar Beweis: folgt aus den Gödelschen Unvollständigkeitssätzen 13 [16] 14 [16] Erweiterungen Zusammenfassung Weitere Operatoren Weitere Typen: natürliche Zahlen, Datentypen Alle Erweiterungen sind konservativ und damit konsistenzbewahrend Logik höherer Stufe (HOL): Syntax basiert auf dem einfach getypten λ-kalkül Drei Basis-Operatoren, acht Basis-Axiome Rest folgt durch konservative Erweiterung Donnerstag 15 [16] 16 [16]

19 Fahrplan Teil I: Formale Logik Formale Modellierung Vorlesung 9 vom : Berechnungsmodelle Christoph Lüth Universität Bremen Sommersemester 2015 Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation 16:21: [13] 2 [13] Fahrplan für heute Die Churchsche Behauptung Eine Behauptung von Church Registermaschinen Rekursiv definierbare Funktionen Universelle Berechenbarkeit Church s Thesis (1936) Intuitiv berechenbare Funktionen sind genau die durch Rekursion definierbaren. Nicht beweisbar: das Konzept intuitiv berechenbar ist nicht formalisierbar. Aber: es gibt sehr viele, unterschiedliche (und meist voneinandar unabhängig gefundene) formale Definition von Berechenbarkeit, die alle gleich mächtig sind. Es spricht alles für die Churchsche Behauptung. 3 [13] 4 [13] Registermaschinen Variation von Turing-Maschinen, konzeptionell etwas einfacher. Registermaschinen (Minsky) Sequenz von Registern R 1, R 2,..., die natürliche Zahlen enthalten Programm besteht aus: Endliche Anzahl von Zuständen S 0, S 1, S 2,..., und für i > 0, Anweisung (S 0: terminaler Zustand) Anweisungen: (j, +, k) (j,, k, l) R j 1 S i S k R j + 1 S i S k S l Erhöhe R j um 1 und gehe zu S k Wenn R j = 0, gehe zu S l ; ansonsten verringere R j um 1 und gehe zu S k. Beispielprogramme Programm 1: Programm 2: 1: (1,, 1, 2) 2: (2,, 3, 0) 3: (1, +, 2) 1: (3,, 1, 2) 2: (2,, 3, 6) 3: (3, +, 4) 4: (1, +, 5) 5: (1, +, 2) 6: (3,, 7, 0) 7: (2, +, 6) R 1 := R 2; R 2 := 0 R 3 := 0; R 1 := R R 2 ; R 2 := R 2 5 [13] 6 [13] Berechenbarkeit durch Registermaschine NB: Jede Registermaschine hat endlich viele Register, aber Gesamtanzahl unbeschränkt. Eine Registermaschine R berechnet eine Funktion f : N k N (mit einem Programm P), wenn beim Start (von S 1 ) mit Registerinhalt (n 1, n 2,..., n k, 0,...) die Maschine schließlich mit Registerinhalt f (n 1,..., n k ) in R 1 anhält. Aber welche Funktionen sind berechenbar? 7 [13] Theorem 1: Berechenbare Funktionen (i) Die Projektionen π i (n 1,..., n k ) = n i ist berechenbar. (ii) const 0 : N N und succ : N N sind berechenbar. (iii) Komposition: Sei f mit Arität k berechenbar, und g 1,..., g k mit Arität l berechenbar, dann ist h berechenbar: h = def f (g 1 (n 1,..., n l ),..., g k (n 1,..., n l )) (iv) Rekursion: Seien f und g berechenbar mit Arität k bzw. k + 2, dann ist h berechenbar: h(n 1,..., n k, 0) = def f (n 1,..., n k ) h(n 1,..., n k, n k+1 + 1) = def g(n 1,..., n k, n k+1, h(n 1,..., n k, n k+1 )) (v) Minimalisierung (µ-operator): Sei f berechenbar mit Arität k + 1, dann ist g berechenbar: g(n 1,..., n k ) = n mit f (n 1,..., n k, n) = 0 und m. m < n f (n 1,..., n k, m) > 0 8 [13]

20 Berechenbarkeit, Rekursion, Primitive Rekursion Primitiv rekursive Funktionen: kleinste unter (i) (iv) abgeschlosene Klasse von Funktionen Rekursive Funktionen: kleinste unter (i) (v) abgeschlossene Klasse von Funktionen Primitiv rekursive Funktionen sind total, aber nicht jede totale rekursive Funktion ist primitiv rekursiv. (Gegenbeispiel: Ackermann) Es gilt der Umkehrschluss: Theorem 2 Jede rekursive Funktion ist berechenbar. Kodierung von Programmen Programme können durch Zahlen kodiert werden (Gödel-Kodierung): (j, +, k) 2 j 5 k (j,, k, l) 2 j 3 5 k 7 l i 1,..., i n 2 i1 3 i2... p in n 1 Notation: f n,k ist die durch n kodierte Funktion der Arität k. Theorem 3 (Universelle Funktionen) Es gibt universelle rekursive Funktion u so dass u(n, k, m) = r wenn n ein Programm kodiert, k ein k-tupel (m 1,..., m k ) und f n,k (m 1,..., m k ) = r, und ansonsten u(n, k, m) undefiniert. 9 [13] 10 [13] Rekursive Funktionen und Peano-Arithmetik Weitere Modelle von Berechenbarkeit Turing-Maschinen (remember those?) Theorem 4 (Rekursion ist PA) Jede rekursive Funktion ist in PA definierbar. Ohne Multiplikation funktioniert der Beweis nicht. Deshalb: nicht jede rekursive Funktion in Presburger-Arithmetik definierbar. Chomsky-Grammatiken (Typ 0) λ-kalkül Kombinatorlogik π-kalkül Neuronale Netze Gegenbeispiel: Aktoren (Carl Hewitt) Literaturlage nicht eindeutig [13] 12 [13] Zusammenfassung Behauptung von Church: intuitiv berechenbare Funktionen sind genau durch Turing-Maschinen berechenbare. Vielzahl von formalen Berechnungsmodellen, welche die gleiche Mächtigkeit haben. Wir haben gesehen: Registermaschinen Rekursive Funktionen In Peano-Arithmetik definierbare Funktionen Beweis der Mächtigkeit durch Kodierung: Berechnungen können in Zahlen kodiert werden Damit universelle Berechnungen (Compiler!) möglich Nächste Woche: Grenzen der Beweisbarkeit die Gödelschen Unvollständigkeitssätze 13 [13]

21 Fahrplan Teil I: Formale Logik Formale Modellierung Vorlesung 10 vom : Die Unvollständigkeitssätze von Gödel Christoph Lüth Universität Bremen Sommersemester 2015 Einführung Aussagenlogik (PL): Syntax und Semantik, Natürliches Schließen Konsistenz & Vollständigkeit der Aussagenlogik Prädikatenlogik (FOL): Syntax und Semantik Konsistenz & Vollständigkeit von FOL FOL mit induktiven Datentypen FOL mit rekursiven Definitionen Logik höherer Stufe (HOL): Syntax und Eigenschaften Berechungsmodelle (Models of Computation) Die Unvollständigkeitssätze von Gödel Teil II: Spezifikation und Verifikation 16:21: [16] 2 [16] Das Tagesmenü Gödels erster Unvollständigkeitssatz Jede konsistente Theorie, die hinreichend expressiv ist, um die natürlichen Zahlen zu formalisieren, erlaubt die Formulierung von wahren Aussagen, die weder beweisbar noch widerlegbar sind. Die Gödelschen Unvollständigkeitssätze Zu jeder Formel ϕ gibt es eine natürliche Zahl, die diese Formel eindeutig kodiert ϕ Zu jedem ND-Beweis D für ϕ gibt es eine natürliche Zahl, die diesen Beweis eindeutig kodiert D Beweisbarkeit von ϕ in N ist als Prädikat Provable( ϕ ) formalisierbar in PA Konstruktion einer Formel mit Aussage Ich bin nicht beweisbar ϕ Prov( ϕ ) 3 [16] 4 [16] Gödel-Kodierung Folgende Funktion ist definierbar in PA: (n, m) = def 2 n 3 m Es gibt eindeutige Projektionen (ebenfalls definierbar in PA): Gödel-Kodierung für Terme Signatur Σ = (F, P), Variablen X Variablen x 1, x 2, X: xi def = (0, i) Left((n, m)) = n Right((n, m)) = m Funktionen f 1, F: Kodierung von Sequenzen (p k ist die k-te Primzahl): fi def = (1, i) n 0,..., n k 1 = def 2 n0+1 3 n1+1 5 n2+1 p nk 1+1 k Alternative Definition nach Cantor: (n, m) = n + m2 + 3x + 2y 2 Terme fi (t 1,... t n ) def = f i, t1,... tn 5 [16] 6 [16] Gödel-Kodierung für Formeln Signatur Σ = (F, P), Variablen X Prädikate p 1, P, = def p 1, = = def p 2 Atome Konnektive und Quantoren pi def = (2, i) pi (t 1,... t n ) def = p i, t1,... tn = (3, 1), = (3, 2), = (3, 3) = (3, 4), = (3, 5), = (3, 6), = (3, 7) Gödel-Kodierung für Formeln II Signatur Σ = (F, P), Variablen X ϕ = (, ϕ ) ψ ϕ =, ψ, ϕ mit {,,, } Q x i. ϕ = Q, x i, ϕ mit Q {, } Lemma 1 (Eigenschaften der Gödel-Kodierung) Sei G = def { ϕ ϕ Variable, Term, oder Formel } G ist entscheidbar n = ϕ : ϕ = n ist eindeutig definiert auf G Substitutionsfunktion subst(n, x, t) = m definierbar auf G ϕ[t/x] = subst( ϕ, x, t ) 7 [16] 8 [16]

22 Gödel-Kodierung für Ableitungen Gödel-Kodierung für Ableitungen Gödel Kodierung für Hypothesen Liste: [ϕ1,..., ϕ n ] { 1 if n = 0 = (4, ϕ 1 ),..., (4, ϕn ) if n > 0 if h = 1 n h if h = (4, n) h = ((4, n), m) n m if h = ((4, q), m), (q = n) D 1 φ D2 ψ φ ψ I = (5, D ), 1 D φ, 2 ψ, φ ψ D φ ψ E φ L = (6, ), D φ ψ, φ Definition von Konkatenation und Streichen von Hypothesen 9 [16] 10 [16] Gödel-Kodierung für Ableitungen Gödel-Kodierung für Ableitungen D 1 φ D ψ φ ψ I D 2 φ ψ ψ = (5, ), E = (6, ), D ψ D 1 φ,, φ ψ D 2 φ ψ, ψ Entsprechend für RAA, I, E Definiere Der(p, h, z): p ist Beweis für z aus Hypothesen h Der(p, h, z) = def (4, z) h Hypothese p 1, h 1, z 1, p 2, h 2, z 2. Der(p 1, h 1, z 1 ) Der(p 2, h 2, z 2 ) h = h 1 h 2 p = (5, ), p 1, p 2, z 1 z 2 p 1, h 1, z 1, u. Der(p 1, h 1, z 1 ) h = Streiche(u, h 1 ) p = (5, ), p 1, u z 2... I I 11 [16] 12 [16] Beweisbarkeit Fixpunkt-Theorem Peano-Axiome + Erweiterung: PA Sei Ax : N Prädikat Ax(n) n = ϕ ϕ PA Prov(p, f ): p is Gödelnummer eines ND-Beweis für f Prov(p, f ) h.(der(p, h, f ) g.g h Ax(g)) Theorem 2 (Fixpoint Theorem) For each formula ϕ(x) with only one free variable x there exists a formula ψ such that ϕ( ψ ) ψ Thm(f ): f ist ein Theorem Thm(f ) p. Prov(p, f ) 13 [16] 14 [16] Gödels erster Unvollständigkeitssatz Jede konsistente Theorie, die hinreichend expressiv ist, um PA zu formalisieren erlaubt die Formulierung von wahren Aussagen, die weder beweisbar noch widerlegbar sind. Fixpunktsatz anwenden auf ϕ(x) = def Thm(x) Es gibt ψ so dass ψ Thm( ψ ) Gödel sentence: Ich bin nicht beweisbar Es gilt PA = ψ Thm( ψ ) Annahme: PA ψ, dann PA = Thm( ψ ) PA = x. Prov(x, ψ ) Prov(n, ψ ) for some n PA = Prov(n, ψ ) for some n ψ Thm( ψ ) PA = Thm( ψ ) Widerspruch also ist ψ wahr in PA, aber PA ψ Zusammenfassung Gödels erster Unvollständigkeitssatz Jede konsistente Theorie, die hinreichend expressiv ist, um die Peano-Arithmetik (PA) zu formalisieren, ist entweder konsistent oder unvollständig (erlaubt die Formulierung von wahren Aussagen, die weder beweisbar noch widerlegbar sind). Gödels zweiter Unvollständigkeitssatz When PA konsistent ist, können wir die Konsistenz von PA nicht herleiten (PA Consis PA ). Beweis durch Kodierung von Formeln und Ableitbarkeit in PA Reflektion der Beweisbarkeit in einer Formel Konstruktion einer Formel mit der Aussage Ich bin nicht beweisbar 15 [16] 16 [16]

23 Fahrplan Formale Modellierung Vorlesung 11 vom : Formale Modellierung von Software Christoph Lüth Universität Bremen Sommersemester 2015 Teil I: Formale Logik Teil II: Spezifikation und Verifikation Formale Modellierung von Software Temporale Logik und Modellprüfung Zusammenfassung, Rückblick, Ausblick 16:21: [24] 2 [24] Das Tagesmenü Algebraische Spezikation Modellierung von Software: Spezifikation Modellierung des Verhaltens (nicht des Programmes) Ein weites Feld: Entwicklungsmodelle, Vorgehensmodelle,... Informelle Sprachen (UML) Hier: formale Spezifikation Idee: Spezifikation ist Signatur, Programme sind Algebren Mathematische Grundlage: universelle Algebra Geschichtliches: Entstanden um 1976 (ADJ-Gruppe) In den 80ern Vielzahl von algebraischen Sprachen Ende 90er Entwicklung der Einheitssprache CASL Beispielsprachen: CASL, OBJ, Maude 3 [24] 4 [24] Die Grundidee Ein klassisches Beispiel Ein Stack hat zwei Sorten und vier Operationen: Deklaration von Typen und Operationen in Signatur Gewünschte Eigenschaften als Axiome Semantik: lose (alle Algebren) vs. initial (Termalgebra) typedecl a stack axiomatization empty :: " a stack" push :: " a stack => a => a stack" pop :: " a stack => a stack" top :: " a stack => a" Axiome: pop und top invers zu push where a1: "top (push s x) = x" a2: "pop (push s x) = s" pop, top partiell? Keine Seiteneffekte 5 [24] 6 [24] Modellbasierte Spezifikation Das klassische Beispiel Grundidee: Konstruktion eines (nicht-ausführbaren) Modells Basiert auf konsistenter, ausdrucksstarker Logik: Mengenlehre (getypt, ungetypt), Typtheorie HOL Geschichtliches: VDM, entwickelt früher 70er (IBM-Labor Wien) Früher industrieller Einsatz Standardisierung in den 90ern (VDM, Z) Beispielsprachen: VDM, Z, B Der Stack modellbasiert: Sehr einfach der Stack ist eine Liste type_synonym a stack = " a list" definition empty :: " a stack" where "empty == []" definition push :: " a stack => a => a stack" where "push s a == a# s" definition pop :: " a stack => a stack" where "pop s == tl s" definition top :: " a stack => a" where "top s == hd s" 7 [24] 8 [24]

24 Vor- und Nachteile Weitere Modellierungssprachen Algebraische Spezifikationen: Abstrakter, leichter zu schreiben aber werden leicht inkonsistent JML light-weight oder code-based specification Modellbasierte Spezifikationen: UML semi-formal Konsistenz garantiert, ausdrucksmächtiger aber manchmal zu mächtig 9 [24] 10 [24] Java Modeling Language (JML) Zentral: funktionale Korrektheit Design by contract Spezifikation nahe am Code (Annotationen) Vor/Nachbedingungen, Invarianten Werkzeuge: ESC/Java2, Mobius JML: Erstes Beispiel public abstract class LinearSearch { //@ requires j >= 0; public abstract /*@ boolean f(int j); //@ ensures 0 <= \result; //@ ensures (\exists int j; 0 <= j && j <= \result; f(j)); public abstract /*@ int limit(); /*@ public requires (\exists int i; 0 <= i && i <= limit(); assignable ensures f(\result) (\forall int i; 0<= i && i < \result;! public int find() } 11 [24] 12 [24] UML als formale Spezifikationssprache Diagramme in UML 2.3 Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros Nein Aktivitätsdiagramm Ablauf en detail Nein Zustandsdiagramm Zustandsübergänge Ja Sequenzdiagramm Kommunikation Ja Kommunikationsdiagramm Struktur der Kommunikation (Ja) Zeitverlaufsdiagramm Echtzeitaspekte (Ja) Quelle: Wikipedia 13 [24] 14 [24] OCL OCL Basics Object Constraint Langauge Getypte Sprache Mathematisch präzise Sprache für UML Dreiwertige Logik OO meets Z Ausdrücke immer im Kontext: Entwickelt in den 90ern Formale Constraints an UML-Diagrammen Invarianten an Klassen, Interfaces, Typen Vor/Nachbedingungen an Operationen oder Methoden 15 [24] 16 [24]

25 OCL Syntax Undefiniertheit in OCL Invarianten: context class inv: expr Vor/Nachbedingungen: context Type :: op(arg1 : Type) : ReturnType pre: expr post: expr Undefiniertheit propagiert (alle Operationen strikt) Ausnahmen: Boolsche Operatoren (and, or beidseitig nicht-strikt) Fallunterscheidung Test auf Definiertheit: oclisundefined mit { true e = oclisundefined(e) = false otherwise expr ist ein OCL-Ausdruck vom Typ Boolean Resultierende Logik: dreiwertig 17 [24] 18 [24] Dreiwertige Logik OCL Typen Wahrheitstabelle (starke Kleene-Logik, K 3 ): Fun Fact: K 3 hat keine Tautologien Basistypen: Boolean, Integer, Real, String OclAny, OclType, OclVoid Collection types: Set, OrderedSet, Bag, Sequences Modelltypen Alternative: schwache Kleene-Logik (alle Operatoren strikt) 19 [24] 20 [24] Basistypen und Operationen Integer (Z) Real (R) Integer Subklasse von Real round, floor von Real nach Integer String (Zeichenketten) substring, toreal, tointeger, characters etc. Boolean (Wahrheitswerte) or, xor, and, implies Sowie Relationen auf Real, Integer, String Collection Types Set, OrderedSet, Bag, Sequence Operationen auf allen Kollektionen: Set Bag size, includes, count, isempty, flatten Kollektionen werden immer flachgeklopft union, intersection, union, intersection, count Sequence first, last, reverse, prepend, append 21 [24] 22 [24] Collection Types: Iteratoren Iteratoren: Funktionen höherer Ordnung Alle definiert über iterate : coll-> iterate(elem: Type, acc: Type= expr expr[elem, acc]) iterate(e: T, acc: T= v) { acc= v; for (Enumeration e= c.elements(); e.hasmoreelements();){ e= e.nextelement(); acc.add(expr[e, acc]); // acc= expr[e, acc] } return acc; } Zusammenfassung Formale Spezifikation definieren das Verhalten eines Softwaresystems Verschiedene Ansätze: Algebraische Spezifikation (axiomatisch, abstrakt) Modellbasierte Spezifikation (konkret, konsistent) Leichtgewichtige Spezifikation (annotierter Code) In der Praxis oft hybride Ansätze (z.b. UML) Iteratoren sind alle strikt 23 [24] 24 [24]

26 Fahrplan Formale Modellierung Vorlesung 12 vom : Temporale Logik und Modellprüfung Christoph Lüth Universität Bremen Sommersemester 2015 Teil I: Formale Logik Teil II: Spezifikation und Verifikation Formale Modellierung von Software Temporale Logik und Modellprüfung Zusammenfassung, Rückblick, Ausblick 16:21: [19] 2 [19] Organisatorisches Tagesmenu: Temporale Logik und Modellprüfung Modellierung des Programmes als endliche Zustandsmaschine Übung am Donnerstag fällt aus Ersatztermin? Abstraktion über Zuständen, Zustandsübergang als primäres Konzept Temporale Logik: Logik über Pfade von Zustandsübergängen Temporal im Sinne von tempus fugit 3 [19] 4 [19] Endliche Zustandsmaschine Definition (Finite State Machine, FSM) Eine FSM ist M = Σ, mit Σ eine endliche Menge von Zuständen, und Σ Σ eine Zustandsübergangsrelation, mit linkstotal: s Σ. s Σ. s s Varianten dieser Definition: Anfangszustände; Zustandsvariablen oder benannte Zustandsübergänge NB: Kein Endzustand, und keine Ein/Ausgabe (Unterschied zu Automaten) Wenn eine Funktion ist (rechtseindeutig), dann ist die FSM deterministisch, ansonsten nicht-deterministisch. Jede nicht-deterministische FSM kann durch die Power-State-Konstruktion deterministisch gemacht werden. Einfaches Beispiel Getränkemaschine für Kaffee Nimmt 10c oder 20c Münzen Kleiner Kaffe 10c, großer Kaffee 20c Nimmt nicht mehr als zwei Münzen Geldrückgabe 5 [19] 6 [19] Linear Temporal Logic (LTL) and Pfade Lineare Temporale Logik (LTL) LTL ist die Logik über Ausführungspfade in einer FSM. Wir definieren erst Pfade, dann LTL-Formeln, dann eine Erfülltheitsrelation. Definition (Pfade) Für eine FSM M = Σ, ist ein Pfad in M eine (unendliche) Sequenz s 1, s 2, s 3,... mit s i Σ und s i s i+1 für alle i. def Notation: Sei p = s 1, s 2, s 3,... ein Pfad, dann ist p i = s i (Selektion) und p i = def s i, s i+1,... (Suffix ab Position i). φ ::= q True, false, atomar φ φ 1 φ 2 φ 1 φ 2 φ 1 φ 2 Aussagenlog. Formeln X φ Nächster Zustand F φ Irgendwann G φ Immer φ 1 U φ 2 Bis Präzendenzen: unäre Operatoren; dann U; dann, ; dann. Eine atomare Formel p ist ein Zustandsprädikat. Andere (äquivalente) Möglichkeit: Zustände mit atomaren Prädikaten zu benennen (Kripke-Stuktur). Andere Operatoren wie φ R ψ (release) oder φ W ψ (schwaches until). 7 [19] 8 [19]

Formale Modellierung Vorlesung 10 vom : Formale Modellierung mit UML und OCL

Formale Modellierung Vorlesung 10 vom : Formale Modellierung mit UML und OCL 1 [30] Formale Modellierung Vorlesung 10 vom 24.06.14: Formale Modellierung mit UML und OCL Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2014 2 [30] Fahrplan Teil I: Formale Logik

Mehr

Formale Modellierung Vorlesung 13 vom : Rückblick und Ausblick

Formale Modellierung Vorlesung 13 vom : Rückblick und Ausblick Rev. 2226 1 [19] Formale Modellierung Vorlesung 13 vom 01.07.13: Rückblick und Ausblick Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2013 2 [19] Fahrplan Teil I: Formale Logik Teil

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010 Klausur Formale Systeme Fakultät für Informatik Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 A1 (15) A2 (10) A3 (10) A4

Mehr

Formale Methoden der Softwaretechnik 1 Vorlesung vom : Grundlage von Isabelle

Formale Methoden der Softwaretechnik 1 Vorlesung vom : Grundlage von Isabelle 1 Formale Methoden der Softwaretechnik 1 Vorlesung vom 16.11.09: Grundlage von Isabelle Christoph Lüth, Lutz Schröder Universität Bremen Wintersemester 2009/10 2 Fahrplan Teil I: Grundlagen der Formalen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Registermaschine (RM) R ist

Mehr

Zusammenfassung. Definition. 1 (x i ) 1 i n Sequenz von Registern x i, die natürliche Zahlen beinhalten. 2 P ein Programm. Befehle: 1 x i := x i + 1

Zusammenfassung. Definition. 1 (x i ) 1 i n Sequenz von Registern x i, die natürliche Zahlen beinhalten. 2 P ein Programm. Befehle: 1 x i := x i + 1 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele Georg Moser Michael Schaper Manuel Schneckenreither Eine Registermaschine (RM)

Mehr

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie Was ist Logik? Geschichte der Logik eng verknüpft mit Philosophie Begriff Logik wird im Alltag vielseitig verwendet Logik untersucht, wie man aus Aussagen andere Aussagen ableiten kann Beschränkung auf

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 18: Logik Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/35 Überblick Formeln in Prädikatenlogik erster Stufe Theorien und

Mehr

How To Prove A Propositional Logic

How To Prove A Propositional Logic Klausur Formale Systeme Fakultät für Informatik SS 2015 Prof. Dr. Bernhard Beckert 31. Juli 2015 Vorname: Matrikel-Nr.: Die Bearbeitungszeit beträgt 60 Minuten. A1 (10) A2 (8) A3 (6) A4 (7) A5 (9) A6 (11)

Mehr

Satz 1.18 (Kompaktheitssatz der Aussagenlogik)

Satz 1.18 (Kompaktheitssatz der Aussagenlogik) Satz 1.18 (Kompaktheitssatz der Aussagenlogik) Σ F ist erfüllbar genau dann, wenn jede endliche Teilmenge von Σ erfüllbar ist. Σ F ist unerfüllbar genau dann, wenn es eine unerfüllbare endliche Teilmenge

Mehr

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik Formale Grundlagen der Informatik 1 Kapitel 19 & Frank Heitmann heitmann@informatik.uni-hamburg.de 23. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/25 Motivation Die ist eine Erweiterung

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

Philosophie des Intuitionismus und sein Einfluß auf die Informatik

Philosophie des Intuitionismus und sein Einfluß auf die Informatik Philosophie des Intuitionismus und sein Einfluß auf die Informatik Christoph Kreitz Was ist Intuitionismus? Unterschiede zur klassischen Mathematik Historische Entwicklung Bezüge zur Informatik Ähnlichkeit

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

Was ist mathematische Logik?

Was ist mathematische Logik? Was ist mathematische Logik? Logik untersucht allgemeine Prinzipien korrekten Schließens Mathematische Logik stellt zu diesem Zweck formale Kalküle bereit und analysiert die Beziehung zwischen Syntax und

Mehr

Motivation und Geschichte. Geschichte der Logik Logik und Informatik

Motivation und Geschichte. Geschichte der Logik Logik und Informatik Motivation und Geschichte Geschichte der Logik Logik und Informatik Logik für Informatiker, M. Lange, IFI/LMU: Motivation und Geschichte Geschichte der Logik 12 Aufgaben der Logik Logik (aus Griechischem)

Mehr

Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P)

Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P) Was bisher geschah Modellierung in Logiken: klassische Prädikatenlogik FOL(Σ, X) Spezialfall klassische Aussagenlogik AL(P) Syntax Semantik Signatur, Variablen Terme (induktive Definition, Baumform) Atome

Mehr

Logik für Informatiker Logic for computer scientists

Logik für Informatiker Logic for computer scientists Logik für Informatiker Logic for computer scientists Till Mossakowski Wintersemester 2014/15 Till Mossakowski Logik 1/ 24 Die Booleschen Junktoren Till Mossakowski Logik 2/ 24 Die Negation Wahrheitstafel

Mehr

Object Constraint Language. 30. Oktober 2012

Object Constraint Language. 30. Oktober 2012 Object Constraint Language 30. Oktober 2012 54 Was ist die OCL? Wie wird sie verwendet? Die Object Constraint Language (OCL) ist eine textuelle Sprache für Constraints über Objektstrukturen. Sie ist ein

Mehr

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser Informatik A Prof. Dr. Norbert Fuhr fuhr@uni-duisburg.de auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser 1 Teil I Logik 2 Geschichte R. Descartes (17. Jhdt): klassische

Mehr

Formale Systeme. Wiederholung. Prof. Dr. Bernhard Beckert, WS 2017/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Formale Systeme. Wiederholung. Prof. Dr. Bernhard Beckert, WS 2017/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Formale Systeme Prof. Dr. Bernhard Beckert, WS 2017/2018 Wiederholung KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Themen Aussagenlogik

Mehr

Formale Modellierung Vorlesung vom : Beyond JML

Formale Modellierung Vorlesung vom : Beyond JML Rev. 1702 1 [12] Formale Modellierung Vorlesung vom 07.05.12: Beyond JML Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012 2 [12] Heute im Programm Grenzen der JML Nach JML: UML

Mehr

Angewandte Mathematik am Rechner 1

Angewandte Mathematik am Rechner 1 Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 Kapitel 3 [Bildquellen: Wikipedia User David Madore, Inductiveload ] Grundlagen 2: Funktionen, Berechenbarkeit und emergente Komplexität Michael Wand

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 19 & Die ist eine Erweiterung der Aussagenlogik. Sie hat eine größere Ausdrucksstärke und erlaub eine feinere Differenzierung. Ferner sind Beziehungen/Relationen

Mehr

Organisatorisches. Die Vasa. Ariane-5. Modellierung Das Problem. Modellierung Das Problem. Modellierung Das Problem. Modellierung Das Problem

Organisatorisches. Die Vasa. Ariane-5. Modellierung Das Problem. Modellierung Das Problem. Modellierung Das Problem. Modellierung Das Problem Organisatorisches Veranstalter: Formale Modellierung Vorlesung 1 vom 030413: Einführung Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2013 Serge Autexier Christoph Lüth sergeautexier@dfkide

Mehr

1. Einführung in Temporallogik CTL

1. Einführung in Temporallogik CTL 1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen

Mehr

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation Entscheidungsverfahren mit Anwendungen in der Softwareverifikation VI: SMT, DPLL(T) Carsten Sinz Institut für Theoretische Informatik 21.11.2018 Inhalt Theorien SMT-LIB DPLL(T): Idee Abstraktes DPLL(T)!2

Mehr

Logik in der Informatik

Logik in der Informatik Goethe-Universität Frankfurt am Main Institut für Informatik Theorie komplexer Systeme Logik in der Informatik Skript zur Vorlesung Prof. Dr. Nicole Schweikardt Version vom 25. Oktober 2013 2 Inhaltsverzeichnis

Mehr

De Morgan sche Regeln

De Morgan sche Regeln De Morgan sche Regeln Durch Auswerten der Wahrheitswertetabelle stellen wir fest, dass allgemeingültig ist; ebenso (p q) p q (p q) p q. Diese beiden Tautologien werden als die De Morgan schen Regeln bezeichnet,

Mehr

Warum Programme Verträge schließen sollten

Warum Programme Verträge schließen sollten 1 Warum Programme Verträge schließen sollten RALF HINZE Institut für Informatik, Lehrstuhl Softwaretechnik, Universität Freiburg Georges-Köhler-Allee, Gebäude 079, 79110 Freiburg i. Br. Email: ralf@informatik.uni-bonn.de

Mehr

Motivation und Geschichte. Geschichte der Logik Logik und Informatik

Motivation und Geschichte. Geschichte der Logik Logik und Informatik Motivation und Geschichte Geschichte der Logik Logik und Informatik Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 2.1 Motivation und Geschichte Geschichte der Logik 13 Aufgaben der Logik

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 4 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Modus Ponens A B B A MP Axiome für

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

Abschnitt 11: Korrektheit von imperativen Programmen

Abschnitt 11: Korrektheit von imperativen Programmen Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961

Mehr

Nichtklassische Logiken

Nichtklassische Logiken Nichtklassische Logiken Peter H. Schmitt pschmitt@ira.uka.de UNIVERSITÄT KARLSRUHE Sommersemester 2004 P. H. Schmitt: Nichtklassische Logiken p.1 Inhalt Wiederholung P. H. Schmitt: Nichtklassische Logiken

Mehr

Kurseinheit 1 Einführung und mathematische Grundlagen Aussagenlogik

Kurseinheit 1 Einführung und mathematische Grundlagen Aussagenlogik Kurseinheit 1 Einführung und mathematische Grundlagen Aussagenlogik Fragen Seite Punkte 1. Was ist die Mathematische Logik? 3 2 2. Was sind die Aussagenlogik und die Prädikatenlogik? 5 4 3. Was sind Formeln,

Mehr

/26

/26 7 8 3 3 7 2 8 2 8. /2 Sudoku 2 2 3 3 7 7 8 8 8 Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem 3x3 Kästchen alle Zahlen von bis stehen.. 2/2 Warum? 7 8 3 3 7 2 8

Mehr

Gert Smolka Universität des Saarlandes

Gert Smolka Universität des Saarlandes Was ist Logik? Gert Smolka Universität des Saarlandes 25. Januar 2010 Logik ist die Lehre des vernünftigen Schlussfolgerns. Logik untersucht die Gültigkeit von Argumenten hinsichtlich ihtlih ihrer Struktur

Mehr

Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen

Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen Was bisher geschah Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen Syntax: Signatur Semantik: Axiome (FOL-Formeln, meist

Mehr

Tableaukalkül für Aussagenlogik

Tableaukalkül für Aussagenlogik Tableaukalkül für Aussagenlogik Tableau: Test einer Formel auf Widersprüchlichkeit Fallunterscheidung baumförmig organisiert Keine Normalisierung, d.h. alle Formeln sind erlaubt Struktur der Formel wird

Mehr

Logik Vorlesung 3: Äquivalenz und Normalformen

Logik Vorlesung 3: Äquivalenz und Normalformen Logik Vorlesung 3: Äquivalenz und Normalformen Andreas Maletti 7. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Logik I. Symbole, Terme, Formeln

Logik I. Symbole, Terme, Formeln Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v

Mehr

Berechenbarkeitstheorie 19. Vorlesung

Berechenbarkeitstheorie 19. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Erinnerung:

Mehr

Logische Grundlagen der Mathematik, WS 2014/15

Logische Grundlagen der Mathematik, WS 2014/15 Logische Grundlagen der Mathematik, WS 2014/15 Thomas Timmermann 16. Oktober 2014 1 Einleitung Literatur Paul.R. Halmos, Naive Set Theory Ralf Schindler, Logische Grundlagen der Mathematik Peter J. Cameron,

Mehr

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? 3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? A. Gegeben eine kontextfreie Grammatik G. Gibt es ein

Mehr

Klausur Formale Systeme Fakultät für Informatik SS 2018

Klausur Formale Systeme Fakultät für Informatik SS 2018 Klausur Formale Systeme Fakultät für Informatik SS 2018 Prof. Dr. Bernhard Beckert 30. Juli 2018 Name: Vorname: Matrikel-Nr.: Die Bearbeitungszeit beträgt 60 Minuten. A1 (13) A2 (8) A3 (6) A4 (8) A5 (9)

Mehr

Formale Modellierung Vorlesung vom : Einführung

Formale Modellierung Vorlesung vom : Einführung Rev. 1673 1 [11] Formale Modellierung Vorlesung vom 16.04.12: Einführung Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012 2 [11] Organisatorisches Veranstalter: Till Mosskawski

Mehr

Modelltheorie (Einige Impulse)

Modelltheorie (Einige Impulse) Modelltheorie (Einige Impulse) Formale Systeme werden oft entworfen, um mathematische Strukturen zu beschreiben. In der Modelltheorie geht es um das Studium der Beziehungen zwischen formalen Systemen und

Mehr

- SMT und DPLL(T ) Entscheidungsverfahren mit Anwendungen in der Softwareverifikation.

- SMT und DPLL(T ) Entscheidungsverfahren mit Anwendungen in der Softwareverifikation. SMT und DPLL(T ) Entscheidungsverfahren mit Anwendungen in der Softwareverifikation STEPHAN FALKE INSTITUT FÜR THEORETISCHE INFORMATIK (ITI) 0 KIT 6. Universität Mai 2013 des S. Landes Falke Baden-Württemberg

Mehr

Die Verwendung der Object Constraint Language (OCL) in UML-Modellen

Die Verwendung der Object Constraint Language (OCL) in UML-Modellen Die Verwendung der Object Constraint Language (OCL) in UML-Modellen Gliederung Einleitung Grundlegende Prinzipien Was ist ein Kontext von Constraints Invarianten Vor- und Nachbedingungen Typen und Collections

Mehr

Logik Vorlesung 7: Grundlagen Prädikatenlogik

Logik Vorlesung 7: Grundlagen Prädikatenlogik Logik Vorlesung 7: Grundlagen Prädikatenlogik Andreas Maletti 5. Dezember 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Klausur Formale Systeme Fakultät für Informatik SS 2017

Klausur Formale Systeme Fakultät für Informatik SS 2017 Klausur Formale Systeme Fakultät für Informatik SS 2017 Prof. Dr. Bernhard Beckert 3. August 2017 Name: Vorname: Matrikel-Nr.: Die Bearbeitungszeit beträgt 60 Minuten. A1 (14) A2 (6) A3 (6) A4 (8) A5 (11)

Mehr

Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik

Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik Formale Grundlagen der Informatik 1 Kapitel 17 & Frank Heitmann heitmann@informatik.uni-hamburg.de 6. & 7. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/43 Motivation Die ist eine Erweiterung

Mehr

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Grundlagen der Programm- und Systementwicklung Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Technische Universität München Institut für Informatik Software &

Mehr

Logik und Beweisbarkeit

Logik und Beweisbarkeit Logik und Beweisbarkeit Folien zur Vorlesung im Sommersemester 2016 Teil 1 Martin Mundhenk Univ. Jena, Institut für Informatik 12. April 2016 Vorlesung Logik und Beweisbarkeit (Sommer 2016) 1. Aussagenlogik

Mehr

Logik Vorlesung 9: Normalformen

Logik Vorlesung 9: Normalformen Logik Vorlesung 9: Normalformen Andreas Maletti 19. Dezember 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen Weitere Eigenschaften

Mehr

Mehrsortige Strukturen

Mehrsortige Strukturen Was bisher geschah Modellierung von Daten durch Mengen (Individuenbereiche), häufig zusammengesetzt durch Mengenoperationen, Zusammenhängen zwischen Individuen durch Relationen (auch Eigenschaften) Funktionen

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK Rückblick: Logelei Wir kehren zurück auf das Inselreich mit Menschen von Typ W (Wahrheitssager) und Typ L (Lügner). THEORETISCHE INFORMATIK UND LOGIK 14. Vorlesung: Modelltheorie und logisches Schließen

Mehr

Alphabet der Prädikatenlogik

Alphabet der Prädikatenlogik Relationen und Alphabet der Das Alphabet der besteht aus Individuenvariablen Dafür verwenden wir kleine Buchstaben vom Ende des deutschen Alphabets, auch indiziert, z. B. x, y, z, x 1, y 2,.... Individuenkonstanten

Mehr

Definition (Modus Ponens) Wenn A, dann B. A gilt Also, gilt B

Definition (Modus Ponens) Wenn A, dann B. A gilt Also, gilt B Zusammenfassung der letzten LVA Wenn das Kind schreit, hat es Hunger Das Kind schreit Also, hat das Kind Hunger Fakt Korrektheit dieser Schlussfigur ist unabhängig von den konkreten Aussagen Einführung

Mehr

Normalformen boolescher Funktionen

Normalformen boolescher Funktionen Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion

Mehr

Entwicklung korrekter Programme in Coq. Thomas Strathmann

Entwicklung korrekter Programme in Coq. Thomas Strathmann Entwicklung korrekter Programme in Coq Thomas Strathmann Überblick Teil 1 Was ist Coq? Theoretische Grundlagen Programmierung, Spezifikation, Beweise in

Mehr

Logik Vorlesung 8: Modelle und Äquivalenz

Logik Vorlesung 8: Modelle und Äquivalenz Logik Vorlesung 8: Modelle und Äquivalenz Andreas Maletti 12. Dezember 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen Weitere

Mehr

13 Formale Spezifikation von Anforderungen

13 Formale Spezifikation von Anforderungen 13 Formale Spezifikation von Anforderungen Mögliche Formalitätsgrade einer Spezifikation 0 Ideen und Vorstellungen der Auftraggeber informale Spezifikation Zeit teilformale Spezifikation 100% formale Spezifikation

Mehr

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Logik Vorlesung 4: Horn-Logik und Kompaktheit Logik Vorlesung 4: Horn-Logik und Kompaktheit Andreas Maletti 14. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 17 & Frank Heitmann heitmann@informatik.uni-hamburg.de 6. & 7. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/43 Die ist eine Erweiterung

Mehr

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil

Formale Grundlagen der Informatik 1 Wiederholung zum Logik-Teil Formale Grundlagen der Informatik 1 zum Logik-Teil Frank Heitmann heitmann@informatik.uni-hamburg.de 20. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/32 Überblick Im hatten wir Aussagenlogik

Mehr

Kurt Gödel und die Grundlagen der Mathematik

Kurt Gödel und die Grundlagen der Mathematik Mathematisches Institut der LMU 5. November 2007 Kurt Gödel 1906 1978 Geboren am 28. April 1906 in Brünn (heute Brno) Studium der Mathematik und Physik in Wien, 1924 1930 Mitglied des Wiener Kreises (Moritz

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Vorlesung 5: Invarianten und Logik Erinnerung: Verträge In Verbindung mit einem Feature: Ø Vorbedingungen Ø Nachbedingungen

Mehr

Kapitel 3. Ein adäquater Kalkül der Prädikatenlogik. Teil 2. Deduktionstheorem und Rückführung des Vollständigkeitssatzes auf das Erfüllbarkeitslemma

Kapitel 3. Ein adäquater Kalkül der Prädikatenlogik. Teil 2. Deduktionstheorem und Rückführung des Vollständigkeitssatzes auf das Erfüllbarkeitslemma Kapitel 3 Ein adäquater Kalkül der Prädikatenlogik Teil 2 Deduktionstheorem und Rückführung des Vollständigkeitssatzes auf das Erfüllbarkeitslemma Mathematische Logik (WS 2012/13) Kap. 3: Shoenfields Kalkül

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK THEORETISCHE INFORMATIK UND LOGIK 13. Vorlesung: Prädikatenlogik: Syntax und Semantik Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 1. Juni 2018 Halbzeit: Zusammenfassung und Ausblick Markus

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 6: Formale Logik Einführung schulz@eprover.org Formale Logik Ziel Formalisierung und Automatisierung rationalen Denkens Rational richtige Ableitung von

Mehr

Handout zu Gödel: Die Unvollständigkeitssätze

Handout zu Gödel: Die Unvollständigkeitssätze Handout zu Gödel: Die Unvollständigkeitssätze Juanfernando Angel-Ramelli, Christine Schär, Katja Wolff December 4, 2014 Contents 1 Einleitung 1 1.1 Gödels Theoreme (1931)..............................

Mehr

Geheimnisprinzip: (information hiding principle, Parnas 1972)

Geheimnisprinzip: (information hiding principle, Parnas 1972) 2. Abstrakte Datentypen 2.0 Begriffe Geheimnisprinzip: (information hiding principle, Parnas 1972) Zugriffe auf Teile einer Programmeinheit, die für die reguläre Benutzung nicht erforderlich sind, sollten

Mehr

Semantik von Programmiersprachen SS 2017

Semantik von Programmiersprachen SS 2017 Lehrstuhl für Programmierparadigmen Denis Lohner Sebastian Ullrich denis.lohner@kit.edu sebastian.ullrich@kit.edu Semantik von Programmiersprachen SS 2017 http://pp.ipd.kit.edu/lehre/ss2017/semantik Lösungen

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Wenn das Kind schreit, hat es Hunger Das Kind schreit Also, hat das Kind Hunger Christina Kohl Alexander Maringele

Mehr

Grundlagen der Programmierung 2. Operationale Semantik

Grundlagen der Programmierung 2. Operationale Semantik Grundlagen der Programmierung 2 Operationale Semantik Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 29. April 2009 Semantik von Programmiersprachen Semantik = Bedeutung

Mehr

n 1. Erste Schritte n 2. Einfache Datentypen n 3. Anweisungen und Kontrollstrukturen n 4. Verifikation n 5. Reihungen (Arrays)

n 1. Erste Schritte n 2. Einfache Datentypen n 3. Anweisungen und Kontrollstrukturen n 4. Verifikation n 5. Reihungen (Arrays) n 1. Erste Schritte n 2. Einfache Datentypen n 3. Anweisungen und Kontrollstrukturen n 4. Verifikation n 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation n Spezifikation: Angabe, was ein

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 5 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Jede binäre Operation hat maximal ein

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 3. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.16 Syntax der Aussagenlogik:

Mehr

Korrektheit und Hoare-Kalkül für Imperative Programme

Korrektheit und Hoare-Kalkül für Imperative Programme Korrektheit und Hoare-Kalkül für Imperative Programme Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Partielle und totale Korrektheit kennen lernen Die Regeln des Hoare-Kalkül

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK THEORETISCHE INFORMATIK UND LOGIK 14. Vorlesung: Modelltheorie und logisches Schließen Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 31. Mai 2017 Rückblick: Logelei Wir kehren zurück auf

Mehr

Aussagenlogik: Syntax von Aussagen

Aussagenlogik: Syntax von Aussagen Aussagenlogik: Syntax von Aussagen A ::= X (A A) (A A) ( A) (A A) (A A) 0 1 Prioritätsreihenfolge :,,,,. A B: Konjunktion (Verundung). A B: Disjunktion (Veroderung). A B: Implikation. A B: Äquivalenz.

Mehr

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung

Zusammenfassung der letzten LVA. Einführung in die Theoretische Informatik. Syntax der Aussagenlogik. Inhalte der Lehrveranstaltung Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele Georg Moser Michael Schaper Manuel Schneckenreither Institut für Informatik

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Ronja Düffel WS2018/19 01. Oktober 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis der

Mehr

Sudoku. Warum 6? Warum 6?

Sudoku. Warum 6? Warum 6? . / Sudoku Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem x Kästchen alle Zahlen von bis stehen.. / Warum?. / Warum?. / Geschichte der Logik Syllogismen (I) Beginn

Mehr

! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -

! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - ! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation! Spezifikation: Angabe, was ein Programm

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 4. Aussagenlogik Syntax und Semantik der Aussagenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der Aussagenlogik:

Mehr

2.3 Deduktiver Aufbau der Aussagenlogik

2.3 Deduktiver Aufbau der Aussagenlogik 2.3 Deduktiver Aufbau der Aussagenlogik Dieser Abschnitt beschäftigt sich mit einem axiomatischen Aufbau der Aussagenlogik mittels eines Deduktiven Systems oder eines Kalküls. Eine syntaktisch korrekte

Mehr

Klausur Formale Systeme Fakultät für Informatik SS Prof. Dr. Bernhard Beckert. 3. August Die Bearbeitungszeit beträgt 60 Minuten.

Klausur Formale Systeme Fakultät für Informatik SS Prof. Dr. Bernhard Beckert. 3. August Die Bearbeitungszeit beträgt 60 Minuten. Name: Vorname: Klausur Formale Systeme Fakultät für Informatik Matrikel-Nr.: SS 2017 Prof. Dr. Bernhard Beckert 3. August 2017 Die Bearbeitungszeit beträgt 60 Minuten. A1 (14) A2 (6) A3 (6) A4 (8) A5 (11)

Mehr

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Rev. 1152 1 [23] Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Christoph Lüth & Dennis Walter Universität Bremen Wintersemester 2010/11

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK Prädikatenlogik als Universalsprache Die Entwicklung der Logik hat ein zentrales Motiv: Logik als eine universelle, präzise Sprache THEORETISCHE INFORMATIK UND LOGIK 15. Vorlesung: Logisches Schließen

Mehr

Einführung in die Theoretische Informatik. Inhalte der Lehrveranstaltung. Definition (Boolesche Algebra) Einführung in die Logik

Einführung in die Theoretische Informatik. Inhalte der Lehrveranstaltung. Definition (Boolesche Algebra) Einführung in die Logik Zusammenfassung Einführung in die Theoretische Informatik Woche 5 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung der letzten LV Jede binäre Operation hat maximal ein

Mehr

Klausur zur Vorlesung Mathematische Logik

Klausur zur Vorlesung Mathematische Logik Universität Heidelberg 13. Februar 2014 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Mathematische Logik Musterlösung Aufgabe 1 (Aussagenlogik

Mehr

Klassische Aussagenlogik

Klassische Aussagenlogik Eine Einführung in die Logik Schon seit Jahrhunderten beschäftigen sich Menschen mit Logik. Die alten Griechen und nach ihnen mittelalterliche Gelehrte versuchten, Listen mit Regeln zu entwickeln, welche

Mehr