Blatt 9 - userpages

Werbung
Universität Koblenz-Landau
FB 4 Informatik
Prof. Dr. Viorica Sofronie-Stokkermans
2
Dipl.-Inform. Markus Bender ∗
∗1
19.06.2013
Übung zur Vorlesung Logik für Informatiker
Aufgabenblatt 9
Abgabe bis 24.06.13, 13:00 s.t.
Aufgabe 9.1
Sei Σ = (Ω, Π) eine Signatur, wobei Ω = {0/0, s/1, +/2} und Π = {≈/2}.
Ferner sei X eine Menge von Variablen x, y ∈ X.
Gegeben sind die folgenden Strukturen A1 , A2 und Belegungen β1 , β2 :
• A1 =
(N, {0A1 , sA1 : N → N, +A1 : N × N → N}, {≈A1 }) mit
– 0A1 = 0 ∈ N
– sA1 (n1 ) = n1 + 1 ∈ N
– +A1 (n1 , n2 ) = n1 + n2 ∈ N
• A2 =
({a, b}∗1 , {0A2 , sA2 : {a, b}∗ → {a, b}∗ , +A2 : {a, b}∗ × {a, b}∗ → {a, b}∗ }, {≈A2 }) mit
– 0A2 = ∈ {a, b}∗
– sA2 (w) = wa ∈ {a, b}∗
– +A2 (w1 , w2 ) = w1 w2 ∈ {a, b}∗ (Konkatenation)
• β1 : X → N, definiert durch β1 (x) = 9, β1 (y) = 103
• β2 : X → {a, b}∗ , definiert durch β2 (x) = abb, β2 (y) = • β3 : X → {a, b}∗ , definiert durch β3 (x) = ab, β3 (y) = a
Evaluieren Sie
I) A(β)(x + y ≈ y + x),
II) A(β)(∀x∀y(x + y ≈ y + x)),
für
a) A = A1 und β = β1 ,
b) A = A2 und β = β2 ,
c) A = A2 und β = β3 .
Gehen Sie dabei in klaren und leicht nachvollziehbaren Schritten vor.
1
Die Menge aller Worte über dem Alphabet {a, b} (inklusive des leeren Wortes )
Aufgabe 9.2
Sei Σ = (Ω, Π) eine Signatur, wobei Ω = {f /1, g/2} und Π = {p/1, ≈/2}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Gegeben sind die Struktur A und die Belegung β:
• A = (R, {fA : R → R, gA : R × R → R}, {pA , ≈A }) mit
– fA (n) = n2 ∈ R
– gA (n1 , n2 ) = n1 + n2 ∈ R
– pA ⊆ R, n ∈ pA iff n ≥ 0
• β : X → R, definiert durch β(x) =
√
2, β(y) = −1
Evaluieren Sie
a) A(β)(g(f (x), f (y)))
b) A(β)(∀x p(f (x)))
c) A(β)(∀y((f (x) ≈ y) → p(g(x, y))))
d) A(β)(∀x∀y((x ≈ y) → (f (x) ≈ f (y))))
e) A(β)(∀x∀y((f (x) ≈ f (y)) → (x ≈ y)))
Aufgabe 9.3
Seien F, G beliebige wohlgeformte Formeln der Prädikatenlogik in denen die Variable x
vorkommt. Sei H eine beliebige wohlgeformte Formel der Prädikatenlogik in der x nicht
vorkommt.
Beweisen oder widerlegen Sie folgende Aussagen:
a) ∀x(F ∧ G) ≡ (∀x F ) ∧ (∀x G)
b) ∃x(F ∧ G) ≡ (∃x F ) ∧ (∃x G)
c) ∀x(F ∧ G) |= (∀x F ) ∨ (∀x G)
d) ∃x(F ∧ H) ≡ (∃x F ) ∧ H
Aufgabe 9.4
Sei Σ = (Ω, Π) eine Signatur mit Ω = {c/0, g/1, f /2} und sei X eine Menge von
Variablen.
Seien die folgenden Funktionen auf Termen, wie folgt definiert:
Für jeden Term t ∈ TΣ (X):


1
wenn t ∈ X



1
wenn t = c
Länge(t) :=

1 + Länge(t1 )
wenn t = g(t1 )



1 + Länge(t ) + Länge(t ) wenn t = f (t , t )
1
2
1 2


1
wenn t ∈ X



0
wenn t = c
Var(t) :=

Var(t1 )
wenn t = g(t1 )



Var(t ) + Var(t ) wenn t = f (t , t )
1
2
1 2
Zeigen sie mit Hilfe der Strukturellen Induktion über den Aufbau von TΣ (X), dass für
jeden Term t ∈ TΣ (X):
Var(t) ≤ Länge(t).
Aufgabe 9.5
Die Datei allgroups/aufgaben/blatt09.pl gibt Ihnen ein Beispiel, wie man in Prolog
pattern-matching gegen komplexere Zeichenketten verwenden kann.
Wir betrachten die Menge Ω = {a/0, b/0, c/0, d/0, e/0, f /1, g/2, h/2, i/3} von Funktionssymbolen und die Menge X = {u, v, w, x, y, z} an Variablen.
In der Datei allgroups/aufgaben/blatt09.pl sind bereits die Prologprädikate
istKonstante(X) und istVariable(X) vorgegeben, die dann wahr sind, wenn X eine Konstante, respektive eine Variable nach der gegebenen Definition ist.
a) Schreiben Sie ein Prologprädikat istTerm(Element), das genau dann wahr ist, wenn
das Element Element ein syntaktisch korrekter Term mit den Funktionen in Ω und den
Variablen in X ist.
b) Schreiben Sie ein Prologprädikat substituiere(Neu,Alt,AlterTerm,NeuerTerm), das
alle Vorkommen der Variablen Alt in dem Term AlterTerm durch den Term Neu ersetzt
und den neuen Term in der Variable NeuerTerm ausgibt.
Dieses Prologprädikat soll die Substitution in der Prädikatenlogik simulieren, achten
Sie also entsprechend darauf, die entsprechenden Randbedingungen zu einzuhalten.
Verwenden Sie dabei weder Arithmetik, noch builtin-Prologprädikate.
∗1
∗2
B 225
B 224
[email protected]
[email protected]
www.uni-koblenz.de/~sofronie
www.uni-koblenz.de/~mbender
Bitte beachten Sie die Modalitäten zur Abgabe, die Sie unter http://userp.uni-koblenz.de/~mbender/
ss13logic.html einsehen können.
Herunterladen