You are on page 1of 13

Prof. Dr.

Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

bungen Logik und formale Methoden Prdikatenlogik


[Einige der bungen sind von Bodo Igler.]

A
1.

Objekte und Prdikate

WM 2006 Gegeben seien folgende Prdikate: B px, y q: F pxq: T px, y q: V px, y q: x x x x besiegt y ist Fuball-Nationalmannnschaft ist Torwart von y verliert gegen y

und folgende Konstanten: de: br: to: deutsche Nationalmannschaft brasilianische Nationalmannschaft Nationalmannschaft Togos

Drcken Sie folgende Aussagen in der Prdikatenlogik aus: (a) (b) Jede Fuball-Nationalmannschaft hat einen Torwart. Wenn de gegen to gewinnt, dann verliert de nicht jedes Spiel.

(c) br schlgt jedes Team, gegen das de verliert, mit Ausnahme von sich selbst. Zusatzaufgabe: Spezizieren Sie die Situation mit vier Mannschaften in Alloy und erzeugen Sie mit dem Alloy-Analyzer mgliche Verlufe der WM. 2. Prdikate nden Finden Sie geeignete Prdikate, um folgendes in der Prdikatenlogik auszudrcken: (a) (b) (c) (d) (e) Alle roten Dinge sind in der Schachtel. Nur rote Dinge sind in der Schachtel. Kein Tier ist zugleich eine Katze und ein Hund. Jeder Preis wurde von (irgend)einem Spieler gewonnen. Ein Spieler hat jeden Preis gewonnen.

B
3.

Die formale Sprache der Prdikatenlogik

Terme und Syntaxbaum Die Menge F sei d, f, g mit einer Konstanten d, einem Funktionssymbol f mit 2 Argumenten und einem Funktionssymbol g mit 3 Argumenten. Welche der folgenden Zeichenfolgen sind Terme ber F . Zeichnen Sie den Syntaxbaum der Zeichenfolgen, die Terme sind. (b) f px, g py, z q, dq (c) g px, f py, z q, dq (a) g pd, dq

Sommersemester 2012

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

(d) g px, hpy, z q, dq

(e) f pf pg pd, xq, f pg pd, xq, y, g py, dqq, g pd, dqq, g pf pd, d, xq, dqz q Syntaktisch korrekte Formeln m sei eine Konstante, f ein Funktionssymbol mit einem Argument und S und B zwei Prdikate mit jeweils zwei Argumenten. Welche der folgenden Zeichenfolgen ist eine (syntaktisch korrekte) Formel der Prdikatenlogik? Begrndung, wenn nicht.

4.

(b) B pm, f pmqq (d) B pB pm, xq, y q (e) S pB pmq, z q (f) (g) (h) 5. (c) f pmq

(a) S pm, xq

pB px, yq phzS px, yqqq pS px, yq S py, f pf pxqqqq pB pxq B pB pxqqq

Spielen mit Formeln Gegeben sei die Formel

hxpP py, zq pdyp2Qpy, xq P py, zqqq,


mit Prdikaten P und Q in zwei Argumenten. (a) (b) (c) (d) Zeichnen Sie den Syntaxbaum von . Identizieren Sie alle freien und gebundenen Variablen in . Gegeben seien eine Variable w und die Funktionssymbole f pxq und g py, z q mit einem bzw. zwei Argumenten. Berechnen Sie rw{xs, rw{y s, rf pxq{y s und rg py, z q{z s. Gibt es eine Variable in , die gebunden und frei vorkommt?

C
6.

Semantik der Prdikatenlogik

Modelle erfllen die Formel?

Gegeben sei die Formel als dxhy hz pP px, y q P pz, y q P px, z q P pz, xqq Welches der folgenden Modell erfllt ? Das Modell mit dem Universum A gewhlt als die natrlichen Zahlen und der Denition von P als tpm, nq|m nu. Das Modell mit den natrlichen Zahlen N als Universum und P als tpm, 2 mq|m Nu. Das Modell mit den natrlichen Zahlen N als Universum und P als n 1u.

(a) (b) (c)

tpm, nq|m

7.

Modell nden

Gegeben sei die Formel als dxdyQpg px, y q, g py, y q, z q, wobei Q ein Prdikat mit 3 Argumenten und g ein Funktionssymbol mit 2 Argumenten ist.
Sommersemester 2012 2

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

(a) (b) 8.

Finden Sie ein Modell M und eine Variablenbelegung l, so dass gilt: M Bl .

Finden Sie ein Modell M und eine Variablenbelegung l, so dass gilt: M @l .

Modelle erfllen die Formel?

Gegeben sei die Formel als dxdy hz pRpx, y q Rpy, z qq mit einem Prdikat R in zwei Argumenten. Das Universum A sei die Menge ta, b, c, du und gegeben sei die Relation R als tpb, cq, pb, bq, pb, aqu. Gilt M @ ? Begrndung. Das Universum A sei die Menge ta, b, c, u und gegeben sei die Relation R als tpb, cq, pa, bq, pc, bqu. Gilt M @ ? Begrndung.

(a) (b)

9.

Relationen und Logik Gegeben sei eine Menge A und eine binre Relation R ber A. Drcken Sie die folgenden Eigenschaften der Relation als Formel der Prdikatenlogik aus und konstruieren Sie jeweils ein kleines Modell mit einer (kleinen) endlichen Menge A. (a) R ist nicht leer. (b) R ist transitiv. (c) R ist reexiv. (d) R ist irreexiv. (e) R ist symmetrisch. (f) (g) R ist eine Funktion. R ist injektiv.

(h) R ist surjektiv. (i) R ist total. (j) R ist bijektiv. 10. Paradoxon? Der Kreter Epimenides sagt: Alle Kreter lgen. Dieser Satz wird gerne als das LgnerParadoxon bezeichnet. berdenken Sie und diskutieren Sie den Sachverhalt.

D
11.

Natrliches Schlieen

Gesetze der Prdikatenlogik Zeigen Sie folgende Gesetze der Prdikatenlogik mittels natrlichen Schlieens: (a) (b) (c) (d) (e) (f)

2dxP pxq 6 hx2P pxq hx2P pxq 6 2dxP pxq 2hxP pxq 6 dx2P pxq dx2P pxq 6 2hxP pxq dxP pxq dxQpxq 6 dxppP pxq Qpxqq dxpP pxq Qpxqq 6 dxP pxq dxQpxq
3

Sommersemester 2012

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

(g) (h) (i) (j) 12.

hxP pxq hxQpxq 6 hxpP pxq Qpxqq hxpP pxq Qpxqq 6 hxP pxq hxQpxq dxP pxq dxQpxq 6 dxpP pxq Qpxqq hxpP pxq Qpxqq 6 hxP pxq hxQpxq

Einfache Herleitungen Beweisen Sie folgende Aussagen mittels natrlichen Schlieens (a) (b) (c)

dxdyP px, yq 6 dudvP pu, vq hxhyF px, yq 6 huhvF pu, vq hxdyP px, yq 6 dyhxP px, yq

13.

Herleitungen Beweisen Sie folgende Aussagen mittels natrlichen Schlieens (a) (b) (c) (d)

hxpS Qpxqq 6 S hxQpxq 2dx2P pxq 6 hxP pxq hxP pxq 6 2dx2P pxq S dxQpxq 6 dxpS Qpxqq

14.

Herleitung nden und beweisen Formalisieren Sie folgende Aussagen und beweisen Sie mittels des natrlichen Schlieens: Alle Linguisten kennen Chomsky Alle Computerlinguisten sind Linguisten Also: Alle Computerlinguisten kennen Chomsky

E
15.

Relationale Logik mit Alloy

Modelle fr Assoziationen zwischen Klassen Gegeben seien zwei Klassen A und B mit einer Assoziation zwischen den beiden Klassen (wie im Klassendiagramm der UML blich). Es sollen folgende Multiplizitten der Assoziation vorgegeben sein: (a) 1 - 1 (b) 0..1 - 1 (c) 0..1 - 0..1 (d) 1 - * (e) 0..1 - * (f) (g) (i) 0..1 - 1..* 1 - 1..* 1..* - *

(h) * - * (j) 1..* - 1..* Erstellen Sie Alloy-Spezikationen und verwenden Sie den Alloy Analyzer, um Objektmodelle zu simulieren, die die Constraints erfllen.
Sommersemester 2012 4

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

16.

Assoziationsklassen simulieren Im Metamodell der UML ist eine Assoziationsklasse sowohl eine Assoziation als auch eine Klasse. Erstelllen Sie Alloy-Spezikationen fr die Klassen A und B mit verbindender Assoziationsklasse AC mit folgenden Multiplizittem (a) * - * (b) 1..* - 1..*

17.

Graphen Erstellen Sie Alloy-Modelle fr folgende Typen von Graphen und berprfen Sie das jeweilige Modell durch Simulation im Alloy Analyzer. (a) (Ungerichteter) Graph, bestehend aus Ecken und Kanten. Zwei Ecken sind durch hchstens eine Kante verbunden. Es gibt keine Schleifen, d.h. eine Ecke ist nie durch eine Kante mit sich selbst verbunden.

(b) Gerichteter Graph ohne Schleifen (c) Gerichteter Graph mit Schleifen (d) Gerichteter Multigraph, bei dem zwei Ecken durch mehrere Kanten verbunden sein knnen. (e) 18. Ungerichteter Multigraph

Entwurfsmuster Composite Das Entwurfsmuster Composite der GoF hat folgende Bestimmung Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. Erstellen Sie eine Spezikation des Musters in Alloy und drcken Sie alle bentigten Eigenschaften der Struktur des Musters in Alloys relationaler Logik aus. Zusatzaufgabe: Betrachten Sie auch dynamische Aspekte: Vernderungen der Struktur durch Hinzufgen oder Wegnehmen von Elementen. Was lernt man daraus ber das Muster? Was muss man bei einer Implementierung des Musters infolgedessen beachten?

19.

Entwurfsmuster Decorator Das Entwurfsmuster Decorator der GoF hat folgende Bestimmung Attach additional responsibilities to an object dynamically. Decorators provide a exible alternative to subclassing for extending functionality. Erstellen Sie eine Spezikation des Musters in Alloy und drcken Sie alle bentigten Eigenschaften der Struktur des Musters in Alloys relationaler Logik aus. Zusatzaufgabe: Betrachten Sie auch dynamische Aspekte: Vernderungen der Struktur durch Hinzufgen oder Wegnehmen von Elementen. Was lernt man daraus ber das Muster? Was muss man bei einer Implementierung des Musters infolgedessen beachten?

20.

E-Mail-Anwendung Gegeben sei das Diagramm 1 fr die Struktur der Empfnger in einer E-Mail-Anwendung.
Sommersemester 2012 5

the world. Another example of a simple structure, this time of a software domain, is the object class structure shown in Fig. 4: it represents an aliasing scheme to be used by an email client. Each potential recipient of an outgoing email message is represented by an address, an alias can refer, acyclically, to one or more addresses or aliases, aliases and addresses are generalised to ids. Each email message has a target, which consists Logik und formale Methoden Prof. Dr. Burkhardt Renz of a non-empty set of include ids and a set of exclude ids: this feature is considered TH Mittelhessen bungen Prdikatenlogik convenient because it allows the sender to target, for example, a set of work colleagues while excluding any who are personal friends.
message * 1 target * exclude * * include 1..* id 1..* refers

* address alias

Fig. 4. A structure for e-mail recipients

Abbildung 1: Struktur E-Mail-Empfnger For the conscientious specifier of requirements, and certainly for the designer of the email client software, the question will arise: How should the target of a message be resolved? Does it matter whether the difference set einer include exclude is formed beDas Diagramm zeigt, dass jeder potentielle Empfnger E-Mail eine direkte Adresse fore or einen after resolution of alias references? The question about a putative property hat oder Alias, der selbst wieder auf andere Adressenis oder Aliase verweisen kann of the structure,zu and it certainly does matter. The developer must find a way of an verallgemeinert einer id. swering this question reliably. Jede Nachricht hat nun eine Menge von Zielen (target), die bestimmte Empfnger One way of answering the question is by formal or informal reasoning. Another explizit einschlieen soll, andere explizit ausschlieen soll. is model-checking. For example, the significant parts of the structure, and the asserEin solches Schema kann zum Beispiel praktisch sein, wenn man manchmal Nachrichtion of the putative property, can be formalised in the relational language of the Alten an bestimmte Gruppen von Personen wie Kollegen verschickt, dabei aber andere loy model-checker [17] as shown in Fig. 5. Personen, wie z.B. persnliche Bekannte ausschlieen mchte oder umgekehrt. Die Frage wie soll in der E-Mail-Anwendung mit den Attributen include und sig id { nun: } sig address extends id { } Sollen erst die Aliase dereferenziert werden und dann die exclude verfahren werden? sig alias extends id{refers: set id} Dierenz zwischen include-Adressen und // den excludegebildet werden? fact {no a: alias |den a in a.^refers} aliasing mustAdressen not be cyclic target {include, exclude: set id} Odersig muss die Reihenfolge umgekehrt sein? Oder spielt sie gar keine Rolle?
assert OrderIrrelevant { all t: target | diffThenRefers(t) = refersThenDiff(t) Kripke-Strukturen } module aliases

[Beispiel stammt von(t: Michael fun refersThenDiff target):Jackson] set id {(t.include.*refers - t.exclude.*refers) - alias}

fun diffThenRefers (t: target): set id {t.(include - exclude).*refers - alias}

21.

Eine Kripke-Struktur ist ein endlicher Zustandsautomat (state machine ) mit einer nichtleeren Menge init von Initalzustnden, einer Abbildung prop der Zustnde in eine Menge von atomaren einer Relation von Zustandbergngen Fig. Aussagen, 5. Model-checking a putative object structure property next und einer Menge von Endzustnden final. Die Abbildung prop gibt an, welche der atomaren Aussagen in dem jeweiligen Zustand gegeben (wahr) ist. Was ist zu tun? (a) (b) (c) (d) (e) (f) Erstellen Sie eine Alloy-Spezikation fr Kripke-Strukturen. Schreiben Sie eine fun-Anweisung Reaches, die zu einer Kripke-Struktur alle Zustnde ermittelt, die von einem Initalzustand aus erreichbar sind. Schreiben Sie ein Prdikat, mit dem man berprfen kann, ob eine Kripke-Struktur keinen Deadlock hat (d.h. nur nale Zustnde knnen keinen Folgezustand haben). Schreiben Sie ein Prdikat, mit dem man berprfen kann, ob eine Kripke-Struktur deterministisch ist (d.h. ein Zustand hat hchstens eine weiterfhrende Transition). Schreiben Sie ein Prdikat, mit dem man berprfen kann, ob ein Zustand mit einer bestimmten Eigenschaft in prop erreicht werden kann. Schreiben Sie ein Prdikat, mit dem man berprfen kann, ob man einen Zustand mit einer bestimmten Eigenschaft ausgehend von einem beliebigen Zustand erreichen kann.
6

Sommersemester 2012

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

22.

Eine Gruppe G ist ein Tupel pG, , 1q bestehend aus einer Menge von Elementen G, einer Funktion : G G G und einem ausgezeichneten Element 1 G, so dass gilt: (1) Inverse Elemente: zu jedem x G gibt es ein y

Gruppen

G so dass gilt: x y  y x  1 (2) Assoziativgesetz: fr alle x, y, z G gilt: x py z q  px y q z (3) Neutrales Element: fr alle x G gilt: 1 x  x 1  x.
Aufgaben: Spezizieren Sie die Struktur einer Gruppe in Alloy. Lassen Sie den Alloy Analyzer eine Gruppe mit drei Elementen generieren.

(a) (b) (c) (d)

berprfen Sie die Aussage, dass jedes Element einer Gruppe ein eindeutiges inverses Element hat mittels des Alloy Analyzers. Diskutieren Sie den Befund. Schreiben Sie eine assert-Anweisung zur berprfung, ob eine Gruppe kommutativ ist, d.h. ob fr alle x, y G gilt: x y  y x. berprfen Sie die Anweisung mit steigendem Scope beginnend bei 1.

23.

Gruppenaxiome In einem einfhrenden Aufsatz ber das Suchen endlicher Modelle erwhnt Jian Zhang folgendes Beispiel: It had been thought that the follwing equation alone can axiomatize the group theory ipf pf px, f ppf py, z q, ipf py, f pipuq, ipz qqqqqq, xqq  u Here i means inverse, f means multiplication, and all the variables are universally quantied. [Jian Zhang: Finite Model Searching: An Introduction and Some Personal Notes, Beijing 2002, Aug.] Der Autor nennt ein Beispiel einer Struktur mit 2 Elementen, die die Gleichung erfllt, aber keine Gruppe ist. McCune hat diese mit einem Modelnder gefunden. Wie geht das mit Alloy?

24.

Projektive Ebenen Eine projektive Ebene ist eine Menge von Punkten und Geraden mit folgenden Eigenschaften: (1) Zu je zwei verschiedenen Punkten gibt es genau eine Gerade, auf der die Punkte liegen. (2) Zu je zwei verschiedenen Geraden gibt es genau einen Punkt, in dem sich die Geraden schneiden. (3) Auf jeder Geraden liegen wenigstens 3 Punkte. (4) Durch jeden Punkt gehen mindestens 3 Geraden. Aufgaben: Spezizieren Sie die Struktur einer (endlichen) projektiven Ebene in Alloy. Zeigen Sie mit Alloy, dass die kleinste endliche projektive Ebene 7 Punkte und 7 Geraden hat.
7

Sommersemester 2012

4 4 6
Prof. Dr. Burkhardt Renz TH Mittelhessen

9 5 7 4 8 4 3 5 7 8 6 1 8 2 1
Logik und formale Methoden 3 9 bungen Prdikatenlogik

25.

Sudoku

In einem gelsten Sudoku kommen die Ziern 1 bis 9 genau einmal in jeder Zeile, einmal 4 3 in jeder Spalte und einmal in jedem Sektor (einem der 9 3x3-Subquadrate vor). Gegeben sei folgendes Rtsel (Abb. 2): Schwieriges Rtsel

9 9 5 1 6 4 7 9 2 5 2 8 6 8 3 4

7 6

1 7 4

1 3 8 6 5 6 4

Abbildung 2: Sudoku Schreiben Sie eine Alloy-Spezikation fr die Regeln von Sudoku. Hinweis: man kann Sudoku auassen als ternre Relation, bei der jedes Tupel pr, c, v q folgendes Rev 1.1 20. Januar 2006 darstellt: r ist die Zeile (row ), c ist die Spalte (column) und v ist der Wert (value ) Hochschulinformationstage Fachbereich MNI FH Gieen-Friedberg der entsprechenden Zelle. Prof. Dr. Burkhardt Renz (b) Geben Sie ein partielles Modell fr die Relation vor entsprechend der vorbelegten Ziern im Rtsel und lassen Sie den Alloy Analyzer die Lsung nden. (c) Wie bersetzt Alloy wohl die Aufgabe in eine Formel der Aussagenlogik? (Denken Sie an die Aufgabe mit der Kartenfrbung) 26. Erdkunde-Klassenarbeit Logelei aus dem ZEIT-Magazin vom 24.05.2007 Claudia musste fr den Erdkundeunterricht vier Berge auswendig lernen. Am nchsten Tag in der Klassenarbeit kann sie sich noch an Folgendes erinnern: Auf dem Felderer ndet sich kein Steinhaufen. Der Berg in Barunien heit weder Schneehorn, noch ist er 2317 Meter hoch. Auf einem der Berge war ein gigantischer Felsen. Weder der Berg in Gorabien noch der Felderer ist 2581 Meter hoch. Der Berg in Seborien ist 2128 Meter hoch. Das Schneehorn ist nicht 2222 Meter hoch. Der Berg mit der Htte darauf ist weder 2222 Meter hoch noch der Borken, noch in Seborien. Der Berg in Gorabien ist nicht 2317 Meter hoch. Weder auf dem 2222 Meter hohen Berg noch auf dem Borken gibt es einen See. Es gab einen Weldberg.
Sommersemester 2012 8

(a)

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

Claudia grbelt und grbelt, aber mehr will ihr partout nicht einfallen. Da fllt ihr auf, dass die Tafel nicht geputzt ist. Dort steht noch, wohl von einem Erdkundeunterricht der Parallelklasse: In Lusanien steht der Borken. Claudia ist erleichtert. Wie heien die vier Berge, wie hoch sind sie, in welchem Land sind sie, und welche Besonderheit ndet man auf den vier Gipfeln? Man kann die Frage noch erweitern: Gibt es nur eine Lsung? Gibt es mehrere Lsungen, wenn die Tafel geputzt gewesen wre? 27. Objekte und Relationen (a) (b) Nennen Sie die wesentlichen Unterschiede zwischen objektorientierter und relationaler Modellierung Nennen Sie die wesentlichen Schwierigkeiten bei der Abbildung von Objektstrukturen auf relationale Strukturen (=Objektrelationales Mapping)

28.

ER-Modell als Alloy- Modell Modellieren Sie das in Abb. 3 dargestellte ER-Modell als Alloy-Modell fr: aq bq cq dq eq m1 0 1 1 1 1 m2 1 1 1 1 M n1 1 0 1 0 0 n2 1 1 N N 3

Abbildung 3: ER-Modell

29.

Klassendiagramm als Alloy Modell Modellieren Sie das in Abb. 4 dargestellte Klassendiagramm als Alloy-Modell

30.

ER-Modell Person-Firma in Alloy Grundlage fr diese Aufgabe ist das ER-Modell Person-Firma in Abb. 5. (a) (b) (c) Wandeln Sie um: ER-Modell -> Alloy-Modell. Schrnken Sie das Alloy-Modell ein: Der Chef einer Firma arbeitet auch in dieser Firma. Schrnken Sie das Alloy-Modell ein: Der Chef einer Firma hat keinen seiner Angestellten in einer anderen Firma als Chef.

Sommersemester 2012

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

Abbildung 4: Klassendiagramm

Abbildung 5: Klassendiagramm

31.

Alloy-Modell analysieren und anpassen Betrachten Sie das Alloy-Modell in Listing 1. (a) (b) Zeichnen Sie ein ER-Diagramm passend zu Listing 1. berprfen Sie mit Hilfe geeigneter Assertions, ob das Modell gem Listing alle unerwnschten Spezialflle (z.B. eine Person ist ihr eigener Onkel/ihre eigene Tante, eine Person ist ihr eigener Vater/ihre eigene Mutter) aussschliet? Passen Sie das Alloy-Modell so an, dass alle in (b) als unerwnscht identizierten Spezialflle ausgeschlossen sind. Listing 1: Alloy-Modell
abstract sig Person { vater: lone Mann, mutter: lone Frau }{} sig Mann extends Person {}{} sig Frau extends Person {}{} fact azyklisch { no (^(vater + mutter) & iden)

(c)

Sommersemester 2012

10

Prof. Dr. Burkhardt Renz TH Mittelhessen


} pred show {} run show for 6

Logik und formale Methoden bungen Prdikatenlogik

32.

Behauptungen mit Alloy prfen Betrachten das Alloy-Modell in Listing 1. Prfen Sie die im Folgenden aufgestellten Behauptungen. (a) (b) Die Formulierungen von fact azyklisch in Listing 1 und Listing 2 sind quivalent. Fr jede binre Relation r gilt, dass die Aussagen in Listing 3 und Listing 4 quivalent sind. Listing 2: Alternative Formulierung fr fact azyklisch
fact azyklisch{ all p:person | not p in p.^(vater + mutter) }

Listing 3: Aussage
no ^r & iden

Listing 4: Aussage
no x:univ | x in x.^r

33.

Funktionen (a) Modellieren Sie in Alloy: (b) Eine Funktion f : X Y ordnet jedem Element des Denitionsbereichs X ein Element des Wertebereichs Y zu f heit injektiv, wenn fr alle x, x1 aus X mit x $ x1 gilt: f pxq $ f px1 q. f heit surjektiv, wenn fr alle y aus Y mindestens ein x aus X existiert mit f pxq  y .

berprfen Sie mit Hilfe des Alloy-Analyzers, ob fr f : X g f gilt:

Y, g : Y Z, h :

Wenn f und g surjektiv sind, dann ist auch h surjektiv. Wenn f oder g injektiv sind. dann ist auch h injektiv.

(c)

berprfen Sie mit Hilfe des Alloy-Analyzers, ob fr f : X g f auch gilt: Wenn f oder g surjektiv ist, dann ist auch h surjektiv. Wenn f oder g injektiv ist, dann ist auch h injektiv.

Y, g : Y Z, h :

(d)

Finden Sie mit Hilfe des Alloy-Analyzers heraus, ob zu jedem f, das injektiv und surjektiv ist, eine Funktion g : Y X existiert mit: f g  idX g f  idY g ist injektiv

Sommersemester 2012

11

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

g ist surjektiv

(idA bezeichnet die Identitt auf A, d.h. die Abbildung idA : A A mit: idA paq  a fr alle a A.) 34. Join-Operator berprfen Sie mit Hilfe des Alloy-Analyzers, (a) (b) ob der Operator . (Dot-Join) assoziativ ist. ob die Reihenfolge bei der gemeinsamen Anwendung der Operatoren und egal ist. Mit anderen Worten gilt stets prq prq?

35.

HashSets (a) Modellieren Sie das Verhalten der Klasse HashSet<E> aus dem Package java.util in Alloy. Es gengt, folgende Methoden im Modell zu betrachten: (b) HashSet<E>() HashSet<R>(HashSet<E>) add(E object) clear() remove(E object)

berprfen Sie mit Hilfe des Alloy-Analyzers: Fr jede HashSet wird hchstens ein Mal einer der beiden Konstruktoren aufgerufen. Der Aufruf der add- oder remove-Operation fhrt zu einer Vernderung an mindestens einer HashSet. Es ist mglich, eine HashSet zu konstruieren, die alle Elemente aus E enthlt.

36.

Bume, Graphen, Relationen (a) (b) Modellieren Sie das Konzept eines Baums in Alloy. Ein aufspannender Baum S (spanning tree) eines Graphen G ist ein Baum, der alle Knoten von G berdeckt. Modellieren Sie das Konzept eines aufspannenden Baums in Alloy. Erstellen Sie mit Hilfe von Alloy ein Beispiel fr einen Graphen mit zwei verschiedenen aufspannenden Bumen.

(c)

37.

Drei gewinnt Betrachten das Spiel Drei gewinnt. Ein anderer bekannter Name fr dieses Spiel ist Tic Tac Toe. (a) (b) Modellieren Sie den Verlauf von Partien des Spiels Drei gewinnt in Alloy. berprfen Sie mit Hilfe des Alloy-Analyzers, ob eine Partie Drei gewinnt und einem unentschieden enden: muss kann
12

Sommersemester 2012

Prof. Dr. Burkhardt Renz TH Mittelhessen

Logik und formale Methoden bungen Prdikatenlogik

(c)

Sowohl fr den weien als auch fr den schwarzen Spieler gibt es eine Strategie, mit der er sicherstellen kann, dass er nicht verliert. (Der Spieler, der als erster setzen darf, heit weier Spieler. Der Spieler, der als zweiter setzen darf, heit schwarzer Spieler.) Formulieren Sie fr einen der beiden Spieler eine solche Strategie in Alloy. berprfen Sie, ob die Strategie die gewnschte Eigenschaft hat.

Rev 5.2 15. Mai 2012

Sommersemester 2012

13