Verortung in der Landschaft der Bachelorstudien Modul „Modellierung“ Modul „Gl. digitaler Systeme“ Technische Informatik Gernot Salzer und Lara Spendier Medieninformatik & Visual Computing Medizinische Informatik Software & Information Engineering Wirtschaftsinformatik 3.0 VU Formale Modellierung 3.0 VU Formale Modellierung unter Mitwirkung von 3.0 VU Datenmodellierung 3.0 VU Grundlagen digitaler Systeme 3.0 VU Formale Modellierung Ch. Fermüller, R. Freund, B. Gramlich, M. Kronegger, M. Oswald sowie 3.0 VU Objektorientierte Modellierung 17 TutorInnen „3.0“ . . . 3 Ects = 75 Arbeitsstunden Institut für Computersprachen Arbeitsbereich Theoretische Informatik und Logik Formale Modellierung ist Teil der Studieneingangs- u. Orientierungsphase. Sommersemester 2012 Voraussetzung für die Lehrveranstaltungen ab dem 3.Semester. Nur zwei Wiederholmöglichkeiten. 1 Formale Modellierung – Lehrziele und Inhalt 2 Was Sie heute erwartet In dieser Lehrveranstaltung lernen Sie . . . die wichtigsten formalen Spezifikationsmethoden kennen. . . . Sachverhalte mit diesen Methoden zu modellieren. . . . formal-mathematischen Beschreibungen zu lesen und zu verstehen, insbesondere die formale Definition der Methoden selbst, wie sie in der Fachliteratur üblich ist. 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik Themengebiete: 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik Aussagenlogik Endliche Automaten und reguläre Ausdrücke Formale Grammatiken Prädikatenlogik als Spezifikationssprache Petri-Netze 3 4 Anmeldung 1 2 3 4 Kommunikation Studieneingangsgespräch (STEG): Absolvierung bis 2.3.2012 nicht erforderlich für „alte“ Studierende TUWEL – Drehscheibe für Information und Kommunikation Diskussionen mit uns ausschließlich über TUWEL-Forum (keine Verwendung von TISS- oder Informatikforum) Alle Unterlagen liegen in TUWEL oder sind dort verlinkt. Inskription in der Studienabteilung bis 12.3.2012 =⇒ Matrikelnummer Anmeldung zur Lehrveranstaltung in TISS bis 14.3.2012 STEG und Matrikelnummer erforderlich! I I I Eingangstest in TUWEL bis 15.3.2012 TISS-Anmeldung erforderlich! I I I I I Abgabe der gelösten Übungsaufgaben Stoff: Heutige Vorlesungseinheit Multiple-Choice-Test 80 % richtige Antworten erforderlich Beliebig oft wiederholbar Terminvereinbarung für die Abgabegespräche Stellen Sie Fragen! Ab hier nehmen Sie an der Lehrveranstaltung teil und erhalten ein Zeugnis! TISS . . . TU Wien Informationssysteme & Services (tiss.tuwien.ac.at) TUWEL . . . E-Learning-Plattform der TU Wien (tuwel.tuwien.ac.at) Vorlesungspräsentation Übungsblätter Videoaufzeichnung der Vorlesung weitere Materialen Während oder nach der Vorlesung, im TUWEL Diskussionsforum (Sie dürfen auch antworten!), per Email an [email protected], und 5 in den Sprechstunden der TutorInnen, von Frau Spendier und mir. Ablauf (1) Ablauf (2) Vorlesung 2 Abgabegespräche im Zeitraum 16.4.–20.4. bzw. 7.5.–11.5.2012 jeweils Dienstag, 14:00–17:00, Informatik-Hörsaal mündlich, etwa eine Stunde 5 Termine: 6.3., 13.3., 20.3., 27.3., 17.4.2012 Terminvereinbarung nur über TUWEL, keine Emails 2 Übungsblätter Fragen zum Stoff der Übungsblätter Verfügbar in TUWEL ab 18.3. bzw. 22.4.2012 Abschlusstest Abgabe der Lösungen in TUWEL bis 25.3. bzw. 29.4.2012 Textsystem oder leserliche (!) Handschrift gescannt im PDF-Format schriftlich, etwa zwei Stunden Korrigierte Lösungen per Email retour bis 1.4. bzw. 6.5.2012 Stellen Sie sicher, dass Ihre @student.tuwien.ac.at-Adresse funktioniert! 1.Termin Mi, 23.5.2012, 18:00–20:00 Diskussion ist gut, Abschreiben schlecht. Keine Plagiate! Anmeldung über TISS erforderlich! Beurteilt werden vernünftige Lösungsversuche, Fehler sind erlaubt. 6 2.Termin Mi, 13.6.2012, 18:00–20:00 3. und 4. Termin im Wintersemester 2012 Antritt bei mehreren Terminen möglich, falls Ergebnis nicht genügend. Pro Antritt wird ein Zeugnis ausgestellt. 7 Nach dem 4.Termin verfallen die Übungsleistungen. 8 Beurteilung Punkteverteilung Aufwandsabschätzung Für positive Note erforderlich: max. 5 Punkte/Übungsblatt min. 1 Punkt/Übungsblatt max. 10 P./Abgabegespräch min. 1 P./Abgabegespräch max. 50 P. bei Abschlusstest min. 25 P. bei Abschlusstest max. 80 Punkte insgesamt (80 = 2 × 5 + 2 × 10 + 50) min. 40 Punkte insgesamt 15 h 5h 1h 20 h 6h Notenschlüssel: 2h 40-49 Punkte: genügend 24 h 50-59 Punkte: befriedigend 2h 60-69 Punkte: gut Vorlesungsbesuch (5 × 3 h) Vor- und Nachbereitung Vorlesung (5 × 1 h) Verpflichtender Eingangstest in TUWEL Übungsbeispiele (2 Blätter × 10 Beispiele × 1 h) Vorbereitung auf die Abgabegespräche (2 × 3 h) Abgabegespräche (2 × 1 h) Vorbereitung auf Abschlusstest (3 Tage × 8 h) Abschlusstest 75 h = 3 Ects = 2 Arbeitswochen 70-80 Punkte: sehr gut Gute Taktik: 5 P./Ü-Blatt, min. 3 P. bei Gesprächen, min. 25 P. bei Test Riskant: 1 Punkt/Ü-Blatt, 1 Punkt/Gespräch, 36 Punkte bei Abschlusstest9 Was haben diese Bilder gemeinsam? 10 Verwenden Sie einen Terminkalender! Tragen Sie alle Termine ein, von allen Ihren Lehrveranstaltungen! Anmeldetermine Abgabetermine Gesprächstermine Prüfungstermine Warten Sie mit Ihren Aufgaben nicht bis zum letzten Augenblick! Probleme in letzter Sekunde: Wie erzeuge ich eine einzige Pdf-Datei aus meinen Blättern? Wie bekomme ich sie ins Tuwel? Wieso ist der Server nicht erreichbar? Ist die Datei vollständig angekommen? 11 Hilfe, mein PC ist hin! 12 Ausreden, die uns nicht überzeugen Abschreiben, Plagiate, Schwindeln, Betrug „Ich wollte mich eh anmelden, es war aber kein Termin mehr frei!“ Plagiat: Übernahme von Absätzen, Abschnitten, Lösungen aus anderen Quellen ohne inhaltliche Notwendigkeit und/oder ohne Kennzeichnung. Kopieren aus dem Internet . . . aus Büchern Abschreiben von KollegInnen „Mein Abgabegespräch überschneidet sich mit der Mathematik-Übung!“ „. . . und meines mit dem Programmiertest!“ „Ich konnte den Termin nicht wahrnehmen, da ich beruflich zu tun hatte." „. . . da ich einen Urlaub gebucht hatte.“ „Der Computer/das Internet ist schuld: 1 Minute vor Abgabeschluss brach die Technik zusammen.“ Nutzen Sie Ihren Terminkalender und gönnen Sie sich einen Puffer! 13 Was Sie heute erwartet Diskutieren Sie die Aufgaben mit KollegInnen, aber lösen Sie sie eigenständig! Sie lernen nur, wenn Sie es selber versuchen. Unser Feedback hilft Ihnen nur, wenn es Ihre eigene Lösung war. Wir haben weder Zeit noch Lust, mehrfach identische Lösungen zu korrigieren. Identische Lösungen werden nicht gewertet. Im Zweifelsfall müssen Sie nachweisen, dass Sie nicht abgeschrieben haben bzw. jemanden abschreiben ließen. 14 Was bedeutet Modellierung? Modell Abstrakte, vereinfachte Darstellung eines komplexen Sachverhalts – der „Realität“ – die nur die für relevant erachteten Aspekte darstellt. Aspekte: Komponenten, Beziehungen zwischen Komponenten, Eigenschaften 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik Zwei grundlegende Verwendungsmöglichkeiten: Analyse komplexer Systeme: 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik I I I Modell kommt nach der Realität. Modell wird angepasst und korrigiert, bis es die Realität wiedergibt. Kritischer Vergleich der Voraussagen des Modells mit der Realität. Plan für die Konstruktion von Systemen: I I I 15 Modell kommt vor dem System. System wird angepasst und korrigiert, bis es dem Modell entspricht. Kritischer Vergleich des Systemverhaltens mit dem Modell. Modellierungssprachen: dienen der Beschreibung und Kommunikation des 16 Modells Natürliche Sprachen Schimmel: Pilz oder Pferd? Basis jeder Kommunikation bedeutenste Kulturleistung der Menschenheit Hunde riechen gut. Guter Geruchssinn, oder duften sie? universell, vielseitig, ausdruckstark Wieviel Geld müssen wir noch nach Griechenland schicken? wandlungsfähig Das ist eine gute Gelegenheit, auch heute wieder klarzustellen, man soll da gar nichts schönreden. Der Euro ist geschaffen worden als gemeinsame Währung und [man] hat damals auch bereits bei der Einführung gewusst, es handelt sich um Länder mit ganz verschiedenen Volkswirtschaften, ganz unterschiedlichen Voraussetzungen in einer gemeinsamen Währungsunion. Und durch die Wirtschaftskrise einerseits, aber anderseits natürlich auch durch die Finanzmärkte, die Spekulation, die Globalisierung der Finanzmärkte hat sie ja verändert, die hat sie ja noch viel stärker gemacht, durch diese beiden Faktoren zeigen sich die Schwächen innerhalb dieses Euro . . . (Bundeskanzler Faymann auf die Frage eines Zusehers, 30.8.2011, ORF2) Ein Albtraum für Modellierung und Spezifikation! komplex mehrdeutig unscharf Jeder Mann liebt eine Frau. Jeder Mann liebt mindestens eine Frau? Jeder Mann liebt genau eine Frau? Alle Männer lieben dieselbe Frau? Es gibt genau eine Frau, und alle Männer lieben sie? Und was genau heißt das nun? 18 17 Formale Sprachen Formale Modellierungssprachen in dieser Lehrveranstaltung konstruiert, „künstlich“ Textuelle Sprachen: eingeschränkte Ausdrucksmöglichkeiten Logische Sprachen: Aussagenlogik, Prädikatenlogik spezifische Anwendungsgebiete Reguläre Ausdrücke Bedeutung präzise festlegbar Formale Grammatiken Beispiele: Graphische Sprachen: Mathematische Notationen Endliche Automaten Programmiersprachen Petri-Netze logische Formelsprachen Kernaspekte: Formale Modellierung/Formalisierung/Spezifikation Syntax: Was ist eine zulässige Äußerung in dieser Sprache? Übersetzung unpräziser natürlichsprachiger Problemstellungen in unmissverständliche Beschreibungen in einer formalen Sprache Semantik: Was bedeuten die Äußerungen? Ausdrucksstärke: Was kann ausgedrückt werden, was nicht? 19 20 Was Sie heute erwartet Was ist Logik? Neulich in der U-Bahn „Stell dir vor, die Julia hat mit dem Mike Schluss gemacht!“ „Logisch, er hat ja was mit der Laura angefangen.“ 1. Organisatorisches Was daran ist logisch? 2. Was bedeutet Modellierung? 3. Aussagenlogik Es ist nicht logisch, 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik dass Mike mit Laura anbandelt oder dass man bei Untreue Schluss machen muss oder dass sich Julia von Mike trennt. Diese Aussagen können zutreffen oder auch nicht, sie sind aber nicht „logisch“. 22 21 Schlussfolgerungen (Inferenzen) Falls man aber akzeptiert, dass Mike untreu war Alle Menschen sind sterblich. Sokrates ist ein Mensch. Sokrates ist sterblich. und dass Untreue zur Trennung führt dann ist es logisch schlüssig, dass sich Julia von Mike trennt. Mike ist Julia untreu. Wenn Untreue, dann Trennung. Julia trennt sich von Mike. ) Prämissen, Annahmen Konklusion, Folgerung Clipart courtesy FCIT Die Prämissen sind durch „und“ verbunden. Die Linie bedeutet „daher“. Wahre Prämissen, wahre Konklusion. Gültige Inferenz: Die Konklusion folgt logisch aus den Prämissen. x Wenn x , dann y . y Alle geraden Zahlen sind durch 2 teilbar. 4 ist eine gerade Zahl. 4 ist durch 2 teilbar. Die Logik untersucht allgemeine Prinzipien korrekten Schließens. 23 wahre Prämissen, wahre Konklusion gültige Inferenz Inferenzmuster identisch mit vorigem Beispiel 24 Gültigkeit von Inferenzregeln Alle US-Präsidenten sind in der USA geboren. Schwarzenegger ist US-Präsident. Schwarzenegger ist in der USA geboren. Unzulässige Inferenzen Alle Menschen sind sterblich. Sokrates ist sterblich. Sokrates ist ein Mensch. eine wahre und eine falsche Prämisse falsche Konklusion trotzdem korrekte Inferenz! wahre Prämissen wahre Konklusionen Zugrundeliegende Inferenzregel Alle x sind y . z ist ein x . z ist y . aber trotzdem keine zulässigen Inferenzen! x . . . Mensch, US-Präsident, gerade Zahl y . . . sterblich, in USA geboren, durch 2 teilbar z . . . Sokrates, Schwarzenegger, 4 Kriterium für die Gültigkeit von Inferenzregeln x , y , z: Platzhalter (Variablen) für Eigenschaften, Individuen, . . . Die Logik befasst sich mit den Inferenzregeln. Das Anwendungsgebiet bestimmt den Wertebereich der Variablen und die Wahrheit der elementaren Aussagen. 25 Alle Menschen sind sterblich. Sokrates ist sterblich. Sokrates ist ein Mensch. Immer wenn alle Prämissen wahr sind, ist auch die Konklusion wahr. Äquivalentes Kriterium (Umkehrung) Immer wenn die Konklusion falsch ist, ist mindestens eine Prämisse falsch. 26 Logische Junktoren (Operatoren, Konnektive, Funktionen) Alle x sind y . Inferenzregel: z ist y . z ist ein x . . . . ermöglichen die Bildung zusammengesetzter Aussagen, so wie Addition und Subtraktion bei arithmetischen Ausdrücken. Wenn Feiertag ist oder der Professor krank ist, findet die Vorlesung nicht statt. Diese Regel erfüllt nicht das Kriterium. Gegenbeispiel: x = Ball, y = rund, z = Sonne Alle Fußbälle sind rund. Die Sonne ist rund. Die Sonne ist ein Fußball. Sokrates ist ein Mensch. Sokrates ist sterblich. Alle Menschen sind sterblich. „es ist Feiertag“ (x ), „Prof ist krank“ (y ), „VO findet statt“ (z) . . . elementare Aussagen aus dem Uni-Milieu wahr wahr falsch Logische Struktur: „Wenn x oder y , dann nicht z“ Junktoren: wenn-dann, oder, nicht Weitere Junktoren in . . . Die Inferenzregel ist daher nicht gültig, obwohl sie gelegentlich zu wahren Konklusionen führt. Aber eben nicht immer! der Aussagenlogik: und, entweder-oder, genau dann-wenn, . . . Zeitlogiken: morgen, gestern, im nächsten Moment, bis, . . . Modallogiken: notwendigerweise, möglicherweise, . . . ... 27 28 Quantoren Komponenten einer Logik . . . ermöglichen Aussagen über die Anzahl betroffener Individuen, Zeitpunkte etc. logische Symbole, Variablen: notwendig für kompakte und unmissverständliche Schreibung Jeder Mann liebt eine Frau. Syntax: Regeln für Wohlgeformtheit Wann ist eine Folge logischer Symbole eine Formel? Semantik: Bedeutung von Formeln Welche Wahrheitswerte gibt es? Wann ist eine Formel wahr, wann falsch? Was bedeuten die Symbole? Wertebereiche: Männer (x ) , Frauen (y ) Logische Struktur: „Für alle x gibt es mindestens ein y , sodass x y liebt." Quantoren: für alle, mindestens ein Konsequenzrelation: Wann folgt eine Formel logisch aus anderen Formeln? Weitere Quantoren: einige, viele, mindestens fünf, höchstens drei, immer, manchmal, irgendwann später, . . . Inferenzregeln (logischer Kalkül) Wie lassen sich Formeln beweisen? 29 Unterscheidung von Logiken . . . nach Wahrheitswerten: Zweiwertige Logik: wahr/falsch Mehrwertige Logiken: wahr/falsch/unbekannt/widersprüchlich, . . . Fuzzy logic: [0,1] (alle reellen Zahlen zwischen 0 und 1) . . . nach Quantoren: Aussagenlogik: keine Quantoren Quantifizierte Aussagenlogik: Quantoren über Aussagenvariablen Prädikatenlogik: Quantoren über Individuenvariablen Logiken höherer Stufen: Quantoren über Funktionen und Prädikate . . . nach den Ausdrucksmöglichkeiten: Elementare Logik: und, oder, nicht, für alle, . . . Zeitlogiken: im nächsten Moment, für immer, irgendwann später, . . . Modallogiken: „ich glaube/weiß, dass“, „es ist möglich/notwendig, dass“, . . . 31 . . . nach wahren/beweisbaren Formeln, nach Kalkülen, . . . 30 Klassische Aussagenlogik (Propositionallogik) zwei Wahrheitswerte: wahr/falsch, true/false, verum/falsum, 1/0, ein/aus, . . . Aussagenvariablen, die wahr oder falsch sein können elementare Operatoren wie „und“, „oder“, „nicht“, . . . keine Quantoren Geht zurück auf die Antike Grundlegend für Philosophie Mathematik Informatik Clipart courtesy FCIT Aristoteles 384–322 v.Chr. 32 Was Sie heute erwartet Negation Ich gehe nicht ins Kino. Ist falsch, wenn ich ins Kino gehe, und wahr andernfalls. x not x 1 0 1 0 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik Andere Bezeichnung: non Symbole: ¬x , −x , ∼x , x 0 , !x , x , Nx , . . . Logikgatter: 1 33 34 Konjunktion Disjunktion, Alternative Der Himmel ist blau und die Sonne scheint. Ich trinke zum Essen Wein oder Bier (oder auch beides). Trifft nur zu, wenn jede der beiden Teilaussagen wahr ist. Nur falsch, wenn ich weder Wein noch Bier trinke. x 1 1 0 0 y x and y 1 1 0 0 1 0 0 0 x 1 1 0 0 Andere Bezeichnung: et Andere Bezeichnung: vel Symbole: x ∧ y , x · y , xy , x &y , Kxy , . . . Symbole: x ∨ y , x + y , x | y , Axy Logikgatter: & Logikgatter: 35 y x or y 1 1 0 1 1 1 0 0 ≥1 36 Ausschließende Disjunktion (Antivalenz) Äquivalenz Ich bin entweder gut drauf oder saugrantig, etwas anderes gibt es bei mir nicht. Ich springe dann (und nur dann), wenn du es auch tust. Trifft zu, wenn beide springen oder keiner. Trifft zu, wenn ich in genau einer der Stimmungslagen bin (die sich ausschließen). x y x xor y 1 1 0 1 1 0 0 1 1 0 0 0 x 1 1 0 0 y x iff y 1 1 0 0 0 1 0 1 Andere Formulierungen: x oder y Andere Formulierungen: x genau dann wenn y , x if and only if y , x ist notwendig und hinreichend für y , x ist äquivalent zu y Andere Bezeichnungen: exor, aut Andere Bezeichnungen: eq, äq, xnor, nxor, . . . Symbole: x 6≡ y , x ⊕ y , x 6⇔ y , x 6↔ y , Jxy , . . . Symbole: x ≡ y , x ⇔ y , x ↔ y , Exy , . . . Logikgatter: =1 37 Logikgatter: =1 38 Implikation Implikation (Umkehrung) Wenn/Falls ich ins Kino gehe, (dann) esse ich dort Popcorn. Ich gehe nur dann ins Kino, wenn ich dort Popcorn esse. Ich esse (dann) Popcorn, wenn/falls ich ins Kino gehe. Falsch, wenn ich im Kino kein Popcorn esse, und wahr, wenn doch. Keine Festlegung betreffend Popcorn außerhalb des Kinos, daher wahr. x 1 1 0 0 y x implies y 1 1 0 0 1 1 0 1 x 1 1 0 0 „Verum ex quodlibet“: x implies 1 = 1 „Ex falso quodlibet“: 0 implies y = 1 Andere Formulierungen: x folgt aus y , x wird von y impliziert, x ist notwendig für y Andere Formulierungen: aus x folgt y , x impliziert y , x hinreichend für y Symbole: x ⊂ y , x ⇐ y , x ← y , . . . Andere Bezeichnung: seq (sequi) Logikgatter: Symbole: x ⊃ y , x ⇒ y , x → y , Cxy , . . . Logikgatter: x x y y ≥1 y x if y 1 1 1 0 1 0 0 1 39 x x y y ≥1 40 Negierte Konjunktion x 1 1 0 0 y x and y 1 1 0 0 1 0 0 0 x nand y 0 1 1 1 Andere Bezeichnungen: Sheffer-Strich, nd (J.Nicod) Negierte Disjunktion x 1 1 0 0 y x or y 1 1 0 1 1 1 0 0 Wenn Feiertag ist oder der Professor krank ist, findet die Vorlesung nicht statt. x nor y 0 0 0 1 Logische Struktur: „Wenn x oder y , dann nicht z.“ Logische Funktion: (x or y ) implies not z Logische Formel: (x ∨ y ) ⊃ ¬z Andere Bezeichnungen: Peirce-Pfeil, sh (H.M.Sheffer) Prefix-Notation: C A x y N z Algebraische Notation: (x + y ) → z Symbole: x ↑ y , x | y , x /y , Dxy , . . . Symbole: x ↓ y , Xxy , . . . Logikgatter: & Logikgatter: implies (or (x , y ), not(z)) ≥1 xy +z x Logischer Schaltkreis: y z x ≥1 y ≥1 z 41 Implikation oder Äquivalenz? 42 Der Besitz eines Führerscheins berechtigt zum Lenken eines Autos. Ohne Führerschein keine Berechtigung? (Äquivalenz) Auch nicht auf Privatgelände? (Doch nur Implikation?) Natürlichsprachliche Implikationen sind oft logische Äquivalenzen. Wenn du mein Auto wäscht, bekommst du 10 Euro. In formalen Kontexten wird strikt zwischen Implikation und Äquivalenz unterschieden. „Implikation = halbe Äquivalenz“ Und was, wenn ich es nicht tue? Nur ein Logiker hält in diesem Fall 10 Euro für möglich. Alle anderen interpretieren den Satz als: Wenn eine Zahl durch 4 teilbar ist, ist sie gerade. Du bekommst 10 Euro dann und nur dann, wenn du das Auto wäscht. 4-Teilbarkeit ist eine hinreichende Bedingung für Geradheit, aber keine notwendige. Der positive Erfolg bei allen Lehrveranstaltungen und Prüfungen der Studieneingangs- und Orientierungsphase berechtigt zur Absolvierung der weiteren Lehrveranstaltungen und Prüfungen sowie zum Verfassen der im Curriculum vorgesehenen Bachelor- oder Diplomarbeiten. Äquivalenz führt zu einer falschen Aussage: Eine Zahl ist durch 4 teilbar genau dann, wenn sie gerade ist. Universitätsgesetz 2002, Stand Bgbl I Nr. 13/2011, § 66(1a) Logiker: Keine Einschränkung bei nicht bestandener STEOP. Ministerium: Restliches Studium dann und nur dann, wenn STEOP. 2 ist eine gerade Zahl, aber nicht durch 4 teilbar. 43 44 Inklusive oder exklusive Disjunktion? Ich fahre entweder Auto oder höre Musik. (Auf beides gleichzeitig kann ich mich nicht konzentrieren.) Natürlichsprachliche Disjunktionen sind meist ausschließend gemeint. Wirklich ein Beispiel für ausschließende Disjunktion? Falls du mich suchst: Ich bin zu Hause oder in der Arbeit. Habe ich außerhalb des Autos tatsächlich keine ruhige Minute? Physikalisch kann ein Körper nicht an zwei Orten gleichzeitig sein. Andererseits: Das Büro kann Teil der Wohnung sein. Die exklusive Disjunktion ist hier als Implikation gemeint (und wird auch so verstanden): „Tee oder Kaffee?“ – „Beides, bitte!“ Wenn ich Auto fahre, höre ich nicht Musik. Eher unüblich. Aber: Der Gast ist König. Legt nicht fest, was ich außerhalb des Autos mache. Ich besuche dich morgen oder übermorgen. Ein Besuch an beiden Tagen wäre unerwartet. 45 x xor y 0 1 1 0 x implies not y 0 1 1 1 x nand y 0 1 1 1 0 1 1 1 ↑ 1 1 1 0 ∨ 0 0 0 1 ↓ 1 0 0 1 ≡ 0 1 1 0 6 ≡ 1 0 1 1 ⊃ if 1 0 0 0 ∧ 0 1 0 0 6 ⊃ 1 1 0 1 ⊂ 0 0 1 0 6 ⊂ n Es gibt 22 verschiedene n-stellige logische (Boolesche) Funktionen. 2n verschiedene Argumentkombinationen („Zeilen“) 2 Ergebnismöglichkeiten für jede Argumentkombination x implies not y : Wenn ich Auto fahre, dann höre ich nicht Musik. x nand y : Es kommt nicht vor, dass ich Auto fahre und Musik höre. implies z x or y 1 0 1 1 1 1 0 1 xor y 1 0 1 0 0 1 ¬ y 1 0 1 0 iff x 1 1 0 0 0 ⊥ x 1 1 0 0 nor z = Entweder „ich fahre Auto“ (x ) oder „ich höre Musik“ (y ). 1 > x 1 0 or Wähle geeignete logische Funktionen (unbeirrt von Intuition und natürlicher Sprache). nand 3 and Analysiere alle Wahrheitsbelegungen. not 2 false Identifiziere die elementaren Aussagen. true Aussagenlogische Funktionen – Zusammenfassung Rezept für Zweifelsfälle der aussagenlogischen Modellierung 1 46 47 2 nullstellige Funktionen (Konstanten): true (1), false (0) 4 einstellige Funktionen: not, . . . 16 zweistellige Funktionen: and, nand, or, . . . 48 Funktionale Vollständigkeit {nand} ist funktional vollständig. Eine Menge von Funktionen heißt vollständig (für eine Funktionsklasse), wenn damit alle Funktionen (der Klasse) ausgedrückt werden können. {not, and} ist funktional vollständig (siehe oben). not x = x nand x x and y = not(x nand y ) = (x nand y ) nand (x nand y ) {not, and, or} ist funktional vollständig. Praktisch relevant: nand ist einfach als Halbleiter-Schaltkreis realisierbar. Somit ist jede logische Funktion als Schaltkreis realisierbar. Begründung siehe später. {not, and} ist funktional vollständig. Die Mengen {nor}, {not, or}, {not, implies} und {implies, false} sind ebenfalls funktional vollständig. {not, and, or} ist vollständig (siehe oben). or kann durch {not, and} ausgedrückt werden kann: x or y = not(not x and not y ) x 1 1 0 0 y not x 1 0 0 0 1 1 0 1 not y 0 1 0 1 not x and not y 0 0 0 1 not(not x and not y ) 1 1 1 0 49 Was Sie heute erwartet 50 Aussagenlogik – Syntax Ausdrücke wie x and y und (x nand y ) nand (x nand y ) sind ununterscheidbar (gleiche Funktion!). Um Aussagen über ihre Form treffen zu können, benötigen wir eine Formelsprache. Syntax aussagenlogischer Formeln 1. Organisatorisches Die Menge A der aussagenlogischen Formeln ist die kleinste Menge, für die gilt: 2. Was bedeutet Modellierung? 3. Aussagenlogik (a1) V ⊆ A 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik (a2) {>, ⊥} ⊆ A (a3) ¬F ∈ A, wenn F ∈ A. Variablen sind Formeln. > und ⊥ sind Formeln. ¬F ist eine Formel, falls F eine ist. (a4) (F ∗ G) ∈ A, wenn F , G ∈ A und ∗ ∈ {∧, ↑, ∨, ↓, ≡, 6≡, ⊃, ⊂}. (F ∗ G) ist eine Formel, falls F und G welche sind und ∗ ein binäres Op.symbol ist. V = {A, B, C , . . . , A0 , A1 , . . . } 51 aussagenlogische Variablen 52 ((A ↑ B) ↑ (A ↑ B)) ist eine aussagenlogische Formel, weil: 1 2 A und B sind Formeln. (A ↑ B) ist eine Formel, I I 3 da A und B Formeln sind (Punkt 1) und ↑ ein binäres Operatorsymbol ist. ((A ↑ B) ↑ (A ↑ B)) ist eine Formel, I I da (A ↑ B) und (A ↑ B) Formeln sind (Punkt 2) und ↑ ein binäres Operatorsymbol ist. Induktive Definition unendlicher Mengen (a1) (a4) (a4) A ∧ B ist keine aussagenlogische Formel. Stufenweise Konstruktion der gerade Zahlen: 0 ist eine gerade Zahl: G0 = {0} Addiert man zu geraden Zahlen 2, erhält man wieder gerade Zahlen: G1 = G0 ∪ { n + 2 | n ∈ G0 } = {0, 2} G2 = G1 ∪ { n + 2 | n ∈ G1 } = {0, 2, 4} Gi+1 = Gi ∪ { n + 2 | n ∈ Gi } = {0, 2, 4, . . . , 2(i + 1)} Die geraden Zahlen sind alle so konstruierten Zahlen: S G = limi→∞ Gi = i≥0 Gi ∧ kann nur aufgrund von A4 in einer Formel vorkommen. Dann muss es aber auch ein Klammernpaar geben. Umständlich, aber konstruktiv: Beginnend mit G0 lassen sich systematisch alle geraden Zahlen berechnen. A ∧ B enthält ∧, aber keine Klammern. Beobachtung: G0 ⊆ G Die Definition der Formelsyntax ist Beispiel einer induktiven Definition. Wenn n ∈ G, dann auch n + 2 ∈ G. 53 54 Induktive Definition – allgemeine Situation Induktive Definition der geraden Zahlen G ist die kleinste Menge, für die gilt: U . . . Universum, Menge aller relevanten Elemente M0 ⊆ U . . . Menge von Grundelementen f1 : U n1 7→ U, f2 : U n2 7→ U, . . . Konstruktionsfunktionen 0∈G Wenn n ∈ G, dann auch n + 2 ∈ G. Stufenweise Konstruktion der Menge M Kompakte Definition, aber nicht konstruktiv: In den Bedingungen kommt die zu definierende Menge G selbst vor. Mi+1 = Mi ∪ { f1 (x1 , . . . , xn1 ) | x1 , . . . , xn1 ∈ Mi } ∪ { f2 (x1 , . . . , xn2 ) | x1 , . . . , xn2 ∈ Mi } ∪ ··· S M = limi→∞ Mi = i≥0 Mi Beiden Methoden definieren dieselbe Menge. (Nicht offensichtlich, Beweis erforderlich!). Daher: „Use the best of both worlds.“ Induktive Definition der Menge M Definiere die Menge induktiv. M ist die kleinste Menge, für die gilt: Konstruiere benötigte Elemente stufenweise. Anmerkung: Der Zusatz „ist kleinste Menge“ ist wesentlich. Die natürlichen Zahlen erfüllen ebenfalls beide Bedingungen, sind aber nicht die kleinste derartige Menge. G ist die kleinste Menge mit diesen beiden Eigenschaften. M0 ⊆ M Wenn x1 , . . . , xn1 ∈ M, dann f1 (x1 , . . . , xn1 ) ∈ M. Wenn x1 , . . . , xn2 ∈ M, dann f2 (x1 , . . . , xn2 ) ∈ M. 55 ... 56 Aussagenlogik – Semantik A ist die kleinste Menge, für die gilt: (a2) {>, ⊥} ⊆ A B = {1, 0} . . . Wahrheitswerte I : V 7→ B . . . Wahrheitsbelegung, Interpretation I = { I | I : V 7→ B } . . . Menge aller Interpretationen (a4) (F ∗ G) ∈ A, wenn F , G ∈ A und ∗ ∈ {∧, ↑, ∨, ↓, ≡, 6≡, ⊃, ⊂}. I(A) = I(C ) = 1 und I(v ) = 0 sonst „Die elementaren Aussagen A und C sind wahr, die übrigen sind falsch.“ (a1) V ⊆ A (a3) ¬F ∈ A, wenn F ∈ A. U . . . Menge aller Zeichenketten bestehend aus Variablen, Operatorsymbolen und Klammern Semantik aussagenlogischer Formeln Der Wert einer Formel in einer Interpretation I wird festgelegt durch die Funktion val : I × A 7→ B: V ∪ {>, ⊥} . . . Grundelemente f¬ (F ) = ¬F f∧ (F , G) = (F ∧ G) f↑ (F , G) = (F ↑ G) ... f⊂ (F , G) = (F ⊂ G) (v1) valI (A) = I(A) für A ∈ V; (v2) valI (>) = 1 und valI (⊥) = 0; . . . Konstruktionsfunktionen (v3) valI (¬F ) = not valI (F ); (v4) valI ( (F ∗ G) ) = valI (F ) ~ valI (G), wobei ~ die logische Funktion zum Operator ∗ ist. 57 58