• Keine Ergebnisse gefunden

1NatürlichesSchließen Theorembeweiserpraktikum–SS2018

N/A
N/A
Protected

Academic year: 2022

Aktie "1NatürlichesSchließen Theorembeweiserpraktikum–SS2018"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

www.kit.edu

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Institut für Programmstrukturen und Datenorganisation Lehrstuhl Programmierparadigmen

Am Fasanengarten 5 76131 Karlsruhe

http://pp.ipd.kit.edu/

Theorembeweiserpraktikum – SS 2018

http://pp.ipd.kit.edu/lehre/SS2018/tba

Blatt 1: Deduktion

Abgabe: 23. April 2018, 12:00 Uhr Besprechung: 24. April 2018

1 Natürliches Schließen

In dieser Aufgabe geht es um den Kalkül des natürlichen Schließens, mit dessen Hilfe einige Lemmas der Aussagen-Logik bewiesen werden sollen (nächste Seite).

Für die Beweise gelten die folgenden Spielregeln:

Es dürfen nur die Befehleproof,assume,have,show,next,qed, undfromverwendet werden, sowie darauf aufbauende Abkürzungen wie then,with, .. und ..

Der Befehl proof darf nur als proof (rule regel) (oder als proof -) verwendet werden, wobei die Regel eine der folgenden ist: (Anzeigen der Lemmas mittelthm lemma-Name)

impI: (A =⇒ B) =⇒ A −→ B, impE: A −→ B =⇒ A =⇒ (B =⇒ C) =⇒ C,

conjI: A =⇒ B =⇒ A ∧ B, conjE: A ∧ B =⇒ (A =⇒ B =⇒ C) =⇒ C,

disjI1: A =⇒ A ∨ B, disjE:

disjI2: B =⇒ A ∨ B, A ∨ B =⇒ (A =⇒ C) =⇒ (B =⇒ C) =⇒ C,

notI: (A =⇒ False) =⇒ ¬ A, notE: ¬ A =⇒ A =⇒ B,

iffI: (A =⇒ B) =⇒ (B =⇒ A) =⇒ A ←→ B,

iffE: A ←→ B =⇒ (A −→ B =⇒ B −→ A =⇒ C) =⇒ C,

ccontr: (¬ A =⇒ False) =⇒ A classical: (¬ A =⇒ A) =⇒ A

Alle diese Regeln, außer den letzten beiden, sind als Standard-Regeln vorgegeben, das heißt der Befehl proof (rule) (oder kurz proof) wählt die passende Regel aus, auch ohne dass man sie explizit angibt. Lassen Sie nur Namen von Regeln weg, die sie zuvor zumindest einmal explizit verwendet haben.

Beispiel

lemma imp_uncurry: "(P −→ (Q −→ R)) −→ P ∧ Q −→ R"

proof (rule impI)

assume PQR: "P −→ (Q −→ R)"

show "P ∧ Q −→ R"

proof — Das(rule impI) kann wegelassen werden assume "P ∧ Q"

then have "P" by (rule conjE) with PQR

have "Q −→ R" by (rule impE)

(2)

www.kit.edu

from hP ∧ Qi

have "Q".. — Hier steht eigentlichby (rule conjE) with hQ −→ Ri

show R..

qed qed

lemma I: "A −→ A"

hsolutioni

lemma "A ∧ B −→ B ∧ A"

hsolutioni

lemma "A ∧ B −→ A ∨ B"

hsolutioni

lemma "((A ∨ B) ∨ C) −→ A ∨ (B ∨ C)"

hsolutioni

lemma K: "A −→ B −→ A"

hsolutioni

lemma "A ∨ A ←→ A ∧ A"

hsolutioni

lemma S: "(A −→ B −→ C) −→ (A −→ B) −→ A −→ C"

hsolutioni

lemma "(A −→ B) −→ (B −→ C) −→ A −→ C"

hsolutioni

lemma "¬ ¬ A −→ A"

hsolutioni

lemma "A −→ ¬ ¬ A"

hsolutioni

lemma "(¬ A −→ B) −→ (¬ B −→ A)"

hsolutioni

lemma "((A −→ B) −→ A) −→ A"

hsolutioni

lemma "A ∨ ¬ A"

hsolutioni

lemma deMorgan1: "¬ (A ∨ B) ←→ ¬ A ∧ ¬ B"

hsolutioni

lemma deMorgan2: "¬ (A ∧ B) ←→ ¬ A ∨ ¬ B"

hsolutioni

Anmerkung: Ist Ihnen bei den Beweisen der De Morgan-Regeln etwas aufgefallen?

2

Referenzen

ÄHNLICHE DOKUMENTE

Um einen Beweisschritt in einem Unterbeweis zu ¨uberpr¨ufen, kann man einen vorangegangenen Schritt im Hauptbeweis oder in jedem Unterbeweis, dessen Annahmen noch g¨ultig

3 Wenn Sie meinen, dass die Konklusion nicht folgt oder sich nicht sicher sind, versuchen Sie, ein Gegenbeispiel zu finden.. 4 Wenn Sie meinen, dass die Konklusion folgt, versuchen

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe 20166. Geben Sie jeweils in der Notation aus der Vorlesung auf Folie 11 die Zustände an den Positionen

In dieser Aufgabe geht es um den Kalkül des natürlichen Schließens, mit dessen Hilfe einige Lemmas der Aussagen-Logik bewiesen werden sollen (nächste Seite). Für die Beweise gelten

Wir beweisen jetzt ein fundamentales Theorem über die Interaktion zwischen Auswertung und Substitution: wenn man eine Substitution s auf einen Ausdruck a anwendet und dann mittels

Die Definition sollte so nahe wie möglich am Euklid’schen Algorithmus sein: man zieht solange die kleinere von der größeren Zahl ab, bis eine der beiden Zahlen 0 ist; dann ist

Um mit beliebig großen Zahlen rechnen zu können, müssen die entsprechenden arithmetischen Operationen er- weitert werden, um auf abstrakten Datentypen, welche Zahlen beliebiger

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft. Institut für Programmstrukturen und Datenorganisation