Blatt 3 - userpages

Werbung
Universität Koblenz-Landau
FB 4 Informatik
1
Prof. Dr. Viorica Sofronie-Stokkermans∗
2
Dipl.-Inform. Markus Bender∗
01.05.2015
Übung zur Vorlesung Logik für Informatiker
Aufgabenblatt 3
Abgabe bis 08.05.2015, 17:00 s.t.
Aufgabe 3.1
a) Geben Sie die allgemeinste Struktur eines Beweises mit struktureller Induktion (für
Aussagenlogik) an.
b) Sei Π eine Menge von Aussagenvariablen. Seien die folgenden Funktionen auf aussagenlogischen Formeln über Π, wie folgt definiert:
Für jede aussagenlogische Formel F :


0



1 + Tiefe(F )
1
Tiefe(F ) =

1
+
max(Tiefe(F
1 ), Tiefe(F2 ))






1



1 + Länge(F )
1
Länge(F ) =
1 + Länge(F1 ) + Länge(F2 )




falls F ∈ Π ∪ {>, ⊥}
falls F = ¬F1
falls F = F1 op F2
op ∈ {∨, ∧, →, ↔}
falls F ∈ Π ∪ {>, ⊥}
falls F = ¬F1
falls F = F1 op F2
op ∈ {∨, ∧, →, ↔}
Zeigen Sie mit Hilfe der strukturellen Induktion über den Aufbau von aussagenlogischen
Formeln, dass für jede aussagenlogische Formel F mit Aussagenvariablen in Π gilt:
1 + Tiefe(F ) ≤ Länge(F ).
Aufgabe 3.2
Formalisieren Sie die folgenden Aussagen als aussagenlogische Formeln.
I) Wenn die Sonne nicht scheint, ist es kalt.
II) Wenn es regnet und kalt ist, ist die Straße glatt.
III) Wenn die Straße glatt ist oder in der Nähe Kinder spielen, muss man vorsichtig fahren.
IV) Wenn die Sonne scheint, und es regnet, gibt es einen Regenbogen.
Aufgabe 3.3
Sei Π = {A, B, C} eine Menge von Aussagenvariablen und F die folgenden Formel über Π:
F = (A → (B ∧ C)) ↔ ((¬C ∨ (B → A)) → (A ∨ C))
a) Geben Sie eine Wahrheitstabelle an, in der Sie die Wahrheitswerte für sämtliche Teilformeln von F angeben. Bedenken Sie, das auch F eine Teilformel von F ist.
b) Begründen Sie mit Hilfe der Wahrheitstabelle aus a) ob F erfüllbar, unerfüllbar, tautologisch ist.
c) Gegeben die Formel G = ¬A∨B über Π. Untersuchen Sie mit Hilfe der Wahrheitstabelle
ob F |= G gilt.
d) Gegeben die Formel H = (B ∧ C) ∨ (¬A ∧ ¬B ∧ C) über Π. Untersuchen Sie mit Hilfe
der Wahrheitstabelle ob F ≡ H gilt.
e) Gegeben die Formel K = ¬A∧C über Π. Untersuchen Sie mit Hilfe der Wahrheitstabelle
ob F |= K gilt.
Aufgabe 3.4
Machen Sie sich mit der Datei allgroups/sheets/sheet03.pl vertraut. Sie zeigt die Verwendung des Cut-Operators. Versuchen Sie durch Änderungen an der Definition des Prädikates max ein Gefühl für die Auswirkungen des Cut-Operators zu bekommen.
Erweitern Sie die Datei mit dem Prädikat teilt(Divisor, Dividend), das genau dann
wahr ist, wenn die Variablen Divisor und Dividend positive, ganze Zahlen sind und
Divisor Dividend ohne Rest teilt, d.h. bei Aufruf mit mindestens einer nicht positiven
Zahl, oder mit einer Kombination in der Dividend kein ganzzahliges Vielfaches von Divisor
ist, ist das Prädikat falsch. Wenn das Prädikat mit einer oder zwei Variablen aufgerufen
wird, soll eine Belegung der Variablen erfolgen, die das Prädikat wahr macht.
Prolog soll für jeden Aufruf exakt eine Antwort zurück geben, es gibt also keine Möglichkeit
nach weiteren Antworten zu fragen.
Bei Divisor und Dividend handelt es sich um ganze Zahlen. Andere Eingaben müssen
nicht beachtet und behandelt werden.
Sie dürfen die folgenden built-in Prädikate verwenden:
• den Cut-Operator ‘!’,
• das Prädikat ‘fail’, das immer falsch ist,
• die arithmetische Zuweisung ‘is’, und
• die arithmetischen Operatoren ‘+’ und ‘-’.
Sie dürfen auch das in der Datei definierte Prädikat max verwenden.
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/
ss15logic.html einsehen können.
Bei Fragen zu Ihrer Korrektur wenden Sie sich an [email protected].
Herunterladen