Blatt 3 - Informatik Uni Leipzig

Werbung
Aufgabenblatt 3
Sommersemester 2009
Markus Lohrey
Übungen zur Vorlesung Verifikation unendlicher Systeme
1. Der Euklidische Algorithmus zur Berechnung des größten gemeinsamen Teilers zweier Zahlen x, y ∈ N kann wie folgt als rekursive Prozedur umgesetzt werden:
integer x, y (dies sind globale Variablen)
main{
integer z (eine lokale Variable)
if x < y then
z := x; x := y; y := z;
call(main)
elseif y = 0 then
return
else
z := x mod y; x := y; y := z;
call(main)
endif
}
Hierbei bezeichnet x mod y den ganzahligen Rest bei Division von
x durch y. Der größte gemeinsame Teiler von x und y ist der Wert
der globalen Variablen x am Ende. Übersetzen Sie dieses Programm
in ein Pushdownsystem in der moped-Notation und testen Sie Ihre
moped-Implementierung für selbst gewählte Eingabewerte.
2. Es seien A1 = (A1 , I1 ) und A2 = (A2 , I2 ) automatische Strukturen
über der gemeinsamen Signatur S = (R, arity). Definiere die Struktur
A1 × A2 = (A1 × A2 , I) wobei für alle r ∈ R (mit n = arity(r)) gilt:
I(r) = {h(a1 , b1 ), . . . , (an , bn )i | (a1 , . . . , an ) ∈ I1 (r), (b1 , . . . , bn ) ∈ I2 (r)}.
Dies ist das direkte Produkt von A1 und A2 . Zeigen Sie, dass A1 × A2
wieder automatisch ist.
3. Es sei A = (A, I) eine automatische Struktur über der Signatur S =
(R, arity). Sei ϕ(x, y) ∈ FO(S) eine Formel der Logik 1.Stufe, so dass
die binäre Relation
≡ = {(a, b) ∈ A × A | A |= ϕ(a, b)}
eine Äquivalenzrelation auf A ist. Wir definieren den Quotienten A/ϕ =
(B, J) wie folgt:
• B = {[a]≡ | a ∈ A} ist die Menge aller Äquivalenzklassen bezüglich
≡.
• Sei r ∈ R, arity(r) = n. Dann gilt ([a1 ]≡ , . . . , [an ]≡ ) ∈ J(r)
genau dann, wenn es ein (a′1 , . . . , a′n ) ∈ I(r) mit ai ≡ a′i für alle
1 ≤ i ≤ n gibt.
Zeigen Sie, dass A/ϕ wieder automatisch ist.
4. Zeigen Sie, dass (Q, ≤) eine automatische Struktur ist.
Hinweis: Sie können den Satz von Cantor benutzen: Jede lineare Ordnung (A, ≤) mit den folgenden Eigenschaften ist isomorph zu (Q, ≤).
• A ist abzählbar-unendlich.
• A hat kein größtes sowie kein kleinstes Element: ∀a ∈ A∃b, c ∈
A:b<a<c
• A ist dicht: ∀a, b ∈ A : a < b → ∃c ∈ A : a < c < b
Herunterladen