Blatt 9 - userpages

Werbung
Universität Koblenz-Landau
FB 4 Informatik
1
Prof. Dr. Viorica Sofronie-Stokkermans∗
2
Dipl.-Inform. Markus Bender∗
Übung zur Vorlesung Logik für Informatiker
Aufgabenblatt 9
Abgabe bis 30.06.2017, 17:00 s.t.
Aufgabe 9.1
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {1/0, s/1, ∗/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 = (Q,
{1A , sA : Q → Q,
∗A : Q × Q → Q},
{pA , ≈A }) mit
– 1A = 1 ∈ Q
– sA (q1 ) = q1 + 1 ∈ Q
– ∗A (q1 , q2 ) = q1 + q2 ∈ Q
– pA ⊆ Q, n ∈ pA genau dann, wenn n gerade ist
– ≈A ist die Gleichheit, d.h. ≈A = {(n, n) | n ∈ Q}
• β : X → Q, definiert durch β(x) = 11, β(y) = 7
Evaluieren Sie
I) A(β)( s(s(x) ∗ 1) ∗ y
),
II) A(β)( s(x ∗ y) ≈ s(x) ∗ 1 ),
III) A(β)( ∀ x ∀ y (s(x ∗ y) ≈ s(x) ∗ y) ),
IV) A(β)( ∃ y p(y ∗ x) ),
V) A(β)( ∀ x ∃ y
x ≈ s(y) ∧ ¬p(x) → p(y)
).
Gehen Sie dabei in klaren und leicht nachvollziehbaren Schritten vor.
23.06.2017
Aufgabe 9.2
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {1/0, s/1, ∗/2}, und
• Π = {p/1, ≈/2}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Gegeben sind die Struktur A und die Belegung β:
• Hinweis: {a, b}∗ ist die Menge aller Worte über dem Alphabet {a, b, c} (inklusive des
leeren Wortes ). Worte werden durch Verknüpfung von Buchstaben des Alphabetes
gebildet. Beispiele für Worte über dem gegebene Alphabet sind: a, b, c, aa, cb, ac, cb,
aaaaaaaacaa.
A = ({a, b}∗ ,
{1A , sA : {a, b}∗ → {a, b}∗ ,
∗A : {a, b}∗ × {a, b}∗ → {a, b}∗ },
{pA , ≈A }) mit
– 1A = ∈ {a, b}∗ (das leere Wort)
– sA (w) = wa ∈ {a, b}∗ (Konkatenation von w und a)
– ∗A (w1 , w2 ) = w1 w2 ∈ {a, b}∗ (Konkatenation)
– pA ⊆ {a, b}∗ , w ∈ pA genau dann, wenn w mit a endet
– ≈A ist die Gleichheit, d.h. ≈A = {(w, w) | w ∈ {a, b}∗ }
• β : X → {a, b}∗ , definiert durch β(x) = aa, β(y) = Evaluieren Sie
I) A(β)( s(s(x) ∗ 1) ∗ y
),
II) A(β)( s(x ∗ y) ≈ s(x) ∗ 1 ),
III) A(β)( ∀ x ∀ y (s(x ∗ y) ≈ s(x) ∗ y) ),
IV) A(β)( ∃ y p(y ∗ x) ),
V) A(β)( ∀ x ∃ y
x ≈ s(y) ∧ ¬p(x) → p(y)
).
Gehen Sie dabei in klaren und leicht nachvollziehbaren Schritten vor.
Aufgabe 9.3
Seien F, G beliebige Formeln der Prädikatenlogik in denen die Variable x vorkommt. Sei
H eine beliebige Formel der Prädikatenlogik in der x nicht vorkommt.
Beweisen oder widerlegen Sie folgende Aussagen, ohne die Theoreme zur den Äquivalenzen
auf den Folien zur Vorlesung zu nutzen:
a) (∀ x F ) ∨ (∀ x G) |= ∀ x (F ∨ 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
Hinweis: Bei dieser Aufgabe handelt es sich um die letzte reguläre Prolog-Aufgabe. Sie
sollten also sicher gehen, dass Sie die Aufgabe entsprechend ernsthaft bearbeiten.
Erstellen Sie die Wissensbasis solution09.pl, und definieren Sie in ihr die Prädikate
I) istUnsortiert(L), das genau dann wahr ist, wenn die Liste L keine monotone Liste
von ganzen Zahlen ist.
II) fuegeHinzu(E, L, NL), das genau dann wahr ist, wenn die Listen L und NL monoton
steigende Listen von Zahlen sind, und NL durch das Hinzufügen des Elements E zur
Liste L erzeugt wurde.
Sie müssen die folgenden Arten von Eingaben bei beachten:
I)
• L ist eine Liste von ganzen Zahlen mit beliebiger Länge,
• L ist eine Variable.
II)
• L ist eine Liste von ganzen Zahlen mit beliebiger Länge; E ist eine ganze Zahl;
NL ist eine Liste von ganzen Zahlen mit beliebiger Länge,
• L ist eine Liste von ganzen Zahlen mit beliebiger Länge; E ist eine ganze Zahl;
NL ist eine Variable,
• L ist eine Liste von ganzen Zahlen mit beliebiger Länge; E ist eine Variable; NL
ist eine Variable,
• L ist eine Variable; E ist eine Variable; NL ist eine Variable.
Beim Aufruf mit Variablen sollen diese entsprechend belegt werden.
Prolog soll für jeden Aufruf exakt eine Antwort zurück geben, es gibt also keine Möglichkeit
nach weiteren Antworten zu fragen.
Bis auf die folgenden Ausnahmen dürfen Sie keine built-in Prädikate und keine Arithmetik
verwenden:
• den Cut-Operator ‘!’,
• das Prädikat ‘fail’, das immer falsch ist,
• den Vergleich ‘<’, der der Relation < entspricht
• das Prädikat ‘reverse(L1, L2)’, das genau dann wahr ist, wenn L1 das Reverse von
L2 ist.
Achten Sie darauf, dass es beim Laden Ihrer Wissensbasis zu keinen Fehlern oder Warnungen kommt.
∗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/
ss17logic.html einsehen können.
Bei Fragen zu Ihrer Korrektur wenden Sie sich an [email protected].
Herunterladen