Übungen zu ”Grundlagen der Logik in der Informatik” - WS15/16 1/6 Übungen zu ”Grundlagen der Logik in der Informatik” WS15/16 Donnerstag 14:15-15:45, Cauerstraße 7/9, Raum 0.154-115 Freitag 14:15-15:45, Martenstr. 3, Raum 02.134-113 Daniel Hausmann [email protected] Friedrich-Alexander-Universität Erlangen Department Informatik Lehrstuhl 8 November 18, 2015 Übungen zu ”Grundlagen der Logik in der Informatik” - WS15/16 | Wiederholung | Widerholung aus der Vorlesung 2/6 Beweis-Regeln des Fitch-Kalküls (Konjunktion, Negation, Falsum) Notation: Wir schreiben Φ ` ϕ, wenn ϕ per Regeln aus Annahmen in Φ (Φ Menge von Formeln) rein syntaktisch herleitbar ist. (∧I ) ϕ ψ ϕ∧ψ (¬I ) (⊥I ) (∧E1 ) ϕ`⊥ ¬ϕ ¬ϕ ϕ ⊥ ϕ∧ψ ϕ (∧E2 ) (¬E ) ¬¬ϕ ϕ (⊥E ) ⊥ ϕ ϕ∧ψ ψ Übungen zu ”Grundlagen der Logik in der Informatik” - WS15/16 | Wiederholung | Widerholung aus der Vorlesung Beweis-Regeln des Fitch-Kalküls (Disjunktion, Implikation) (∨I1 ) ϕ ϕ∨ψ (∨I2 ) (→ E ) ψ ϕ∨ψ ϕ→ψ ψ (∨E ) ϕ ϕ`χ (→ I ) ψ`χ χ ϕ`ψ ϕ→ψ Satz (Korrektheit und Vollständigkeit des Fitch-Kalküls) Für alle Mengen von Formeln Φ und alle Formeln φ, Φ |= ψ ⇔ Φ ` ψ. ϕ∨ψ 3/6 Übungen zu ”Grundlagen der Logik in der Informatik” - WS15/16 | Übungsblatt 4 | Aufgabe 1 (Präsenzaufgabe) Aufgabe 1 - Beweise in Fitch Beweisen Sie folgende aussagenlogische Formeln im Fitch-Kalkül: 1 ¬A → (A → B) 2 (A → (B ∧ C )) → (A → B) 3 (A ∧ (B → ¬A)) → (A ∧ ¬B) 4/6 Übungen zu ”Grundlagen der Logik in der Informatik” - WS15/16 | Übungsblatt 4 | Aufgabe 2 (Präsenzaufgabe) Aufgabe 2 - Beweise in Coq Wir betrachten den folgenden Beweis von (q → p) → (¬p → ¬q): 1 Require Import Classical_Prop. (** Lemmas für klassische Logik *) Parameters p q : Prop. (** Deklaration aussagenlogischer Variablen p und q *) (** T1 ist der Name des Theorems *) (** Anfang des Beweises **) 2 3 4 5 6 7 8 9 10 11 12 13 Theorem T1 : (q->p)->(~p->~q). Proof. intro A. intro B. intro C. assert p as D. apply A; exact C. apply B; exact D. Qed. (** Ende des Beweises **) Die Namen A, B und C werden als Bezeichnungen für die Zwischenschritte verwendet; intro, apply, assert und exact sind Taktiken, ähnlich zu Fitch-Regeln. 5/6 Übungen zu ”Grundlagen der Logik in der Informatik” - WS15/16 | Übungsblatt 4 | Aufgabe 2 (Präsenzaufgabe) 6/6 Aufgabe 2 - Beweise in Coq Lesen Sie das Coq-Cheat-Sheet von Andrej Bauer, und identifizieren Sie die Einführungs- und Eliminations-Regeln des Fitch-Kalküls als Coq-Taktiken (bzw. einfache Kombinationen davon) wie im Kapitel “Basic Tactics” beschrieben. Formalisieren Sie die Beweise aus Aufgabe 1 in Coq. Fitch-Regel Coq-Taktik ∧I split ∧E1 destruct H as [H0 ]; exact H0. ∧E2 destruct H as [ H0]; exact H0. ∨I1 left; exact H. ∨I2 right; exact H. ∨E destruct H as [L|R]; apply H0; exact L; apply H1; exact L. →I intro →E apply H; exact H0. ¬I intro ¬E apply NNPP. ⊥I apply H; exact H0. ⊥E contradiction.