WS 2013/2014 10.12.2013 Ubungen zur Vorlesung¨
B¨aume, Ordnungen und Anwendungen Blatt 8
Juniorprof. Dr. Roland Meyer Abgabe bis 17.12.2013 um 14h Aufgabe 8.1 (Array-Bound-Analyse)
Angenommen, Sie untersuchen ein Programm, das auf einem Array mit ganzen Zahlen arbeitet. Sie wollen wissen, ob das Programm die Grenzen des Arrays respektiert. Das Programm verwaltet einen Zeiger, ¨uber den es auf einzelne Elemente des Arrays zugreifen kann. Der Datenbereich des Programms ist also Z∗×Z. F¨ur die Analyse ist nur der Abstand des Zeigers von den R¨andern des Arrays von Bedeutung. Ist dieser Abstand negativ, so ist eine Arraygrenze ¨uberschritten worden. Weiterhin ist es nur n¨otig, das Verhalten nahe der Grenze zu untersuchen.
Geben Sie einen endlichen vollst¨andigen VerbandM an, der eine Array-Bound-Analyse erm¨oglicht. Geben Sie außerdem eine Galoisverbindung von L:=P(Z∗×Z) nachM an.
Hinweis: Beschreiben Sie Ihre Galoisverbindung m¨oglichst einfach, indem Sie einfachere Verbindungen kombinieren und Extraktionsfunktionen verwenden.
Aufgabe 8.2 (Galois-Verbindungen)
Betrachten Sie als Datenbereich die Menge{0,1}k, also Bin¨arstrings der L¨angek. Geben Sie eine Extraktionsfunktion an, die diesen Datenbereich nach ganz Zabbildet. Welchen abstrakten Datenbereich w¨urden Sie benutzen, um Integer- ¨Uberl¨aufe zu erkennen?
Aufgabe 8.3 (Produkte von Galoisverbindungen) Zeigen Sie:
1. Seien (Li,≤i) vollst¨andige Verb¨ande f¨ur i ∈ {1,2,3} und seien αi, γi Galoisver- bindungen f¨ur i ∈ {1,2} mit αi : Li → Li+1 und γi : Li+1 → Li. Dann ist (α2◦α1, γ1◦γ2) eine Galoisverbindung zwischen (L1,≤1) und (L3,≤3).
2. Seien αi, γi Galoisverbindungen f¨ur i ∈ {1,2} mit αi : P(Vi) → P(Di) und γi : P(Di)→P(Vi). Dann ist (α, γ) eine Galoisverbindung mit
α:P(V1×V2)→P(D1×D2) α(V0) =G
{α1({v1})×α2({v2})|(v1, v2)∈V0} γ :P(D1×D2)→P(V1×V2) γ(D) ={(v1, v2)|α1(v1)×α2(v2)⊆D}.
3. Seien αi, γi Galoisverbindungen f¨ur i ∈ {1,2} mit αi : P(V) → P(Di) und γi : P(Di)→P(V). Dann ist (α, γ) eine Galoisverbindung mit
α:P(V)→P(D1×D2) α(V0) =G
{α1({v})×α2({v})|v∈V0} γ :P(D1×D2)→P(V) γ(D) ={v |α1(v)×α2(v)⊆D}.
Hinweis: F¨ur 3. brauchen Sie den Beweis aus 2. nicht noch einmal zu f¨uhren.
Abgabe bis 17.12.2013 um 14h im Kasten neben Raum 34-401.4