4.10.2011

Werbung
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
22 TutorInnen
Institut für Computersprachen
Arbeitsbereich Theoretische Informatik und Logik
Wintersemester 2011/2012
1
Verortung in der Landschaft der Bachelorstudien
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
„3.0“ . . . 3 Ects = 75 Arbeitsstunden
Formale Modellierung ist Teil der Studieneingangs- u. Orientierungsphase.
Voraussetzung für die Lehrveranstaltungen ab dem 3.Semester.
Nur zwei Wiederholmöglichkeiten.
2
Formale Modellierung – Lehrziele und Inhalt
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.
Themengebiete:
Aussagenlogik
Endliche Automaten, reguläre Ausdrücke und Petri-Netze
Formale Grammatiken
Prädikatenlogik als Spezifikationssprache
3
Was Sie heute erwartet
1. Organisatorisches
2. Was bedeutet Modellierung?
3. Aussagenlogik
3.1. Was ist Logik?
3.2. Aussagenlogische Funktionen
3.3. Syntax und Semantik der Aussagenlogik
4
Anmeldung
1
Studieneingangsgespräch (STEG): Anmeldung bis 5.10.2011
nicht erforderlich für „alte“ Studierende
2
Inskription in der Studienabteilung bis 10.10.2011
=⇒ Matrikelnummer
3
Anmeldung zur Lehrveranstaltung in TISS bis 12.10.2011
STEG und Matrikelnummer erforderlich!
4
Eingangstest in TUWEL bis 13.10.2011
TISS-Anmeldung erforderlich!
I
I
I
I
Stoff: Heutige Vorlesungseinheit
Multiple-Choice-Test
80 % richtige Antworten erforderlich
Beliebig oft wiederholbar
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)
5
Kommunikation
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.
I
I
I
I
Vorlesungspräsentation
Übungsblätter
Videoaufzeichnung der Vorlesung
weitere Materialen
Abgabe der gelösten Übungsaufgaben
Terminvereinbarung für die Abgabegespräche
Stellen Sie Fragen!
Während oder nach der Vorlesung,
im TUWEL Diskussionsforum (Sie dürfen auch antworten!),
per Email an [email protected], und
in den wöchentlichen Sprechstunden.
6
Ablauf (1)
Vorlesung
jeweils Dienstag, 13:00–16:00, AudiMax
5 Termine: 4.10., 11.10., 18.10., 25.10., 8.11.2011
2 Übungsblätter
Verfügbar in TUWEL ab 16.10. bzw. 6.11.2011
Abgabe der Lösungen in TUWEL bis 23.10. bzw. 13.11.2011
Textsystem oder leserliche (!) Handschrift gescannt im PDF-Format
Korrigierte Lösungen per Email retour bis 30.10. bzw. 20.11.2011
Stellen Sie sicher, dass Ihre @student.tuwien.ac.at-Adresse
funktioniert!
Diskussion ist gut, Abschreiben schlecht.
Beurteilt werden vernünftige Lösungsversuche,
Fehler sind erlaubt.
7
Ablauf (2)
2 Abgabegespräche
im Zeitraum 31.10.–11.11. bzw. 21.11.–2.12.2011
mündlich, etwa eine Stunde (gemeinsam mit 3–4 KollegInnen)
Terminvereinbarung über TUWEL
Fragen zum Stoff der Übungsblätter
Abschlusstest
schriftlich, etwa zwei Stunden
1.Termin Mi, 21.12.2011, 18:00–20:00
2.Termin Di, 17.1.2012, 14:00–16:00
3. und 4. Termin im Sommersemester 2012
Anmeldung über TISS erforderlich!
Antritt bei mehreren Terminen möglich, falls Ergebnis nicht genügend.
Pro Antritt wird ein Zeugnis ausgestellt.
Nach dem 4.Termin verfallen die Übungsleistungen.
8
Beurteilung
Für positive Note erforderlich:
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
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 Sie heute erwartet
1. Organisatorisches
2. Was bedeutet Modellierung?
3. Aussagenlogik
3.1. Was ist Logik?
3.2. Aussagenlogische Funktionen
3.3. Syntax und Semantik der Aussagenlogik
10
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
Zwei grundlegende Verwendungsmöglichkeiten:
Analyse komplexer Systeme:
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
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
Natürliche Sprachen
Basis jeder Kommunikation
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
Schimmel: Pilz oder Pferd?
Hunde riechen gut. Guter Geruchssinn, oder duften sie?
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)
Und was genau heißt das nun?
13
Formale Sprachen
konstruiert, „künstlich“
eingeschränkte Ausdrucksmöglichkeiten
spezifische Anwendungsgebiete
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
14
Formale Modellierungssprachen in dieser Lehrveranstaltung
Textuelle Sprachen:
Logische Sprachen: Aussagenlogik, Prädikatenlogik
Reguläre Ausdrücke
Formale Grammatiken
Graphische Sprachen:
Endliche Automaten
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
Was Sie heute erwartet
1. Organisatorisches
2. Was bedeutet Modellierung?
3. Aussagenlogik
3.1. Was ist Logik?
3.2. Aussagenlogische Funktionen
3.3. Syntax und Semantik der Aussagenlogik
16
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.“
Was daran ist logisch?
Es ist nicht logisch,
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“.
17
Falls man aber akzeptiert,
dass Mike untreu war
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.
x
Wenn x , dann y .
y
Die Logik untersucht allgemeine Prinzipien korrekten Schließens.
18
Schlussfolgerungen (Inferenzen)
Alle Menschen sind sterblich.
Sokrates ist ein Mensch.
Sokrates ist sterblich.
)
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.
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
19
Alle US-Präsidenten sind in der USA geboren.
Schwarzenegger ist US-Präsident.
Schwarzenegger ist in der USA geboren.
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 .
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
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.
wahre Prämissen
wahre Konklusionen
aber trotzdem keine zulässigen Inferenzen!
Kriterium für die Gültigkeit von Inferenzregeln
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
Alle Menschen sind sterblich.
Sokrates ist sterblich.
Sokrates ist ein Mensch.
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
Alle Fußbälle sind rund.
Die Sonne ist rund.
Die Sonne ist ein Fußball.
wahr
wahr
falsch
Die Inferenzregel ist daher nicht gültig,
obwohl sie gelegentlich zu wahren Konklusionen führt.
Aber eben nicht immer!
22
Logische Junktoren (Operatoren, Konnektive, Funktionen)
. . . 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.
„es ist Feiertag“ (x ), „Prof ist krank“ (y ), „VO findet statt“ (z)
. . . elementare Aussagen aus dem Uni-Milieu
Logische Struktur: „Wenn x oder y , dann nicht z“
Junktoren: wenn-dann, oder, nicht
Weitere Junktoren in . . .
der Aussagenlogik: und, entweder-oder, genau dann-wenn, . . .
Zeitlogiken: morgen, gestern, im nächsten Moment, bis, . . .
Modallogiken: notwendigerweise, möglicherweise, . . .
...
23
Quantoren
. . . ermöglichen Aussagen über die Anzahl betroffener Individuen,
Zeitpunkte etc.
Jeder Mann liebt eine Frau.
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
Weitere Quantoren: einige, viele, mindestens fünf, höchstens drei, immer,
manchmal, irgendwann später, . . .
24
Komponenten einer Logik
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
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“, . . .
26
. . . nach wahren/beweisbaren Formeln, nach Kalkülen, . . .
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
Clipart courtesy FCIT
Informatik
Aristoteles
384–322 v.Chr.
27
Was Sie heute erwartet
1. Organisatorisches
2. Was bedeutet Modellierung?
3. Aussagenlogik
3.1. Was ist Logik?
3.2. Aussagenlogische Funktionen
3.3. Syntax und Semantik der Aussagenlogik
28
Negation
Ich gehe nicht ins Kino.
Ist falsch, wenn ich ins Kino gehe, und wahr andernfalls.
x not x
1
0
1
0
Andere Bezeichnung: non
Symbole: ¬x , −x , ∼x , x 0 , !x , x , Nx , . . .
Logikgatter:
1
29
Konjunktion
Der Himmel ist blau und die Sonne scheint.
Trifft nur zu, wenn jede der beiden Teilaussagen wahr ist.
x
1
1
0
0
y x and y
1
1
0
0
1
0
0
0
Andere Bezeichnung: et
Symbole: x ∧ y , x · y , xy , x &y , Kxy , . . .
Logikgatter:
&
30
Disjunktion, Alternative
Ich verbringe den Urlaub in Italien oder in Kroatien.
Nur falsch, wenn ich in keines der beiden Länder fahre.
x
1
1
0
0
y x or y
1
1
1
0
1
1
0
0
Andere Bezeichnung: vel
Symbole: x ∨ y , x + y , x | y , Axy
Logikgatter:
≥1
31
Ausschließende Disjunktion (Antivalenz)
Ich fahre entweder Auto oder höre Musik.
(Auf beides gleichzeitig kann ich mich nicht konzentrieren.)
Trifft zu, wenn ich genau eines von beidem tue (aber nicht beides).
x
1
1
0
0
y x xor y
1
0
0
1
1
1
0
0
Andere Bezeichnungen: exor, aut
Symbole: x 6≡ y , x ⊕ y , x 6⇔ y , x 6↔ y , Jxy , . . .
Logikgatter:
=1
32
Äquivalenz
Ich springe dann (und nur dann), wenn du es auch tust.
Trifft zu, wenn beide springen oder keiner.
x
1
1
0
0
y x iff y
1
1
0
0
0
1
0
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 Bezeichnungen: eq, äq, xnor, nxor, . . .
Symbole: x ≡ y , x ⇔ y , x ↔ y , Exy , . . .
Logikgatter:
=1
33
Implikation
Wenn/Falls ich ins Kino gehe, (dann) esse ich Popcorn.
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 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: aus x folgt y , x impliziert y , x hinreichend für y
Andere Bezeichnung: seq (sequi)
Symbole: x ⊃ y , x ⇒ y , x → y , Cxy , . . .
Logikgatter:
x
x
y
y
≥1
34
Implikation (Umkehrung)
Ich esse Popcorn, wenn/falls ich ins Kino gehe.
x
1
1
0
0
y x if y
1
1
1
0
1
0
0
1
Andere Formulierungen: x folgt aus y , x wird von y impliziert, x ist
notwendig für y
Symbole: x ⊂ y , x ⇐ y , x ← y , . . .
Logikgatter:
x
x
y
y
≥1
35
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
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:
&
Logikgatter:
≥1
36
Wenn Feiertag ist oder der Professor krank ist,
findet die Vorlesung nicht statt.
Logische Struktur: „Wenn x oder y , dann nicht z.“
Logische Funktion: (x or y ) implies not z
implies (or (x , y ), not(z))
Logische Formel: (x ∨ y ) ⊃ ¬z
Prefix-Notation: C A x y N z
Algebraische Notation: (x + y ) → z
x
Logischer Schaltkreis:
y
z
xy +z
x
≥1
y
≥1
z
37
Implikation oder Äquivalenz?
Natürlichsprachliche Implikationen sind oft logische Äquivalenzen.
Wenn du mein Auto wäscht, bekommst du 10 Euro.
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:
Du bekommst 10 Euro dann und nur dann, wenn du das Auto wäscht.
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.
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.
38
Der Besitz eines Führerscheins berechtigt zum Lenken eines Autos.
Ohne Führerschein keine Berechtigung? (Äquivalenz)
Auch nicht auf Privatgelände? (Doch nur Implikation?)
In formalen Kontexten wird strikt zwischen Implikation und Äquivalenz
unterschieden. „Implikation = halbe Äquivalenz“
Wenn eine Zahl durch 4 teilbar ist, ist sie gerade.
4-Teilbarkeit ist eine hinreichende Bedingung für Geradheit, aber keine
notwendige.
Äquivalenz führt zu einer falschen Aussage:
Eine Zahl ist durch 4 teilbar genau dann, wenn sie gerade ist.
2 ist eine gerade Zahl, aber nicht durch 4 teilbar.
39
Inklusive oder exklusive Disjunktion?
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.
„Tee oder Kaffee?“ – „Beides, bitte!“
Eher unüblich. Aber: Der Gast ist König.
Ich besuche dich morgen oder übermorgen.
Ein Besuch an beiden Tagen wäre unerwartet.
40
Ich fahre entweder Auto oder höre Musik.
(Auf beides gleichzeitig kann ich mich nicht konzentrieren.)
Wirklich ein Beispiel für ausschließende Disjunktion?
Habe ich außerhalb des Autos tatsächlich keine ruhige Minute?
Die exklusive Disjunktion ist hier als Implikation gemeint (und wird auch
so verstanden):
Wenn ich Auto fahre, höre ich nicht Musik.
Legt nicht fest, was ich außerhalb des Autos mache.
41
Rezept für Zweifelsfälle der aussagenlogischen Modellierung
1
Identifiziere die elementaren Aussagen.
2
Analysiere alle Wahrheitsbelegungen.
3
Wähle geeignete logische Funktionen
(unbeirrt von Intuition und natürlicher Sprache).
z = Entweder ich fahre Auto (x ) oder ich höre Musik (y ).
x
1
1
0
0
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.
x nand y : Es kommt nicht vor, dass ich Auto fahre und Musik höre.
42
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
⊃
if
xor
y
1
0
1
0
iff
x
1
1
0
0
nor
0
1
¬
or
x
1
0
nand
0
⊥
and
false
1
>
not
true
Aussagenlogische Funktionen – Zusammenfassung
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
2 nullstellige Funktionen (Konstanten): true (1), false (0)
4 einstellige Funktionen: not, . . .
16 zweistellige Funktionen: and, nand, or, . . .
43
Funktionale Vollständigkeit
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, 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 )
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
{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 )
Praktisch relevant: nand ist einfach als Halbleiter-Schaltkreis realisierbar.
Somit ist jede logische Funktion als Schaltkreis realisierbar.
Die Mengen {nor}, {not, or}, {not, implies} und {implies, false} sind
ebenfalls funktional vollständig.
45
Was Sie heute erwartet
1. Organisatorisches
2. Was bedeutet Modellierung?
3. Aussagenlogik
3.1. Was ist Logik?
3.2. Aussagenlogische Funktionen
3.3. Syntax und Semantik der Aussagenlogik
46
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
Die Menge A der aussagenlogischen Formeln ist die kleinste Menge, für
die gilt:
(A1) V ⊆ A
Variablen sind Formeln.
(A2) {>, ⊥} ⊆ A
> und ⊥ sind Formeln.
(A3) ¬F ∈ A, wenn F ∈ A.
¬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 , . . . }
aussagenlogische Variablen
47
((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
(A1)
(A4)
(A4)
da (A ↑ B) und (A ↑ B) Formeln sind (Punkt 2)
und ↑ ein binäres Operatorsymbol ist.
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
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
Umständlich, aber konstruktiv: Beginnend mit G0 lassen sich systematisch
alle geraden Zahlen berechnen.
Beobachtung:
G0 ⊆ G
Wenn n ∈ G, dann auch n + 2 ∈ G.
G ist die kleinste Menge mit diesen beiden Eigenschaften.
49
Induktive Definition der geraden Zahlen
G ist die kleinste Menge, für die gilt:
0∈G
Wenn n ∈ G, dann auch n + 2 ∈ G.
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!).
Daher: „Use the best of both worlds.“
Definiere die Menge induktiv.
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.
50
Induktive Definition – allgemeine Situation
U . . . Universum, Menge aller relevanten Elemente
M0 ⊆ U . . . Menge von Grundelementen
f1 : U n1 7→ U, f2 : U n2 7→ U, . . . Konstruktionsfunktionen
Stufenweise Konstruktion der Menge M
Mi+1 = Mi ∪ { f1 (x1 , . . . , xn1 ) | x1 , . . . , xn1 ∈ Mi }
∪ { f2 (x1 , . . . , xn2 ) | x1 , . . . , xn2 ∈ Mi }
∪ ···
S
M = limi→∞ Mi = i≥0 Mi
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.
...
51
A ist die kleinste Menge, für die gilt:
(A1) V ⊆ A
(A2) {>, ⊥} ⊆ A
(A3) ¬F ∈ A, wenn F ∈ A.
(A4) (F ∗ G) ∈ A, wenn F , G ∈ A und ∗ ∈ {∧, ↑, ∨, ↓, ≡, 6≡, ⊃, ⊂}.
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)







. . . Konstruktionsfunktionen






52
Aussagenlogik – Semantik
B = {1, 0} . . . Wahrheitswerte
I : V 7→ B . . . Wahrheitsbelegung, Interpretation
I = { I | I : V 7→ B } . . . Menge aller Interpretationen
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
Der Wert einer Formel in einer Interpretation I wird festgelegt durch die
Funktion val : I × A 7→ B:
(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
Wert von ((A ∧ ¬B) ⊃ ⊥) für I(A) = 1 und I(B) = 0
valI (((A ∧ ¬B) ⊃ ⊥)) =
=
=
=
=
=
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
Wahrheitstafel
Kompakte Berechnung der Formelwerte für alle Interpretationen
Unter jedem Operator steht der Wert der entsprechenden Teilformel.
A B ((A ∧ ¬ B) ⊃ ⊥)
1 1
1 0 01 1 0
1 0
1 1 10 0 0
0 0 01 1 0
0 1
0 0 10 1 0
0 0
x ¬
1 0
0 1
x
1
1
0
0
y ∧ ⊃
1 1 1
0 0 0
1 0 1
0 0 1
54
Eine Formel F heißt
gültig, wenn valI (F ) = 1 für alle I ∈ I;
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.
55
((A ∧ ¬B) ⊃ ⊥) ist erfüllbar und widerlegbar.
A B ((A ∧ ¬ B) ⊃ ⊥)
1 1
1 0 01 1 0
1 0
1 1 10 0 0
0 0 01 1 0
0 1
0 0
0 0 10 1 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.
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
Herunterladen