Theoretische Informatik und Logik — VU 4.0 VO-Prüfung Kennzahl Matrikelnummer WS 2007 10. Juni 2008 Familienname Vorname Lösung Gruppe A 1.) Sei L = {0111}∗ {0110}. a) Konstruieren Sie einen deterministischen endlichen Automaten (DEA), der L akzeptiert. (Falle kann weggelassen werden.) (7 Punkte) Lösung: l m 6A 0 - m B 1 - m C 1 1 - m 0 - m j D E b) Geben Sie eine reguläre Grammatik an, die L erzeugt. (5 Punkte) Lösung: G = h{A, B, C, D, E}, {0, 1}, P, Ai wobei P = {A ⇒ 0B, B ⇒ 1C, C ⇒ 1D, D ⇒ 0E | 1A, E ⇒ ε} 2.) Bilden Sie die Sprache L = {0n 1n 02n 23n 35n | n ≥ 1} mittels eines Homomorphismus auf eine Sprache der Form {akn bln cmn | n ≥ 1} (für beliebige Konstanten k, l, m ≥ 1) ab. Begründen Sie ausführlich, warum daraus folgt, dass L nicht kontextfrei ist. Lösung: Beweis indirekt. Angenommen, die Sprache L = {0n 1n 02n 23n 35n | n ≥ 1} ist kontextfrei. Sei dann h der Homomorphismus mit h : {0, 1, 2, 3}∗ → {a, b, c}∗ sowie h(0) = ε, h(1) = a, h(2) = b, h(3) = c Da die Familie der kontextfreien Sprachen gegenüber beliebigen Homomorphismen abgeschlossen ist, müsste auch h({0n 1n 02n 23n 35n | n ≥ 1}) = {an b3n c5n | n ≥ 1} kontextfrei sein, was aber nicht der Fall ist (siehe z.B. Skriptum, Beispiel 1.69). Widerspruch! Somit kann auch L nicht kontextfrei sein. (11 Punkte) 3.) Kreuzen Sie bei jeder der folgenden Aussagen an, ob sie richtig oder falsch ist. Es ist keine Begründung notwendig. Die Menge aller formalen Sprachen ist überabzählbar. Richtig × 2 Falsch 2 Jede von einer kontextsensitiven Grammatik erzeugte Sprache ist rekursiv aufzählbar. Richtig × 2 Falsch 2 Jede kontextfreie Sprache kann von einer regulären Grammatik erzeugt werden. Richtig 2 Falsch × 2 Für jede formale Sprache L gilt: (L∗ )∗ = L∗ . Richtig × 2 Falsch 2 Das Komplement regulärer Sprachen ist immer unendlich. Richtig 2 Falsch × 2 Es gibt einen DEA mit zwei Zuständen, der die Sprache L = {w ∈ {a, b}∗ | |w|a = 2n + 1, n ≥ 0} akzeptiert. Richtig × 2 Falsch 2 Jede richtige Antwort zählt +2 Punkte, jede falsche −2 Punkte, fehlende Antworten 0 Punkte. Negative Summen werden auf 0 aufgerundet, d.h., negative Punkte übertragen sich nicht auf andere Beispiele. (12 Punkte) 4.) Sei F die aussagenlogische Formel ¬[(A ⊃ (¬B ⊃ ¬C)) ∧ (A ∧ (¬B ∧ ¬C))]. Verwenden Sie den Sequentialkalkül (nicht den Tableaukalkül) um die Gültigkeit von F zu beweisen oder diese zu widerlegen. Lösung: Axiom Anti-Axiom B, A ` B, C A ` B, C ¬r ¬l A ` B, C, ¬B ¬C, A ` B, C Axiom ⊃l A ` B, C, A ¬B ⊃ ¬C, A ` B, C ⊃l A ⊃ (¬B ⊃ ¬C), A ` B, C ¬l A ⊃ (¬B ⊃ ¬C), A, ¬B ` C ¬l A ⊃ (¬B ⊃ ¬C), A, ¬B, ¬C ` ∧l A ⊃ (¬B ⊃ ¬C), A, ¬B ∧ ¬C ` ∧l A ⊃ (¬B ⊃ ¬C), A ∧ (¬B ∧ ¬C) ` ∧l (A ⊃ (¬B ⊃ ¬C)) ∧ (A ∧ (¬B ∧ ¬C)) ` ¬r ` ¬[(A ⊃ (¬B ⊃ ¬C)) ∧ (A ∧ (¬B ∧ ¬C))] In der obigen Ableitung konnte ein Anti-Axiom erzeugt werden, woraus folgt dass die Formel nicht gültig ist. Das Antiaxiom A ` B, C liefert das Gegenbeispiel I(A) = t, I(B) = I(C) = f ; damit ist die Gültigkeit der Formel widerlegt. (11 Punkte) 5.) Beweisen Sie die Gültigkeit der prädikatenlogischen Formel (∀x)(∀y)[((P (x) ∨ P (y)) ∧ (∀z)(P (z) ⊃ Q(z))) ⊃ (Q(x) ∨ Q(y))] im Tableaukalkül. Lösung: (1) f : (∀x)(∀y)[((P (x) ∨ P (y)) ∧ (∀z)(P (z) ⊃ Q(z))) ⊃ (Q(x) ∨ Q(y))] Annahme (2) f : (∀y)[((P (a) ∨ P (y)) ∧ (∀z)(P (z) ⊃ Q(z))) ⊃ (Q(a) ∨ Q(y))] von (1) mit δ (3) f : ((P (a) ∨ P (b)) ∧ (∀z)(P (z) ⊃ Q(z))) ⊃ (Q(a) ∨ Q(b)) von (2) mit δ (4) t: (P (a) ∨ P (b)) ∧ (∀z)(P (z) ⊃ Q(z)) von (3) (5) f : Q(a) ∨ Q(b) von (3) (6) t: P (a) ∨ P (b) von (4) (7) t: (∀z)(P (z) ⊃ Q(z)) von (4) (8) f : Q(a) von (5) (9) f : Q(b) von (5) (10) t: P (a) von (6) (14) t: P (b) von (6) (11) t: P (a) ⊃ Q(a) von (7) mit γ (15) t: P (b) ⊃ Q(b) von (7) mit γ (12) f : P (a) von (11) (13) t: Q(a) von (11) (16) f : P (b) von (15) (17) t: Q(b) von (15) Wid. (10),(12) Wid. (8),(13) Wid. (14),(16) Wid. (9),(17) Da das Tableau geschlossen ist, ist die Formel gültig. (12 Punkte) 6.) Kreuzen Sie bei jeder der folgenden Aussagen an, ob sie richtig oder falsch ist. Es ist keine Begründung notwendig. Wenn A und B erfüllbar sind dann auch A ∧ B. Richtig 2 Falsch × 2 (A ↔ B) ↔ A ist gültig. Richtig 2 Falsch × 2 A ∧ (B ∨ C) ∧ (B ∨ A) ist in konjunktiver Normalform. Richtig × 2 Falsch 2 (∀x)P (x) ∧ (∀z)Q(f (z), z) ist die Skolemform von (∀x)P (x) ∧ (∃y)(∀z)Q(y, z). Richtig 2 Falsch × 2 {f (x, f (x, y)), f (f (z, z), v)} ist unifizierbar. Richtig × 2 Falsch 2 (∃x)(P (x) ∧ Q(x)) ⊃ (∃x)P (x) ∧ (∃x)Q(x) ist gültig. Richtig × 2 Falsch 2 Jede richtige Antwort zählt +2 Punkte, jede falsche −2 Punkte, fehlende Antworten 0 Punkte. Negative Summen werden auf 0 aufgerundet, d.h., negative Punkte übertragen sich nicht auf andere Beispiele. (12 Punkte)