4.0 VU Theoretische Informatik und Logik Teil 1 und 2 Matrikelnummer SS 2010 Familienname 4. November 2010 Vorname Lösung Gruppe A 1.) Beweisen Sie: Die Sprache {an bm cm | n, m ≥ 1} ∪ {bn cm | n, m ≥ 1} ist nicht regulär. (8 Punkte) Lösung: Die folgende gsm bildet die Sprache {an bm cm | n, m ≥ 1} ∪ {bn cm | n, m ≥ 1} auf die Sprache {an bn | n ≥ 0} ab: c/ε b/ε, ? j m q2 6 b/ε a/ε, b/a, c/b ? } a/ε - m j q0 q1 2.) Geben Sie einen regulären Ausdruck in egrep-Notation an, der Datensätze einer Personaldatenbank auf Korrektheit überprüft. Ein Datensatz besteht dabei aus folgenden Feldern (in dieser Reihenfolge), die jeweils durch einen Strichpunkt (;) getrennt sind: (a) Tag des Geburtsdatums (zwei Ziffern, zwischen 01 und 31) (b) Monat des Geburtsdatums (zwei Ziffern, zwischen 01 und 12) (c) Jahr des Geburtsdatums (vier Ziffern, zwischen 1900 und 1999) (d) Vorname (beliebig viele Großbuchstaben, mindestens einer) (e) Nachname (beliebig viele Großbuchstaben, mindestens einer) (f) Gehalt (beliebige natürliche Zahl oder 0) Hinweis: Es muss dabei nicht überprüft werden, ob der entsprechende Tag tatsächlich auch im Monat existiert (ein Geburtsdatum wie “30. Februar 1999” wäre also korrekt). Einige Beispiele für korrekte Datensätze, auf die Ihr regulärer Ausdruck passen sollte: – 06;12;1989;GUSTAV;MUELLER;10839 – 19;04;1971;MARIA;SCHMIDT;19380 – 30;02;1965;HERBERT;MAIER;29482 Einige Beispiele für falsche Datensätze, auf die Ihr regulärer Ausdruck nicht passen sollte: – 99;03;1989;WOLFGANG;KOLARIC;21381 – LUKAS;SCHMIDT;1971;12;08;19380 – 07;06;1955;JOHANNES;THORSTEN;SCHNEIDER – ;;;;; – MICHAEL (7 Punkte) Lösung: ^([0-2][1-9]|[1-3]0|31);(0[1-9]|1[0-2]);19[0-9][0-9];[A-Z]+;[A-Z]+;([1-9][0-9]*|0)$ 3.) Eine Sprache L ist genau dann linear, wenn eine Grammatik G mit L(G) = L existiert, wobei die Produktionen der Grammatik G von einer der Formen A → uBw, A → w oder A → ε mit A, B ∈ N und u, w ∈ T ∗ sind. Beweisen Sie, dass die Familie der regulären Sprachen eine echte Teilmenge der Familie der linearen Sprachen ist. (9 Punkte) Lösung: Jede reguläre Sprache ist linear, da zu jeder regulären Sprache eine reguläre Grammatik existiert und jede reguläre Grammatik auch linear ist. Umgekehrt ist allerdings etwa die lineare Sprache {an bn | n ≥ 0} (lineare Grammatik: G = h{A}, {a, b}, {A → aAb | ε}, Ai) nicht regulär. 4.) Es sei die Sprache L definiert als die kleinste Sprache, für die gilt: – b ist in L. – Wenn u und w in L sind, so ist auch auw in L. Geben Sie eine kontextfreie Grammatik an, die die Sprache L erzeugt. (3 Punkte) Lösung: G = h{A}, {a, b}, {A → b | aAA}, Ai 5.) Geben Sie an, in welcher Beziehung die folgenden Paare von Aussagen über formale Sprachen miteinander stehen. (Zwei Punkte für richtige Antworten mit richtiger Begründung, einen Punkt für richtige Antworten mit leicht fehlerhafter Begründung, keinen Punkt für falsche Antworten oder fehlerhafte Begründungen.) – Aussage A: “L ist regulär.” Aussage B: “L wird durch eine kontextfreie Grammatik erzeugt.” × 2 A ⇒ B 2 B ⇒ A 2 A ⇔ B 2 keine Beziehung zwischen A und B Lösung: Eine reguläre Sprache ist aufgrund der Chomsky-Hierarchie auch kontextfrei und wird daher auch von einer kontextfreien Grammatik erzeugt. – Aussage A: “L wird durch eine monotone Grammatik erzeugt.” Aussage B: “L ist endlich.” 2A⇒B× 2 B ⇒ A 2 A ⇔ B 2 keine Beziehung zwischen A und B Lösung: Eine endliche Sprache ist stets regulär, aufgrund der Chomsky-Hierarchie auch monoton und wird daher von einer monotonen Grammatik erzeugt. – Aussage A: “L ist kontextfrei.” Aussage B: “L enthält mindestens ein Wort.” 2A⇒B 2B⇒A2A⇔B× 2 keine Beziehung zwischen A und B Lösung: Es gibt Sprachen, die mindestens ein Wort enthalten und nicht kontextfrei sind; umgekehrt ist die leere Sprache endlich, daher regulär und kontextfrei. – Aussage A: “L ist regulär.” Aussage B: “Das Komplement von L ist linear.” × 2 A ⇒ B 2 B ⇒ A 2 A ⇔ B 2 keine Beziehung zwischen A und B Lösung: Das Komplement jeder regulären Sprache ist wiederum regulär und daher gemäß Aufgabe 3 auch linear. Umgekehrt ist etwa die Sprache {an bm | n, m ≥ 1, n 6= m} ∪ {{a, b}∗ ba{a, b}∗ } linear (Grammatik: h{A, B, C, D, E}, {a, b}, {A → D | aAb | aB | Cb, B → aB | ε, C → Cb | ε, D → EbaE, E → aE | bE | ε}, Ai), ihr Komplement {an bn | n ≥ 0} ist jedoch nicht regulär. (8 Punkte) 6.) Für vier Flags, nummeriert von 1 bis 4, gelten folgende Bedingungen: (a) Wenn kein gerades Flag (2,4) gesetzt ist, dann mindestens ein ungerades (1,3). (b) Wenn Flag 2, aber nicht Flag 3 gesetzt ist, dann ist Flag 1 gesetzt. (c) Es stimmt nicht, dass Flag 1 gesetzt ist. Formulieren Sie einen ausagenlogischen Sequenten der ausdrückt, dass aus den 3 Bedingungen logisch folgt, dass wenigstens ein Flag gesetzt ist. Verwenden Sie dabei vier aussagenlogische Variable S1, S2, S3 und S4, wobei Si für “Flag i ist gesetzt” steht. (5 Punkte) Lösung: (¬S2 ∧ ¬S4) ⊃ (S1 ∨ S3), (S2 ∧ ¬S3) ⊃ S1, ¬S1 ` S1 ∨ S2 ∨ S3 ∨ S4 7.) Verwenden Sie das Resolutionsverfahren um entweder einen Beweis oder ein Gegenbeispiel zur Behauptung zu finden, dass folgende Formel F logisch gültig ist: (A ∧ ¬B) ⊃ (¬C ⊃ A) (8 Punkte) Lösung: Zunächst ist die Formel ¬F in eine KNF zu transformieren: ¬F = ¬((A ∧ ¬B) ⊃ (¬C ⊃ A)) = ¬(¬(A ∧ ¬B) ∨ (¬C ⊃ A)) = ¬(¬(A ∧ ¬B) ∨ (¬¬C ∨ A)) = ¬(¬(A ∧ ¬B) ∨ (C ∨ A)) = ¬¬(A ∧ ¬B) ∧ ¬(C ∨ A)) = (A ∧ ¬B) ∧ ¬(C ∨ A) = (A ∧ ¬B) ∧ (¬C ∧ ¬A) Es ergibt sich die Klauselmenge {{A}, {¬B}, {¬C}, {¬A}}. Die leere Klausel {} ist eine Resolvente der ersten ({A}) und der vierten Klausel ({¬A}). Daher ist ¬F unerfüllbar und somit F logisch gültig. 8.) Geben Sie ein Modell I und ein Gegenbeispiel J , jeweils mit dem Gegenstandsbereich der natürlichen Zahlen, zu folgender Formel über der Signatur h{f }, {Q}, {c}i an: (∀x)Q(y, f (c, x)) ⊃ (∃y)Q(y, z) Beide Interpretationen sind vollständig gemäß Definition 4.6 zu spezifizieren. Erklären Sie kurz warum die Formel unter den von Ihnen spezifizierten Interpretationen wahr bzw. falsch ist. Beantworten Sie außerdem folgende Frage: Welche Variablen kommen in der Formel frei vor? (7 Punkte) Lösung: Eine von vielen möglichen Lösungen lautet wie folgt: Modell I = hhω, {+}, {<}, {0}i, Φ, Ii, wobei für die Signaturinterpretation Φ gilt: Φ(f ) = +, Φ(Q) =<, Φ(c) = 0. Die Variablenbelegung sei durch I(v) = 1 für alle Variablen v gegeben. Damit erhalten die beiden freien Variablenvorkommen der Formel – das erste Vorkommen von y und das einzige von z – den Wert 1. I ist ein Modell, da es eine natürliche Zahlen < 1 gibt. Somit wird die hintere Teilformel der Implikation und damit die gesamte Implikation wahr. Gegenbeispiel J = hhω, {+}, {<}, {1}i, Φ, Ii, wobei für die Signaturinterpretation Φ gilt: Φ(f ) = +, Φ(Q) =<, Φ(c) = 1. Die Variablenbelegung sei durch I(v) = 0 für alle Variablen v gegeben. Damit erhalten die beiden freien Variablenvorkommen der Formel den Wert 0. J ist ein Gegenbeispiel, da 0 < 1 + n für alle Zahlen n gilt, also die vordere Teilformel der Implikation wahr ist, aber es anderseits keine Zahl < 0 gibt, also die hintere Teilformel der Implikation falsch ist. 9.) Zeigen Sie mit der Resolutionsmethode, dass (∃z)(∃y)P (h(y), z) logisch aus der Formel (∃y)(∀z)P (z, y) folgt. Geben Sie dabei verwendete MGUs und resolvierte Atome an. (7 Punkte) Lösung: Um (∃y)(∀z)P (z, y) |= (∃z)(∃y)P (h(y), z) zu zeigen, bilden wir folgende Klauseln: – cl((∃y)(∀z)P (z, y)) = {{P (z, c)}} – cl(¬(∃z)(∃y)P (h(y), z)) = cl((∀z)(∀y)¬P (h(y), z)) = {{¬P (h(y), z)))}} Es ergibt sich folgende Resolutionswiderlegung von K = {{P (z, c))}, {¬P (h(y), z)}}: 1: {P (z, c))} ∈0 K 2: {¬P (h(y), z 0 )} ∈0 K 3: {} Robinson-Resolvent von 1,2 mit MGU θ = {z ← h(y), z 0 ← c} und resolviertem Atom P (h(y), c)) 10.) Geben Sie an, ob die folgenden Aussagen richtig, falsch oder unsinnig sind, und begründen Sie Ihre Antworten. (Zwei Punkte für richtige Antworten mit richtiger Begründung, einen Punkt für richtige Antworten mit leicht fehlerhafter Begründung, keinen Punkt für falsche Antworten oder fehlerhafte Begründungen.) – Wenn A eine logische Konsequenz von B, dann ist der Sequent A ` B ableitbar. 2 richtig × 2 falsch 2 unsinnig Lösung: Die Aussage entspricht dem Sequent B ` A, nicht A ` B. – Jede Klausenmenge ist ein Modell ihrer Resolventen. 2 richtig 2 falsch × 2 unsinnig Lösung: Eine Klauselmenge kann keine Interpretation und daher auch kein Modell sein. – Jede aussagenlogische Variable ist eine Formel, die sowohl erfüllbar als auch widerlegbar ist. × 2 richtig 2 falsch 2 unsinnig Lösung: Jede aussagenlogische Variable A ist eine (atomare) Formel. Manche Interpretationen bilden A auf t und manche auf f ab. Es gibt also Modelle ebenso wie Gegenbeispiele zu A. – P (y, f (y)) ist nicht mit P (x, x) unfizierbar. × 2 richtig 2 falsch 2 unsinnig Lösung: Da die beiden Argumente des zweiten Atoms gleich sind, müsste ein Unifikator auch y und f (y) gleich machen, was aber nicht geht (occurs check). (8 Punkte)