Lösungen zum Aufgabenblatt 6 Logik und modelltheoretische Semantik Universität München, CIS, SS 2013 Hans Leiß Abgabetermin: Do, 6.6.2013, 16 Uhr in meinem Postfach (Druckerraum am CIS) Sei L die Sprache mit Fun = {+, ·, ∗ , 0, 1}. Ein L-Term t(x1 , . . . , xn ) ist ein regulärer Ausdruck (über dem Alphabet der Variablen). L-Strukturen, die gewisse Axiome erfüllen, z.B. 0∗ =1, ˙ heißen auch “Kleene-Algebren”. Zwei Standardbeispiele sind folgende. Aufgabe 6.1 (a) Sei LΣ die Algebra P(Σ∗ ) aller formalen Sprachen über Σ, die wie folgt definiert ist: P(Σ∗ ) := { A | A ⊆ Σ∗ }, A + B := A ∪ B, A · B := { vw | v ∈ A, w ∈ B }, [ A∗ := { An | n ∈ N } mit A0 := {ǫ}, An+1 := A · An , 0 := ∅, 1 := {ǫ}. Σ Sei h : Var → P(Σ∗ ) mit h(x1 ) = {a}, h(x2 ) = {b}. Was ist der Wert [[t]]L h des Terms t(x1 , x2 ) = ((x1 + x1 ) · (x1 + x2 ))∗ ? (2 Punkte) (b) Sei RM die Algebra P(M × M ) aller 2-stelligen Relationen auf M , definiert durch P(M × M ) := { A | A ⊆ M × M }, A + B := A ∪ B, A · B := { (i, k) | ∃j ∈ M ((i, j) ∈ A ∧ (j, k) ∈ B) }, [ A∗ := { An | n ∈ N } mit A0 := { (m, m) | m ∈ M }, An+1 := A · An , 0 := ∅, 1 := { (m, m) | m ∈ M }. Sei M = {0, . . . , 5} die Menge der Knoten (“Zustände”) in folgendem Graphen 0 a a 1 b b b 2 a b 4 b 5 a b und h : Var → RM eine Belegung mit h(x1 ) = −→ und h(x2 ) = −→ , den im Graphen a b durch die Menge der −→ - bzw. der −→ -Kanten dargestellten Relationen. M Was ist der Wert [[t]]R des Terms t(x1 , x2 ) = ((x1 + x1 ) · (x1 + x2 ))∗ ? Am einfachsten h t h zeichen Sie die Relation durch Kanten −→ in den Graphen ein. Tip: Da auch für Relationenprodukt und -Vereinigung die Distributivregeln gelten, ist M M [[(x1 + x1 ) · (x1 + x2 )]]R = [[(x1 x1 + x1 x2 ]]R =: S ⊆ M × M . Zeichnen Sie zuerst die h h Kanten von S in das Bild ein, und dann ein neues Bild mit den Kanten von S ∗ . (4 Punkte) Lösung von Aufgabe 6.1 (a) Die Definitionen liefern in L = LΣ : [[t]]h = [[((x1 + x1 ) · (x1 + x2 ))∗ ]]h L = [[((x1 + x1 ) · (x1 + x2 ))]]∗h L = ([[(x1 + x1 )]]h ·L [[(x1 + x2 )]]h )∗ L = (([[x1 ]]h +L [[x1 ]]h ) ·L ([[x1 ]]h +L [[x2 ]]h ))∗ L = ((h(x1 ) +L h(x1 )) ·L (h(x1 ) +L h(x2 )))∗ L = (({a} ∪ {a}) ·L ({a} ∪ {b}))∗ L = ({a} ·L {a, b})∗ L = {aa, ab}∗ . t h (b) Da es in R = RM relativ viele Kanten −→ gibt, ist es übersichtlicher, erstmal nur die Kansh ten −→ mit s := ((x1 +x1 )·(x1 +x2 )) bzw. dem äquivalenten (x1 x1 +x1 x2 ) einzuzeichnen; dazu trage ich die Kanten (x1 x1 )h aa −→ = −→ und 2 (x1 x2 )h ab −→ = −→ getrennt ein: 0 aa a a b ab 1 aa b ab b 2 ab a ab b 4 b 5 R R ∗ ∗ R Die Relation [[t]]R ist der reflexive transitive Abschluß der durch =⇒ h = [[s ]]h = ([[s]]h ) R (blau) dargestellten Relation [[s]]h . Die transitive Hülle von [[s]]R h sind hier die =⇒ -Wege der Längen 1,2, und 3, verlängert um die Wege der Längen > 0 von 0 nach 0 oder von 1 nach 1 (mit Kantenmarkierung rˆ statt r+ , da das Graphikprogramm keine oberen Indizes erlaubt): 0 (aa)^ a b (aa)^ab b (aa)^abab a 1 (aa)^ (aa)^ab 2 b (aa)^ab a (aa)^abab ab b 4 b 5 Die reflexive transitive Hülle [[t]]h von [[s]]h ist dann die Relation =⇒ im folgenden Graphen (mit e für das leere Wort): 3 0 (aa)* a a b (aa)*ab b (aa)*abab 1 (aa)* (aa)*ab 2 b e (aa)*ab a (aa)*abab ab b 4 e b 5 e Beachte, daß der Ausgangsgraph RM beliebig war, und nicht der in der Automatentheorie aus Automaten Aa zur Erkennung von {a} und Ab zur Erkennung von {b} entsprechend dem Ausdruck t aufgebaute Automat At ist. Daher hat z.B. in RM die transitive Hülle ab von −→ keine mit (ab)5 markierte Kante, obwohl das Wort (ab)5 in der Sprache [[t]]L h liegt. Aufgabe 6.2 Zeige, daß für beliebige Formeln ϕ(x) und ψ(x) die Aussage (∀xϕ ∨ ∀xψ) → ∀x(ϕ ∨ ψ) allgemeingültig (in jeder Struktur A wahr) ist, aber nicht die umgekehrte“ Aussage ” ∀x(ϕ ∨ ψ) → (∀xϕ ∨ ∀xψ). Gib für den zweiten Teil ein Gegenbeispiel an! (4 Punkte) Lösung von Aufgabe 6.2 Erster Teil: Sei A eine Struktur mit A |= ∀xϕ ∨ ∀xψ. Dann ist mindestens eines der Disjunktionsglieder in A wahr, etwa A |= ∀xϕ. Für beliebiges a ∈ A ist also [[ϕ]]A [x/a] = 1 und damit auch A A [[(ϕ ∨ ψ)]]A [x/a] = max{[[ϕ]][x/a] , [[ψ]][x/a] } = 1. Da das für alle a ∈ A gilt, ist [[∀x(ϕ ∨ ψ)]]A = 1, also A |= ∀x(ϕ ∨ ψ). Damit ist gezeigt, daß (∀xϕ ∨ ∀xψ) → ∀x(ϕ ∨ ψ) in jeder Struktur A wahr ist. Zweiter Teil: Sei P ein einstelliges Relationszeichen, und ϕ(x) := P (x), ψ(x) = ¬P (x). Sei A = (A, P A ) mit ∅ = 6 P A 6= A, etwa a, b ∈ A mit a ∈ P A , b ∈ / P A . Offenbar ist A |= ∀x(ϕ ∨ ψ) = ∀x(P (x) ∨ ¬P (x)), 4 aber A 6|= ∀xϕ wegen b ∈ / P A, und A 6|= ∀xψ wegen a ∈ P A . Also ist A eine Struktur, in der ∀x(ϕ ∨ ψ) → ∀xϕ ∨ ∀xψ nicht wahr ist. 5