Blatt 3 - userpages

Werbung
Universität Koblenz-Landau
FB 4 Informatik
1
Prof. Dr. Viorica Sofronie-Stokkermans∗
2
Dipl.-Inform. Markus Bender∗
05.05.2017
Übung zur Vorlesung Logik für Informatiker
Aufgabenblatt 3
Abgabe bis 12.05.2017, 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 mithilfe 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) Eine Zahl ist durch 2 teilbar genau dann, wenn sie gerade ist.
II) Wenn eine Zahl durch 2 und durch 3 teilbar ist, ist sie durch 6 teilbar.
III) Wenn eine Zahl prim ist, ist sie weder durch 2 noch durch 3 teilbar.
IV) Eine Zahl ist prim oder nicht prim.
Aufgabe 3.3
Sei Π = {P, Q, R} eine Menge von Aussagenvariablen und F die folgenden Formel über Π:
F =
↔ R → (Q ∧ P )
¬P ∨ (Q → R) → R ∨ P
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 mithilfe der Wahrheitstabelle aus a) ob F erfüllbar, unerfüllbar, tautologisch ist.
c) Gegeben die Formel G = Q ∨ ¬R über Π. Untersuchen Sie mithilfe der Wahrheitstabelle
ob F |= G gilt.
d) Gegeben die Formel H = P ∧ (Q ∨ (¬Q ∧ ¬R)) über Π. Untersuchen Sie mithilfe der
Wahrheitstabelle ob F ≡ H gilt.
e) Gegeben die Formel K = P ∧¬R über Π. Untersuchen Sie mithilfe 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 teilbarDurch(Dividend, Divisor), das genau
dann wahr ist, wenn die Variablen Dividend und Divisor positive, ganze Zahlen sind und
Dividend ohne Rest durch Divisor teilbar ist, 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 Dividend und Divisor handelt es sich um ganze Zahlen. Andere Eingaben müssen
nicht beachtet und behandelt werden.
Das Prädikat max, das bereits in sheet03.pl definiert ist, darf zur Lösung verwendet
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/
ss17logic.html einsehen können.
Bei Fragen zu Ihrer Korrektur wenden Sie sich an [email protected].
Herunterladen