Übungen zu ”Grundlagen der Logik in der Informatik” - WS16/17 1/5 Übungen zu ”Grundlagen der Logik in der Informatik” WS16/17 Montag 14:15-15:45, Martenstr. 3, Raum 00.152-113 Daniel Hausmann [email protected] Friedrich-Alexander-Universität Erlangen Department Informatik Lehrstuhl 8 December 12, 2016 Übungen zu ”Grundlagen der Logik in der Informatik” - WS16/17 | Wiederholung | Wiederholung aus der Vorlesung 2/5 Prädikatenlogische Signatur Sei V abzählbar unendliche Menge von Variablen. Signatur Σ = (PΣ , FΣ ): Menge PΣ von Prädikatensymbolen, Menge FΣ von Funktionssymbolen. Schreibe s/n ∈ Σ für n-stelliges s ∈ PΣ ∪ FΣ . Funktionssymbol c/0 ∈ Σ heißt Konstante; nullstellige Prädikatensymbole: aussagenlogische Atome. Syntax der Prädikatenlogik erster Stufe Terme: Formeln: E ::= x | f (E1 , . . . , En ) φ ::= (E = D) | P(E1 , . . . , En ) | ¬φ | φ1 ∧ φ2 | ∀x(φ) wobei x ∈ V , f /n ∈ Σ und P/n ∈ Σ. ∃x(φ) := ¬∀x(¬φ), ⊥ ≡ ¬∀x(x = x), φ → ψ ≡ ¬φ ∨ ψ, etc. Übungen zu ”Grundlagen der Logik in der Informatik” - WS16/17 | Übungsblatt 8 | Aufgabe 1 (Präsenzaufgabe) 3/5 Aufgabe 1 - Peano-Arithmetik Die über Operationen +, ×, s und der Konstanten 0 formulierten Axiome lauten wie folgt (wobei PA7 eine Axiomenschema ist): PA1 . ∀x(¬(0 = s(x))); PA2 . ∀x((s(x) = s(y )) → (x = y )); PA3 . ∀x(x + 0 = x); PA4 . ∀x, y (x + s(y ) = s(x + y )); PA5 . ∀x(x × 0 = 0); PA6 . ∀x, y (x × s(y ) = x × y + x); PA7 . ∀y1 , . . . , yn (φ(0, y1 , . . . , yn ) ∧ ∀x((φ(x, y1 ,. . . , yn ) → φ(s(x), y1 , . . . , yn ))) → ∀x(φ(x, y1 , . . . , yn )) . Formalisieren Sie die folgenden Aussagen in Logik erster Stufe. Eine Zahl ist kleiner als eine weitere Zahl; eine Zahl ist Quadratwurzel einer weiteren Zahl; eine Zahl teilt eine weitere Zahl. “Es gibt unendlich viele Zahlen, die Quadratwurzeln sind.” “Es ist nicht möglich, eine Zahl c 5 in zwei Zahlen a5 und b 5 zu zerlegen, so dass a5 + b 5 = c 5 gilt.” Übungen zu ”Grundlagen der Logik in der Informatik” - WS16/17 | Übungsblatt 8 | Aufgabe 2 (Präsenzaufgabe) 4/5 Freie Variablen Die Mengen FV (E ) und FV (φ) der freien Variablen eines Terms E bzw. einer Formel φ sind rekursiv definiert durch [n FV (x) = {x} FV (f (E1 , . . . , En )) = FV (Ei ) i=1 [n FV (¬φ) = FV (φ) FV (P(E1 , . . . , En )) = FV (Ei ) i=1 FV (∀x(φ)) = FV (φ) \ {x} FV (φ ∧ ψ) = FV (φ) ∪ FV (ψ) FV (E = D) = FV (E ) ∪ FV (D) Aufgabe 2 Berechnen Sie für die folgende Formel die Mengen der freien Variablen: (∀x((P(x) ∧ ∃x(P(y ))))) ∧ ∃y (Q(x)). Übungen zu ”Grundlagen der Logik in der Informatik” - WS16/17 | Übungsblatt 8 | Aufgabe 3 (Präsenzaufgabe) 5/5 Aufgabe 3 - Variablensubstitution (Prädikatenlogik) Eine Substitution ist eine Funktion, die Variablen auf Terme abbildet. Schreibweise: [E1 /x1 , . . . , En /xn ]. Definiere für Formeln φ, Ausdrücke E und Substitionen σ das Ergebnis φσ bzw. E σ der Anwendung von σ rekursiv: xσ = σ(x) f (E1 , . . . , En )σ = f (E1 σ, . . . , En σ) f /n ∈ Σ (E = D)σ = (E σ = Dσ) (¬φ)σ = ¬(φσ) (φ ∧ ψ)σ = (φσ ∧ ψσ) (∀x(φ))σ = ∀y (φσ 0 ), wobei σ 0 (x) = y , σ 0 (z) = σ(z) für jedes z 6= x, und y ∈ / FV (σ(z)) für alle z ∈ FV (∀x(φ)). Berechnen Sie die folgende Substitution: ((∀x(R(x, y ))) ∧ Q(y ))[c/x, f (x, y )/y , c/z].