Theoretische Informatik I Prof. L. Priese, F. Schmitt, P. Sturm, M. Heinrich, J. Menzel 26.04.2006 Aufgabe 1 Übungsblatt 1 Halbgruppen Die Mengen 2N und N N sind wie folgt definiert: • 2N := {M |M ⊆ N } • N N := {f : N → N } Die Operationen ·, ◦ und ∗ sind wie folgt definiert: • (f · g)(x) := f (x) · g(x) • (f ◦ g)(x) := f (g(x)) • (f ∗ g)(x) := f x (g(x)) mit ◦ f 0 (y) := y ◦ f x+1 (y) := f (f x(y)) Sind (a) (N N , ·) (b) (N N , ◦) (c) (N N , ∗) (d) (2N , ∪) (e) (2N , ∩) Halbgruppen? Besitzen sie 1- und 0-Elemente? (a) Die Verknüpfung ist assoziativ und kommutativ, da die Multiplikation natürlicher Zahlen assoziativ und kommutativ ist. Die Funktion f0 : N → N mit f0 (x) = 0 ist Nullelement, denn ∀x ∈ N : ∀g ∈ N N : f0 (x) · g(x) = 0 · g(x) = 0 = f0 (x). Die Funktion f1 : N → N mit f1 (x) = 1 ist Einselement, denn ∀x ∈ N : ∀g ∈ N N : f1 (x) · g(x) = 1 · g(x) = g(x). (b) Die Verknüpfung ist assoziativ: Seien h, f, g ∈ N N . Es gilt ∀x ∈ N : ((h ◦ g) ◦ f )(x) = (h ◦ g)(f (x)) = h(g(f (x))) und ∀x ∈ N : (h ◦ (g ◦ f ))(x) = h((g ◦ f )(x)) = h(g(f (x))) Das Einselement ist die identische Funktion fid : N → N mit fid (x) = x, denn ∀x ∈ N : ∀g ∈ N N : fid (x) ◦ g(x) = fid (g(x)) = g(x) und ∀x ∈ N : ∀g ∈ N N : g(x) ◦ fid (x) = g(fid (x)) = g(x). Es existiert kein Nullelement, dies kann durch einen Widerspruchsbeweis gezeigt werden: f0 : N → N sei Nullelement. Sei g : N → N die Funktion g(x) = 0 und h : N → N die Funktion h(x) = 1. Da f0 Nullelement ist muss gelten: ∀x ∈ N : (g ◦ f0 )(x) = g(f0 (x)) = f0 (x). Da ∀x ∈ N : g(x) = 0 gilt, gilt auch ∀x ∈ N : g(f0 (x)) = 0. Somit ergibt sich f0 als die Funktion f0 (x) = 0. Wenn f0 Nullelement wäre, müsste auch ∀x ∈ N : (h ◦ f0 )(x) = f0 (x) gelten. Dies führt zu folgendem Widerspruch: ∀x ∈ N : (h ◦ f0 )(x) = h(f0 (x)) = 1 6= f0 (x). f0 kann also nicht Nullelement von (N N , ◦) sein. (c) Die Verknüpfung ist nicht assoziativ. Beweis: Setze f (x) = x + 1, g(x) = 1, h(x) = 2. Wenn (N N , ∗) assoziativ wäre, müsste auch ((f ∗ g) ∗ h)(1) = (f ∗ (g ∗ h))(1) gelten. Dies kann aber durch Ausrechnen widerlegt werden: ((f ∗ g) ∗ h)(1) = (f ∗ g)1 (h(1)) = (f ∗ g)1 (2) = (f ∗ g)((f ∗ g)0 (2)) = (f ∗ g)(2) = f 2 (g(2)) = f 2 (1) = f (f (f 0 (1))) = f (f (1)) = f (2) = 3 (f ∗ (g ∗ h))(1) = f 1 ((g ∗ h)(1)) = f 1 (g1 (h(1))) = f 1 (g1 (2)) = f 1 (g(g0 (2))) = f 1 (g(2)) = f 1 (1) = f (f 0 (1)) = f (1) = 2 Es existiert kein Nullelement. Beweis: f0 : N → N sei Nullelement. Sei g : N → N die Funktion g(x) = 0 und h : N → N die Funktion h(x) = 1. Da f0 Nullelement ist, muss gelten: ∀x : g ∗ f0 (x) = gx (f0 (x)) = f0 (x). Wir setzen x = 1 und rechnen gx (f0 (x)) aus: g1 (f0 (1)) = g(g0 (f0 (1))) = g(f0 (1)). Da ∀x ∈ N : g(x) = 0 folgt g(f0 (1)) = 0 und somit f0 (1) = 0. Es muss jedoch ebenfalls gelten: ∀x : h ∗ f0 (x) = hx (f0 (x)) = f0 (x). Wir setzen wieder x = 1 und rechnen hx (f0 (x)) aus: h1 (f0 (1)) = h(h0 (f0 (1))) = h(f0 (1)). Da ∀x ∈ N : h(x) = 1 folgt h(f0 (1)) = 1 und somit f0 (1) = 1. Somit ist der Widerspruch hergestellt. Es existiert kein Einselement. Beweis: f1 : N → N sei Einselement. Sei g : N → N die Funktion g(x) = x + 1 und h : N → N die Funktion h(x) = 7. Da f1 Einselement ist muss gelten: ∀x : g ∗ f1 (x) = gx (f1 (x)) = g(x). Wir rechnen gx (f1 (x)) aus: gx (f1 (x)) = g(g...(g0 (f1 (x)))) | {z } x−mal = g(g...(f1 (x)) | {z } x−mal = g(g... (f1 (x) + 1) | {z } (x−1)−mal = f1 (x) + x Somit ergibt sich f1 (x) + x = g(x) ⇐⇒ f1 (x) = g(x) − x = x + 1 − x = 1. Es muss aber auch gelten: ∀x : f1 (x) ∗ h(x) = f1x (h(x)) = h(x). Es ergibt sich: f1 x (h(x)) = f1x (7) = f1 (f1 (· · ·(f10 (7)) · · · )) | {z } x−mal = f1 (f1 (· · · f1 (7) · · · )) {z } | = f1 (f1 · · · f1 (1) · · · ) | {z } x−mal (x−1)−mal = 1 Dies widerspricht der Bedingung ∀x : f1 (x) ∗ h(x) = f1 x (h(x)) = h(x). Somit ist der Widerspruch hergestellt. (d) Die Verknüpfung ist offensichtlich assoziativ und kommutativ. Die Menge N ist Nullelement, denn ∀A ⊆ N : A∪N = N . Die Menge ∅ ist Einselement, denn ∀A ⊆ N : A∪∅ = A. (e) Die Verknüpfung ist offensichtlich assoziativ und kommutativ. Die Menge N ist Einselement, denn ∀A ⊆ N : A∩N = A. Die Menge ∅ ist Nullelement, denn ∀A ⊆ N : A∩∅ = ∅. Aufgabe 2 Wahr oder falsch Welche der folgenden Aussagen sind wahr, welche falsch? Begründen Sie ihre Aussage. (a) ∀x ∈ R : ∃n ∈ N : ∀y ∈ R : x ≤ n ≤ y Falsch. Für y = n − 1 ist die Bedingung x ≤ n ≤ y nicht erfüllt. (b) ∀x ∈ R + : ∃n ∈ N : ∀y ∈ R + : (x ≤ n ∨ y ≤ n) Wahr. Die Aussage ist äquivalent zu ∀x ∈ R + : ∃n ∈ N : (x ≤ n ∨ ∀y ∈ R + : y ≤ n). Hier sieht man, dass es genügt den linken Teil der Disjunktion zu betrachten, somit kann y vernachlässigt werden. Man wählt n = ⌈x⌉, somit ist die Bedingung x ≤ n wahr und somit auch die ganze Disjunktion (c) ∀M, N ⊆ 2R : ∃A ⊆ 2N : A ⊆ M ∩ N Wahr. Wähle A = ∅, da die leere Menge Teilmenge jeder Menge ist, ist A ⊆ M ∩ N wahr. (d) ∀M, N ⊆ 2R : ∃A ⊆ 2N : M ∩ N ⊆ A Falsch. Wähle M = N = {{π}}, da A Teilmenge der Potenzmenge der natürlichen Zahlen ist kann A nicht {π} enthalten. Somit kann M ∩ N = {{π}} ∩ {{π}} = {{π}} keine Teilmenge von A sein. Eigentlich wahr als Aufgabe gemeint: ∀M, N ∈ 2R : ∃A ∈ 2N : M ∩ N ∈ A Hier wäre die Lösung: Falsch. Wähle M = N = {π}, da A Teilmenge der natürlichen Zahlen ist kann A nicht π enthalten. Somit kann M ∩ N = {π} ∩ {π} = {π} keine Teilmenge von A sein. (e) ∀x ∈ R : ∀n ∈ N : ∃y ∈ R : ((y ≤ n ≤ x) ∨ (x ≤ n ≤ y)) Wahr. Wähle y = n. Aufgabe 3 Mathematische Spezifikation Sie dürfen nur die Zeichen :, =, {, }, (, ), 0, 1, +, ·, <, >, ∨, ∧, ¬, =⇒, ∀, ∃, x, y, z, R , N , 6 ∃, n, m, 6= , M, N, |, ∈, 6∈ benutzen. Spezifizieren Sie damit formal: (a) n und m sind natürliche Zahlen und n ist ein Teiler von m :⇐⇒ n ∈ N ∧ m ∈ N ∧ ∃z ∈ N : z · n = m (b) n ist eine Quadratzahl in N :⇐⇒ n ∈ N ∧ ∃z ∈ N : z · z = n (c) n und m sind natürliche Zahlen und die Division von m durch n hat einen Rest von 3 :⇐⇒ n ∈ N ∧ m ∈ N ∧ ∃z ∈ N : z · n + 1 + 1 + 1 = m (d) Die Menge M hat genau ein Element mehr als N Die Aussage kann auf verschiedene Arten interpretiert werden: Erste Interpretation: M besteht aus den Elementen von N plus einem zusätzlichen Element, das nicht in N enthalten ist. Dann ist die Aussage äquivalent zu (∀n ∈ N : n ∈ M ) ∧ (|M | = |N | + 1) Diese Aussage lässt sich auch ohne das Betragzeichen formulieren: (∃m ∈ M : m 6∈ N ∧ ∀n ∈ M : n 6= m =⇒ n ∈ N ) ∧ ∀n ∈ N : n ∈ M Zweite Interpretation: Die Menge M hat zahlenmäßig ein Element mehr als N . Diese Aussage kann formal als |M | = |N | + 1 spezifiziert werden.