Verortung in der Landschaft der Bachelorstudien 3.0 VU Formale Modellierung Gernot Salzer unter Mitwirkung von und Lara Spendier Ch. Fermüller, R. Freund, B. Gramlich, M. Kronegger, M. Oswald sowie Modul „Modellierung“ Modul „Gl. digitaler Systeme“ Medieninformatik & Visual Computing Medizinische Informatik Software & Information Engineering Wirtschaftsinformatik Technische Informatik 3.0 VU Formale Modellierung 3.0 VU Formale Modellierung 3.0 VU Datenmodellierung 3.0 VU Grundlagen digitaler Systeme 3.0 VU Objektorientierte Modellierung 22 TutorInnen „3.0“ . . . 3 Ects = 75 Arbeitsstunden Institut für Computersprachen Arbeitsbereich Theoretische Informatik und Logik Formale Modellierung ist Teil der Studieneingangs- u. Orientierungsphase. Wintersemester 2011/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, reguläre Ausdrücke und Petri-Netze Formale Grammatiken Prädikatenlogik als Spezifikationssprache 3 4 Anmeldung 1 2 3 4 Kommunikation Studieneingangsgespräch (STEG): Anmeldung bis 5.10.2011 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 10.10.2011 =⇒ Matrikelnummer Anmeldung zur Lehrveranstaltung in TISS bis 12.10.2011 STEG und Matrikelnummer erforderlich! I I I Eingangstest in TUWEL bis 13.10.2011 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 wöchentlichen Sprechstunden. Ablauf (1) Ablauf (2) Vorlesung 2 Abgabegespräche 6 im Zeitraum 31.10.–11.11. bzw. 21.11.–2.12.2011 jeweils Dienstag, 13:00–16:00, AudiMax mündlich, etwa eine Stunde (gemeinsam mit 3–4 KollegInnen) 5 Termine: 4.10., 11.10., 18.10., 25.10., 8.11.2011 Terminvereinbarung über TUWEL 2 Übungsblätter Fragen zum Stoff der Übungsblätter Verfügbar in TUWEL ab 16.10. bzw. 6.11.2011 Abschlusstest Abgabe der Lösungen in TUWEL bis 23.10. bzw. 13.11.2011 Textsystem oder leserliche (!) Handschrift gescannt im PDF-Format schriftlich, etwa zwei Stunden Korrigierte Lösungen per Email retour bis 30.10. bzw. 20.11.2011 Stellen Sie sicher, dass Ihre @student.tuwien.ac.at-Adresse funktioniert! 1.Termin Mi, 21.12.2011, 18:00–20:00 Diskussion ist gut, Abschreiben schlecht. Anmeldung über TISS erforderlich! 2.Termin Di, 17.1.2012, 14:00–16:00 3. und 4. Termin im Sommersemester 2012 Beurteilt werden vernünftige Lösungsversuche, Fehler sind erlaubt. 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 Für positive Note erforderlich: Was Sie heute erwartet Punkteverteilung min. 1 Punkt/Übungsblatt max. 5 Punkte/Übungsblatt min. 1 P./Abgabegespräch max. 10 P./Abgabegespräch min. 35 P. bei Abschlusstest max. 70 P. bei Abschlusstest min. 50 Punkte insgesamt max. 100 Punkte insgesamt (100 = 2 × 5 + 2 × 10 + 70) Notenschlüssel: 50-61 Punkte: genügend 62-74 Punkte: befriedigend 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 75-87 Punkte: gut 88-100 Punkte: sehr gut Gute Taktik: 5 P./Ü-Blatt, min. 5 P. bei Gesprächen, min. 35 P. bei Test Riskant: 1 Punkt/Ü-Blatt, 1 Punkt/Gespräch, 46 Punkte bei Abschlusstest9 Was bedeutet Modellierung? Abstrakte, vereinfachte Darstellung eines komplexen Sachverhalts – der „Realität“ – die nur die für relevant erachteten Aspekte darstellt. Aspekte: Komponenten, Beziehungen zwischen Komponenten, Eigenschaften Zwei grundlegende Verwendungsmöglichkeiten: Analyse komplexer Systeme: 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 Natürliche Sprachen Basis jeder Kommunikation Modell I 10 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 11 Modells bedeutenste Kulturleistung der Menschenheit universell, vielseitig, ausdruckstark wandlungsfähig 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? 12 Formale Sprachen Schimmel: Pilz oder Pferd? konstruiert, „künstlich“ Hunde riechen gut. Guter Geruchssinn, oder duften sie? eingeschränkte Ausdrucksmöglichkeiten spezifische Anwendungsgebiete Wieviel Geld müssen wir noch nach Griechenland schicken? 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) Bedeutung präzise festlegbar Beispiele: Mathematische Notationen Programmiersprachen logische Formelsprachen Formale Modellierung/Formalisierung/Spezifikation Übersetzung unpräziser natürlichsprachiger Problemstellungen in unmissverständliche Beschreibungen in einer formalen Sprache Und was genau heißt das nun? 13 Formale Modellierungssprachen in dieser Lehrveranstaltung 14 Was Sie heute erwartet Textuelle Sprachen: Logische Sprachen: Aussagenlogik, Prädikatenlogik Reguläre Ausdrücke Formale Grammatiken 1. Organisatorisches 2. Was bedeutet Modellierung? 3. Aussagenlogik Graphische Sprachen: Endliche Automaten 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik Petri-Netze Kernaspekte: Syntax: Was ist eine zulässige Äußerung in dieser Sprache? Semantik: Was bedeuten die Äußerungen? Ausdrucksstärke: Was kann ausgedrückt werden, was nicht? 15 16 Was ist Logik? Falls man aber akzeptiert, dass Mike untreu war Neulich in der U-Bahn und dass Untreue zur Trennung führt „Stell dir vor, die Julia hat mit dem Mike Schluss gemacht!“ „Logisch, er hat ja was mit der Laura angefangen.“ dann ist es logisch schlüssig, dass sich Julia von Mike trennt. Was daran ist logisch? Mike ist Julia untreu. Wenn Untreue, dann Trennung. Julia trennt sich von Mike. Es ist nicht logisch, dass Mike mit Laura anbandelt x Wenn x , dann y . y oder dass man bei Untreue Schluss machen muss oder dass sich Julia von Mike trennt. Die Logik untersucht allgemeine Prinzipien korrekten Schließens. Diese Aussagen können zutreffen oder auch nicht, sie sind aber nicht „logisch“. 17 Schlussfolgerungen (Inferenzen) Alle Menschen sind sterblich. Sokrates ist ein Mensch. Sokrates ist sterblich. ) Alle US-Präsidenten sind in der USA geboren. Schwarzenegger ist US-Präsident. Schwarzenegger ist in der USA geboren. 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. eine wahre und eine falsche Prämisse falsche Konklusion trotzdem korrekte Inferenz! Zugrundeliegende Inferenzregel Alle x sind y . z ist ein x . z ist y . Alle geraden Zahlen sind durch 2 teilbar. 4 ist eine gerade Zahl. 4 ist durch 2 teilbar. wahre Prämissen, wahre Konklusion gültige Inferenz Inferenzmuster identisch mit vorigem Beispiel 18 19 x . . . Mensch, US-Präsident, gerade Zahl y . . . sterblich, in USA geboren, durch 2 teilbar z . . . Sokrates, Schwarzenegger, 4 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. 20 Gültigkeit von Inferenzregeln Alle Menschen sind sterblich. Sokrates ist sterblich. Sokrates ist ein Mensch. Unzulässige Inferenzen Alle Menschen sind sterblich. Sokrates ist sterblich. Sokrates ist ein Mensch. Sokrates ist ein Mensch. Sokrates ist sterblich. Alle Menschen sind sterblich. Alle x sind y . Inferenzregel: z ist y . z ist ein x . Diese Regel erfüllt nicht das Kriterium. Gegenbeispiel: x = Ball, y = rund, z = Sonne wahre Prämissen Alle Fußbälle sind rund. Die Sonne ist rund. Die Sonne ist ein Fußball. wahre Konklusionen aber trotzdem keine zulässigen Inferenzen! Kriterium für die Gültigkeit von Inferenzregeln wahr wahr falsch Die Inferenzregel ist daher nicht gültig, obwohl sie gelegentlich zu wahren Konklusionen führt. Aber eben nicht immer! 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. 21 22 Logische Junktoren (Operatoren, Konnektive, Funktionen) Quantoren . . . ermöglichen die Bildung zusammengesetzter Aussagen, so wie Addition und Subtraktion bei arithmetischen Ausdrücken. . . . ermöglichen Aussagen über die Anzahl betroffener Individuen, Zeitpunkte etc. Wenn Feiertag ist oder der Professor krank ist, findet die Vorlesung nicht statt. Jeder Mann liebt eine Frau. Wertebereiche: Männer (x ) , Frauen (y ) „es ist Feiertag“ (x ), „Prof ist krank“ (y ), „VO findet statt“ (z) . . . elementare Aussagen aus dem Uni-Milieu Logische Struktur: „Für alle x gibt es mindestens ein y , sodass x y liebt." Logische Struktur: „Wenn x oder y , dann nicht z“ Quantoren: für alle, mindestens ein Junktoren: wenn-dann, oder, nicht Weitere Quantoren: einige, viele, mindestens fünf, höchstens drei, immer, manchmal, irgendwann später, . . . Weitere Junktoren in . . . der Aussagenlogik: und, entweder-oder, genau dann-wenn, . . . Zeitlogiken: morgen, gestern, im nächsten Moment, bis, . . . Modallogiken: notwendigerweise, möglicherweise, . . . ... 23 24 Komponenten einer Logik Unterscheidung von Logiken logische Symbole, Variablen: notwendig für kompakte, übersichtliche Schreibung 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? Konsequenzrelation: Wann folgt eine Formel logisch aus anderen Formeln? Inferenzregeln (logischer Kalkül) Wie lassen sich Formeln beweisen? 25 Klassische Aussagenlogik (Propositionallogik) . . . 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“, . . . 26 . . . nach wahren/beweisbaren Formeln, nach Kalkülen, . . . Was Sie heute erwartet 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“, . . . 1. Organisatorisches keine Quantoren 2. Was bedeutet Modellierung? 3. Aussagenlogik Geht zurück auf die Antike 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik Grundlegend für Philosophie Mathematik Informatik Clipart courtesy FCIT Aristoteles 384–322 v.Chr. 27 28 Negation Konjunktion Ich gehe nicht ins Kino. Der Himmel ist blau und die Sonne scheint. Ist falsch, wenn ich ins Kino gehe, und wahr andernfalls. Trifft nur zu, wenn jede der beiden Teilaussagen wahr ist. x 1 1 0 0 x not x 1 0 1 0 Andere Bezeichnung: non Symbole: ¬x , −x , ∼x , x 0 , !x , x , Nx , . . . Logikgatter: y x and y 1 1 0 0 1 0 0 0 Andere Bezeichnung: et 1 Symbole: x ∧ y , x · y , xy , x &y , Kxy , . . . Logikgatter: & 29 30 Disjunktion, Alternative Ausschließende Disjunktion (Antivalenz) Ich verbringe den Urlaub in Italien oder in Kroatien. Ich fahre entweder Auto oder höre Musik. (Auf beides gleichzeitig kann ich mich nicht konzentrieren.) Nur falsch, wenn ich in keines der beiden Länder fahre. x 1 1 0 0 Trifft zu, wenn ich genau eines von beidem tue (aber nicht beides). y x or y 1 1 0 1 1 1 0 0 x 1 1 0 0 Andere Bezeichnung: vel Andere Bezeichnungen: exor, aut Symbole: x ∨ y , x + y , x | y , Axy Logikgatter: y x xor y 1 0 0 1 1 1 0 0 Symbole: x 6≡ y , x ⊕ y , x 6⇔ y , x 6↔ y , Jxy , . . . ≥1 Logikgatter: 31 =1 32 Äquivalenz Implikation Ich springe dann (und nur dann), wenn du es auch tust. Wenn/Falls ich ins Kino gehe, (dann) esse ich Popcorn. Trifft zu, wenn beide springen oder keiner. Falsch, wenn ich im Kino kein Popcorn esse, und wahr, wenn doch. Keine Festlegung betreffend Popcorn außerhalb des Kinos, daher auch in diesen Fällen wahr. x 1 1 0 0 y x iff y 1 1 0 0 0 1 0 1 x 1 1 0 0 y x implies y 1 1 0 0 1 1 0 1 „Verum ex quodlibet“: x implies 1 = 1 „Ex falso quodlibet“: 0 implies y = 1 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 Formulierungen: aus x folgt y , x impliziert y , x hinreichend für y Andere Bezeichnungen: eq, äq, xnor, nxor, . . . Andere Bezeichnung: seq (sequi) Symbole: x ≡ y , x ⇔ y , x ↔ y , Exy , . . . Symbole: x ⊃ y , x ⇒ y , x → y , Cxy , . . . Logikgatter: =1 33 Implikation (Umkehrung) x x y y Negierte Konjunktion x 1 1 0 0 Ich esse Popcorn, wenn/falls ich ins Kino gehe. x 1 1 0 0 Logikgatter: y x if y 1 1 1 0 1 0 0 1 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) ≥1 34 Negierte Disjunktion x 1 1 0 0 y x or y 1 1 0 1 1 1 0 0 x nor y 0 0 0 1 Andere Bezeichnungen: Peirce-Pfeil, sh (H.M.Sheffer) Symbole: x ↑ y , x | y , x /y , Dxy , . . . Symbole: x ↓ y , Xxy , . . . Logikgatter: Andere Formulierungen: x folgt aus y , x wird von y impliziert, x ist notwendig für y & Logikgatter: ≥1 Symbole: x ⊂ y , x ⇐ y , x ← y , . . . Logikgatter: x x y y ≥1 35 36 Implikation oder Äquivalenz? Wenn Feiertag ist oder der Professor krank ist, findet die Vorlesung nicht statt. Natürlichsprachliche Implikationen sind oft logische Äquivalenzen. Logische Struktur: „Wenn x oder y , dann nicht z.“ Logische Funktion: (x or y ) implies not z Wenn du mein Auto wäscht, bekommst du 10 Euro. implies (or (x , y ), not(z)) 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: Logische Formel: (x ∨ y ) ⊃ ¬z Prefix-Notation: C A x y N z Algebraische Notation: (x + y ) → z xy +z x Logischer Schaltkreis: y z Du bekommst 10 Euro dann und nur dann, wenn du das Auto wäscht. x 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. ≥1 y ≥1 z Universitätsgesetz 2002, Stand Bgbl I Nr. 13/2011, § 66(1a) 37 Logiker: Keine Einschränkung bei nicht bestandener STEOP. Ministerium: Restliches Studium dann und nur dann, wenn STEOP. 38 Inklusive oder exklusive Disjunktion? 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 Disjunktionen sind meist ausschließend gemeint. Falls du mich suchst: Ich bin zu Hause oder in der Arbeit. Physikalisch kann ein Körper nicht an zwei Orten gleichzeitig sein. Andererseits: Das Büro kann Teil der Wohnung sein. In formalen Kontexten wird strikt zwischen Implikation und Äquivalenz unterschieden. „Implikation = halbe Äquivalenz“ „Tee oder Kaffee?“ – „Beides, bitte!“ Wenn eine Zahl durch 4 teilbar ist, ist sie gerade. Eher unüblich. Aber: Der Gast ist König. 4-Teilbarkeit ist eine hinreichende Bedingung für Geradheit, aber keine notwendige. Ich besuche dich morgen oder übermorgen. Äquivalenz führt zu einer falschen Aussage: Ein Besuch an beiden Tagen wäre unerwartet. Eine Zahl ist durch 4 teilbar genau dann, wenn sie gerade ist. 2 ist eine gerade Zahl, aber nicht durch 4 teilbar. 39 40 Rezept für Zweifelsfälle der aussagenlogischen Modellierung Ich fahre entweder Auto oder höre Musik. (Auf beides gleichzeitig kann ich mich nicht konzentrieren.) Wirklich ein Beispiel für ausschließende Disjunktion? 1 Identifiziere die elementaren Aussagen. 2 Analysiere alle Wahrheitsbelegungen. 3 Habe ich außerhalb des Autos tatsächlich keine ruhige Minute? Die exklusive Disjunktion ist hier als Implikation gemeint (und wird auch so verstanden): Wähle geeignete logische Funktionen (unbeirrt von Intuition und natürlicher Sprache). z = Entweder ich fahre Auto (x ) oder ich höre Musik (y ). Wenn ich Auto fahre, höre ich nicht Musik. x 1 1 0 0 Legt nicht fest, was ich außerhalb des Autos mache. y 1 0 1 0 z x or y 1 0 1 1 1 1 0 1 x xor y 0 1 1 0 x implies not y 0 1 1 1 x nand y 0 1 1 1 x implies not y : Wenn ich Auto fahre, dann höre ich nicht Musik. 41 nor iff xor implies 1 0 0 0 ∧ 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 ⊃ 0 1 0 0 6 ⊃ Eine Menge von Funktionen heißt vollständig (für eine Funktionsklasse), wenn damit alle Funktionen (der Klasse) ausgedrückt werden können. 1 1 0 1 ⊂ 0 0 1 0 6 ⊂ {not, and, or} ist funktional vollständig. Begründung siehe später. {not, and} ist 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 ) n Es gibt 22 verschiedene n-stellige logische (Boolesche) Funktionen. 2n verschiedene Argumentkombinationen („Zeilen“) 2 Ergebnismöglichkeiten für jede Argumentkombination 2 nullstellige Funktionen (Konstanten): true (1), false (0) 4 einstellige Funktionen: not, . . . 16 zweistellige Funktionen: and, nand, or, . . . 42 Funktionale Vollständigkeit if or 0 1 ¬ y 1 0 1 0 nand 0 ⊥ x 1 1 0 0 and false 1 > x 1 0 not true Aussagenlogische Funktionen – Zusammenfassung x nand y : Es kommt nicht vor, dass ich Auto fahre und Musik höre. 43 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 44 Was Sie heute erwartet {nand} ist funktional vollständig. {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 ) 1. Organisatorisches Praktisch relevant: nand ist einfach als Halbleiter-Schaltkreis realisierbar. Somit ist jede logische Funktion als Schaltkreis realisierbar. 2. Was bedeutet Modellierung? 3. Aussagenlogik Die Mengen {nor}, {not, or}, {not, implies} und {implies, false} sind ebenfalls funktional vollständig. 3.1. Was ist Logik? 3.2. Aussagenlogische Funktionen 3.3. Syntax und Semantik der Aussagenlogik 45 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. (A3) ¬F ∈ A, wenn F ∈ A. 2 A und B sind Formeln. (A ↑ B) ist eine Formel, I Variablen sind Formeln. > und ⊥ sind Formeln. ¬F ist eine Formel, falls F eine ist. (F ∗ G) ist eine Formel, falls F und G welche sind und ∗ ein binäres Op.symbol ist. aussagenlogische Variablen 47 da A und B Formeln sind (Punkt 1) und ↑ ein binäres Operatorsymbol ist. ((A ↑ B) ↑ (A ↑ B)) ist eine Formel, I (A4) (F ∗ G) ∈ A, wenn F , G ∈ A und ∗ ∈ {∧, ↑, ∨, ↓, ≡, 6≡, ⊃, ⊂}. V = {A, B, C , . . . , A0 , A1 , . . . } 1 3 Die Menge A der aussagenlogischen Formeln ist die kleinste Menge, für die gilt: (A2) {>, ⊥} ⊆ A ((A ↑ B) ↑ (A ↑ B)) ist eine aussagenlogische Formel, weil: I Syntax aussagenlogischer Formeln (A1) V ⊆ A 46 I da (A ↑ B) und (A ↑ B) Formeln sind (Punkt 2) und ↑ ein binäres Operatorsymbol ist. (A1) (A4) (A4) A ∧ B ist keine aussagenlogische Formel. ∧ kann nur aufgrund von A4 in einer Formel vorkommen. Dann muss es aber auch ein Klammernpaar geben. A ∧ B enthält ∧, aber keine Klammern. Die Definition der Formelsyntax ist Beispiel einer induktiven Definition. 48 Induktive Definition unendlicher Mengen Induktive Definition der geraden Zahlen Stufenweise Konstruktion der gerade Zahlen: G ist die kleinste Menge, für die gilt: 0∈G 0 ist eine gerade Zahl: G0 = {0} Wenn n ∈ G, dann auch n + 2 ∈ G. 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 Kompakte Definition, aber nicht konstruktiv: In den Bedingungen kommt die zu definierende Menge G selbst vor. Beiden Methoden definieren dieselbe Menge. (Nicht offensichtlich, Beweis erforderlich!). Umständlich, aber konstruktiv: Beginnend mit G0 lassen sich systematisch alle geraden Zahlen berechnen. G0 ⊆ G Wenn n ∈ G, dann auch n + 2 ∈ G. 49 Induktive Definition – allgemeine Situation Anmerkung: Der Zusatz „ist kleinste Menge“ ist wesentlich. Die natürlichen Zahlen erfüllen ebenfalls beide Bedingungen, sind aber nicht die kleinste derartige Menge. 50 A 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 (A1) V ⊆ A (A2) {>, ⊥} ⊆ A (A3) ¬F ∈ A, wenn F ∈ A. Stufenweise Konstruktion der Menge M (A4) (F ∗ G) ∈ A, wenn F , G ∈ A und ∗ ∈ {∧, ↑, ∨, ↓, ≡, 6≡, ⊃, ⊂}. Mi+1 = Mi ∪ { f1 (x1 , . . . , xn1 ) | x1 , . . . , xn1 ∈ Mi } ∪ { f2 (x1 , . . . , xn2 ) | x1 , . . . , xn2 ∈ Mi } ∪ ··· S M = limi→∞ Mi = i≥0 Mi U . . . Menge aller Zeichenketten bestehend aus Variablen, Operatorsymbolen und Klammern V ∪ {>, ⊥} . . . Grundelemente f¬ (F ) = ¬F f∧ (F , G) = (F ∧ G) f↑ (F , G) = (F ↑ G) ... f⊂ (F , G) = (F ⊂ G) Induktive Definition der Menge M M ist die kleinste Menge, für die gilt: M0 ⊆ M Wenn x1 , . . . , xn1 ∈ M, dann f1 (x1 , . . . , xn1 ) ∈ M. Wenn x1 , . . . , xn2 ∈ M, dann f2 (x1 , . . . , xn2 ) ∈ M. ... Definiere die Menge induktiv. Konstruiere benötigte Elemente stufenweise. Beobachtung: G ist die kleinste Menge mit diesen beiden Eigenschaften. Daher: „Use the best of both worlds.“ 51 . . . Konstruktionsfunktionen 52 Aussagenlogik – Semantik Wert von ((A ∧ ¬B) ⊃ ⊥) für I(A) = 1 und I(B) = 0 B = {1, 0} . . . Wahrheitswerte I : V 7→ B . . . Wahrheitsbelegung, Interpretation I = { I | I : V 7→ B } . . . Menge aller Interpretationen valI (((A ∧ ¬B) ⊃ ⊥)) = = = = = = I(A) = I(C ) = 1 und I(v ) = 0 sonst „Die elementaren Aussagen A und C sind wahr, die übrigen sind falsch.“ Semantik aussagenlogischer Formeln Wahrheitstafel Der Wert einer Formel in einer Interpretation I wird festgelegt durch die Funktion val : I × A 7→ B: Kompakte Berechnung der Formelwerte für alle Interpretationen Unter jedem Operator steht der Wert der entsprechenden Teilformel. (v1) valI (A) = I(A) für A ∈ V; (v2) valI (>) = 1 und valI (⊥) = 0; (v3) valI (¬F ) = not valI (F ); (v4) valI ( (F ∗ G) ) = valI (F ) ~ valI (G), wobei ~ die logische Funktion zum Operator ∗ ist. 53 x ¬ 1 0 0 1 A B ((A ∧ ¬ B) ⊃ ⊥) 1 0 01 1 0 1 1 1 1 10 0 0 1 0 0 0 01 1 0 0 1 0 0 0 0 10 1 0 x 1 1 0 0 y ∧ ⊃ 1 1 1 0 0 0 1 0 1 0 0 1 54 ((A ∧ ¬B) ⊃ ⊥) ist erfüllbar und widerlegbar. Eine Formel F heißt gültig, wenn valI (F ) = 1 für alle I ∈ I; A B ((A ∧ ¬ B) ⊃ ⊥) 1 1 1 0 01 1 0 1 0 1 1 10 0 0 0 1 0 0 01 1 0 0 0 0 0 10 1 0 erfüllbar, wenn valI (F ) = 1 für mindestens ein I ∈ I; widerlegbar, wenn valI (F ) = 0 für mindestens ein I ∈ I; unerfüllbar, wenn valI (F ) = 0 für alle I ∈ I. Folgerungen: Eine gültige Formel ist erfüllbar, aber weder widerlegbar noch unerfüllbar. Eine erfüllbare Formel kann gültig oder widerlegbar sein, aber nicht unerfüllbar. Eine widerlegbare Formel kann erfüllbar oder unerfüllbar sein, aber nicht gültig. Eine unerfüllbare Formel ist widerlegbar, aber weder gültig noch erfüllbar. F ist gültig/erfüllbar/widerlegbar/unerfüllbar genau dann, wenn ¬F unerfüllbar/widerlegbar/erfüllbar/gültig ist. valI ((A ∧ ¬B)) implies valI (⊥) (valI (A) and valI (¬B)) implies 0 (1 and not valI (B)) implies 0 (1 and not 0) implies 0 (1 and 1) implies 0 1 implies 0 = 0 Die Formel ist erfüllbar (daher nicht unerfüllbar), widerlegbar (daher nicht gültig). (A ∨ ¬A) ist gültig und erfüllbar. A (A ∨ ¬ A) 1 1 1 01 0 0 1 10 Die Formel ist gültig (daher nicht widerlegbar), erfüllbar (daher nicht unerfüllbar). (A ∧ ¬A) ist unerfüllbar und widerlegbar. 55 A (A ∧ ¬ A) 1 1 0 01 0 0 0 10 Die Formel ist unerfüllbar (daher nicht erfüllbar), widerlegbar (daher nicht gültig). 56