31.07.2015 Aufrufe

Masterarbeit Abschlusseigenschaften für Graph-Sprachen mit ...

Masterarbeit Abschlusseigenschaften für Graph-Sprachen mit ...

Masterarbeit Abschlusseigenschaften für Graph-Sprachen mit ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Masterarbeit</strong><strong>Abschlusseigenschaften</strong> für <strong>Graph</strong>-<strong>Sprachen</strong> <strong>mit</strong>Anwendungen auf TerminierungsanalyseSebastian Küpper10. August 2012Betreuer: Prof. Dr. Barbara KönigDr. H.J. Sander BrugginkTag der Anmeldung: 05. April 2012Tag der Abgabe: 13. August 2012


InhaltsverzeichnisI Grundlegende Definitionen 11 Einleitung 22 Grundbegriffe der Kategorientheorie 53 Erkennbare <strong>Graph</strong>sprachen 104 <strong>Graph</strong>transformationssysteme und kontextfreie Regeln 18II <strong>Abschlusseigenschaften</strong> von <strong>Graph</strong>sprachen 275 Abschluss unter invers kontextfreien Regeln 296 Abschluss unter Konkatenation 377 Abschluss unter Konkatenation für <strong>Graph</strong>sprachen 608 Abschluss unter Kanten-Löschung 779 Abschluss unter Substitution 85III Terminierungsanalyse 8810 Löschende und Match-beschränkte Stringersetzungssysteme 9011 Löschende und Match-beschränkte <strong>Graph</strong>transformationssysteme9612 Fazit und Ausblick 103


Kapitel 1Einleitung<strong>Graph</strong>transformationssysteme sind ein mächtiges Werkzeug zur Systemmodellierungund -analyse in der Informatik [18]. Aber auch abseits derSystemmodellierung haben <strong>Graph</strong>transformationssysteme interessante Anwendungen,so können sie beispielsweise zur Analyse neuronaler Netzwerke[7] verwendet werden oder zur Optimierung im Compilerbau, sofern eine<strong>Graph</strong>-basierte Zwischensprache verwendet wird [5]. Außerhalb der Informatikwird <strong>Graph</strong>transformation ebenfalls, beispielsweise zur Beschreibung vonStrukturen in der Mikrobiologie verwendet [17].<strong>Graph</strong>transformationssysteme bieten Regelsysteme, die veränderliche <strong>Graph</strong>strukturenbeschreiben können. So kann man beispielsweise den Zustand einesProgramms als <strong>Graph</strong>en ausdrücken und ein <strong>Graph</strong>transformationssystem angeben,das die Verhaltensweise eines Programms auf einem Zustandsgraphenbeschreibt. Die Ausdrucksmächtigkeit von <strong>Graph</strong>transformationssytemen isthoch, was sie zu angenehmen Modellierungswerkzeugen macht. Allerdingsgeht <strong>mit</strong> der hohen Ausdrucksmächtigkeit auch eine hohe Komplexität einher.<strong>Graph</strong>transformationssysteme sind Turing-vollständig, das heißt, man kannauf <strong>Graph</strong>transformationssystemen (zusammen <strong>mit</strong> sequentieller Kompositionder Regeln und der Möglichkeit der Iteration) allgemeine Turingmaschinensimulieren, wie Annegret Habel und Detlef Plump, [10], gezeigt haben.Das hat zur Folge, dass viele Fragen bezogen auf ein <strong>Graph</strong>transformationssystemunentscheidbar sind. So ist zu einem gegebenen <strong>Graph</strong>transformationssystemund einem Startgraphen die Frage, ob dieses System auf demStartgraphen jemals terminiert, also keine Regelanwendung mehr möglichist, unentscheidbar, auch viele andere Unentscheidbarkeitsresultate lassensich auf den Fall der <strong>Graph</strong>transformationssysteme übertragen. Um dennochrelevante Aussagen über <strong>Graph</strong>transformationssysteme treffen zu können,bedarf es approximativer Ansätze. Statt eines Entscheidungsverfahrens, obein <strong>Graph</strong>transformationssystem auf einem gegebenen Startgraphen jemals2


KAPITEL 1. EINLEITUNG 3terminiert, kann man beispielsweise ein Semientscheidungsverfahren oder einVerfahren, das nur einseitig Fehler macht, untersuchen.Für Stringersetzungssysteme wurde von Geser et al., [8], ein erfolgreichesSemi-Entscheidungsverfahren umgesetzt. Ziel dieser Arbeit ist es nun, dieMöglichkeiten der Umsetzung dieses Verfahrens auf das Setting der <strong>Graph</strong>transformationssystemezu untersuchen. Der Vorteil dieses Ansatzes ist es,dass für <strong>Graph</strong>transformationssysteme viele zu Stringersetzungssystemen sehrähnliche Konzepte und Eigenschaften existieren. Daher wird in dieser Arbeitdie Möglichkeit untersucht, ein Verfahren in Anlehnung an das Verfahren aus[8] zu entwerfen, das für ein gegebenes <strong>Graph</strong>transformationssystem nachweist,dass es Match-beschränkt ist. Gelingt der Nachweis, dass ein SystemMatch-beschränkt ist, so folgt hierdurch, dass das System auch terminierendist. Die Konstruktion im Stringersetzungsfall basiert allerdings auf einemSatz, der den Erhalt der Eigenschaft der Regularität einer Sprache betrifft.Der Begriff der regulären Sprache wurde auf den <strong>Graph</strong>enfall verallgemeinertdurch den Begriff der Erkennbarkeit.Diese Arbeit ist in drei Teile unterteilt. Im ersten Teil werden wir die Grundlagenlegen, insbesondere werden wir den Begriff der erkennbaren Pfeilspracheund der erkennbaren <strong>Graph</strong>sprache kennen lernen. Hierzu werden wir einigeGrundbegriffe der Kategorientheorie verwenden, die ebenfalls im ersten Teildefiniert werden.Betrachtet man den Algorithmus aus [8], so basiert er stark auf der Eigenschaftdes Erhalts der Regularität. Um eine vergleichbare Eigenschaft im<strong>Graph</strong>en-Fall zu erhalten, müssen wir jedoch zunächst einmal eine Reihevon <strong>Abschlusseigenschaften</strong> untersuchen. Für reguläre <strong>Sprachen</strong> ist bekannt,dass diese abgeschlossen sind unter Substitution, der Restriktion und derAnwendung invers kontextfreier Regeln - diese drei <strong>Abschlusseigenschaften</strong>werden in [12] verwendet, um den Erhalt der Regularität zu beweisen. Weiterhinsind reguläre <strong>Sprachen</strong> abgeschlossen unter Konkatenation, Anwendunglöschender Regeln, sowie unter der Anwendung des Kleene-Sterns [3]. In derVergangenheit [4] wurde bereits gezeigt, dass die erkennbaren <strong>Graph</strong>sprachenabgeschlossen sind unter Vereinigung, Schnitt (und so<strong>mit</strong> auch Restriktion)und Komplementbildung. Die Konstruktion ist in diesem Fall ähnlichzu den bekannten Konstruktionen für reguläre <strong>Sprachen</strong>, so dass in dieserArbeit nicht näher auf die entsprechenden Beweise eingegangen wird. Imzweiten Teil der Arbeit untersuchen wir daher, welche der <strong>Abschlusseigenschaften</strong>sich auch auf den Fall erkennbarer <strong>Graph</strong>sprachen übertragen lassen.Im dritten Teil werden wir schließlich zunächst den Algorithmus zur Terminierungsanalysefür Stringersetzungssysteme kennen lernen. Hierzu werdenwir die Begriffe der löschenden und der Match-beschränkten Stringerset-


KAPITEL 1. EINLEITUNG 4zungssysteme kennen lernen und alle für den Analyseansatz wichtigen Konstruktionsschritteund Sätze zitieren. Da die Beweise der Aussagen allerdingsbereits in [8] und [12] vorgestellt wurden, verzichten wir in diesem Abschnittauf die Beweise der Aussagen.Im zweiten Kapitel des dritten Teils werden wir dann die Begriffe der löschendenund Match-beschränkten <strong>Graph</strong>transformationssysteme in Analogie zulöschenden und Match-beschränkten Stringersetzungssystemen definierenund einige Eigenschaften dieser untersuchen. Schließlich werden wir untersuchen,ob löschende <strong>Graph</strong>transformationssysteme die Erkennbarkeiterhalten, was im String-Setting eine wesentliche Voraussetzung dafür ist,dass das vorgestellte Verfahren zur Überprüfung auf Terminierung ein Semi-Entscheidungsverfahren ist.


Kapitel 2Grundbegriffe derKategorientheorieDie in dieser Arbeit verwendeten <strong>Graph</strong>sprachen basieren auf Begriffen ausder Kategorientheorie. Diese dient unter Anderem als Verallgemeinerungder Mengenlehre. Zunächst ist zu klären, was eine Kategorie überhaupt ist,außerdem benötigen wir zumindest die Definitionen des Pushouts und desCospans, um schließlich den Begriff der Erkennbarkeit definieren zu können.Die Definitionen in diesem Kapitel folgen [16], die Darstellung der erstendrei Definitionen ist nahezu wörtlich [14] entnommen.Definition 2.1 (Kategorie)Eine Kategorie C ist ein Tupel aus einer Sammlung von Objekten O, einerSammlung von Pfeilen P (oder auch Morphismen) und einem Kompositionsoperator◦ für die gilt:Jedem Pfeil f ist ein Definitionsbereich dom(f) ∈ O und ein Bildbereichcod(f) ∈ O zugeordnet. Für einen Pfeil f <strong>mit</strong> dom(f) = A und cod(f) = Bschreiben wir auch f : A → B. Der Kompositionsoperator ◦ verknüpft zweiPfeile f und g genau dann als g ◦f, wenn cod(f) = dom(g). Für den Kompositionsoperatorgilt das Assoziativgesetz, das heißt für drei Pfeile f : A → B,g : B → C, h : C → D gilth ◦ (g ◦ f) = (h ◦ g) ◦ f.Zudem gibt es für jedes Objekt A ∈ O einen Identitätspfeil id A : A → A. DieIdentitätspfeile genügen dem Identitätsgesetz, das heißt es gilt für jeden Pfeilf : A → B:id B ◦ f = fundf ◦ id A = f.5


KAPITEL 2. GRUNDBEGRIFFE DER KATEGORIENTHEORIE 6Eines der wichtigsten Konzepte der Kategorientheorie ist der Funktor, einestrukturerhaltende Abbildung zwischen verschiedenen Kategorien.Definition 2.2 (Funktor)Seien C und D Kategorien, dann ist ein Funktor F : C → D eine Abbildung,die jedes C-Objekt A auf ein D-Objekt F(A) abbildet und jeden C-Pfeilf : A → B auf einen D-Pfeil F(f) : F(A) → F(B) abbildet, so dass für alleC-Objekte A und konkatenierbare C-Pfeile f und g gilt: F(id A ) = id F(A)und F(g ◦ f) = F(g) ◦ F(f).Definition 2.3 (Pushout)Seien f : A → B und g : A → C Pfeile einer Kategorie. Ein Pushout dieserPfeile ist ein Objekt P - das Pushoutobjekt - und zwei Pfeile f ′ : C → P undg ′ : B → P , so dass f ′ ◦ g = g ′ ◦ f und wenn es ein Objekt X und zwei Pfeilef ′′ : C → X und g ′′ : B → X gibt, für die ebenfalls f ′′ ◦ g = g ′′ ◦ f gilt, danngibt es genau einen Pfeil k : P → X, so dass f ′′ = k ◦ f ′ und g ′′ = k ◦ g ′ .Vgl. auch folgende Abbildung:Xkf ′′g ′′Pf ′Cg ′gBfAAbbildung 2.1: PushoutDer hierzu duale Begriff des Pullbacks wird in dieser Arbeit ebenfalls einewichtige Rolle spielen.Definition 2.4 (Pullback)Seien f : A → C und g : B → C Pfeile einer Kategorie. Ein Pullback dieserPfeile ist ein Objekt P - das Pullbackobjekt - und zwei Pfeile f ′ : P → B undg ′ : P → A, so dass f ◦ g ′ = g ◦ f ′ gilt. Weiterhin, wenn es ein Objekt X undzwei Pfeile f ′′ : X → B und g ′′ : X → A gibt, für die ebenfalls g ◦ f ′′ = f ◦ g ′′gilt, dann gibt es genau einen Pfeil k : X → P , so dass f ′′ = f ′ ◦ k undg ′′ = g ′ ◦ k. Vgl. auch folgende Abbildung:


KAPITEL 2. GRUNDBEGRIFFE DER KATEGORIENTHEORIE 8Wir nennen zwei Cospansundc 1 : J c 1→L c 1RG ← Kc 2 : J c 2→L c 2RH ← Käquivalent wenn es einen Isomorphismus h zwischen G und H gibt, so dassdas folgende Diagramm kommutiert:Gc 1Lc 1RJhKc 2Lc 2RHAbbildung 2.3: Isomorphie-BedingungWir identifizieren im Folgenden die Äquivalenzklassen von Cospans, die durchdie Isomorphie-Definition gebildet werden, <strong>mit</strong> ihren Repräsentanten.Die Konkatenation zweier Cospans c 1 : J c 1→L c 1RG ← M und c2 : M c 2→L c 2RH ←K bilden wir wie folgt. Sei M ′ das Pushoutobjekt des Pushouts von c 2L undc 1R , f der Pfeil von G nach M ′ und g der Pfeil von H nach M ′ . Dann istdie Konkatenation von c 1 und c 2 der CospanJ f◦c 1→LM′ g◦c 2←RK.Mit dieser Definition ist auch Cospan(C), die Kategorie <strong>mit</strong> den Objektenvon C als Objekten, den Äquivalenzklassen der Cospans über C als Pfeilenund der oben definierten Konkatenation, tatsächlich eine Kategorie. DieIdentitätspfeile dieser Kategorie sind die Cospans die aus Paaren von zweiIdentitätspfeilen aus C gebildet werden. Wir nennen Cospan(C) die Cospan-Kategorie von C.Bemerkung 2.9 Für die Konkatenation verwenden wir je nach Kontextzwei verschiedene Schreibweisen. Statt f ◦ g schreiben wir <strong>mit</strong> gleicher Bedeutungauch manchmal g ; f.Um in dem folgenden Unterkapitel die adhäsiven Kategorien zu definierenund wichtige Eigenschaften adhäsiver Kategorien zu verstehen, benötigenwir noch drei weitere Grundbegriffe der Kategorientheorie.


KAPITEL 2. GRUNDBEGRIFFE DER KATEGORIENTHEORIE 9Definition 2.10 (Monomorphismus)Ein Monomorphismus ist ein Pfeil f : X → Y , für den gilt: Für je zweiPfeile g : Z → X und h : Z → X <strong>mit</strong> f ◦ g = f ◦ h gilt g = h.Definition 2.11 (Produkt)Das Produkt zweier Objekte A, B ist ein Objekt A × B zusammen <strong>mit</strong> zweiPfeilen π 1 : A × B → A und π 2 : A × B → B, so dass für jedes Objekt Cund Paar von Pfeilen f : C → A und g : C → B genau ein ver<strong>mit</strong>telnderPfeil h existiert, so dass das folgende Diagramm kommutiert, so dass alsogilt π 1 ◦ h = f und π 2 ◦ h = g:ACghfπ 2πA × B1Abbildung 2.4: ProduktBAnalog zu Pushout und Pullback gibt es auch einen dualen Begriff zumProdukt, das Coprodukt, der in der nachfolgenden Definition vorgestelltwird.Definition 2.12 (Coprodukt)Das Coprodukt zweier Objekte A, B ist ein Objekt A + B zusammen <strong>mit</strong> zweiPfeilen π 1 : A → A + B und π 2 : B → A + B, so dass für jedes Objekt Cund Paar von Pfeilen f : A → C und g : B → C genau ein ver<strong>mit</strong>telnderPfeil h existiert, so dass das folgende Diagramm kommutiert, so dass alsogilt h ◦ π 1 = f und h ◦ π 2 = g:Aπ 1A + Bπ 2fhgCBAbbildung 2.5: Coprodukt


Kapitel 3Erkennbare <strong>Graph</strong>sprachenDie Definitionen dieses Kapitels folgen, wenn nicht anders angegeben, [4].Zunächst definieren wir die Kategorie H<strong>Graph</strong> von Hypergraphen und<strong>Graph</strong>morphismen.Definition 3.1 (Die Kategorie H<strong>Graph</strong>)Es sei Λ ein festes Alphabet von Labels. Ein (Hyper-) <strong>Graph</strong> (über Λ) ist einVier-Tupel G = (V G , E G , att G , lab G ). V G ist die Menge der Knoten, E G dieMenge der Kanten, att : E G → V ∗ G die Verknüpfungsfunktion (wobei V ∗ G dieMenge der Sequenzen von Elementen aus V G ist) und lab G : E G → Λ dieLabel-Funktion. Wir nennen die Knoten att(k) die zu k inzidenten Knotenund nennen zwei Knoten adjazent in einem <strong>Graph</strong>en, wenn es eine Kanteim <strong>Graph</strong>en gibt, die <strong>mit</strong> beiden Knoten inzidiert. Ein <strong>Graph</strong> G ist zusammenhängend,falls für jedes Paar von Knoten u, v des <strong>Graph</strong>en G eine Sequenzvon Knoten u = v 1 , v 2 , ..., v n = v existiert, so dass für i = 1, 2, ..., n − 1gilt: v i und v i+1 sind adjazent.Ein <strong>Graph</strong>morphismus f zwischen zwei <strong>Graph</strong>en G und H ist ein Paar vonFunktionen (f V , f E ) <strong>mit</strong>f V : V G → V Hundso dass gilt:undf E : E G → E Hlab H ◦ f E = lab Gatt H ◦ f E = f ∗ V ◦ att G .Dabei ist fV ∗ die Erweiterung von f V auf Sequenzen, die sich ergibt, wennman f V elementweise auf Sequenzen anwendet.Den <strong>Graph</strong>en <strong>mit</strong> leerer Knoten- und Kantenmenge nennen wir ∅.Die Kategorie H<strong>Graph</strong> ist schließlich die Kategorie, die Hypergraphen alsObjekte und <strong>Graph</strong>morphismen als Pfeile hat.10


KAPITEL 3. ERKENNBARE GRAPHSPRACHEN 11Wichtig ist vor allem die Kategorie Cospan(H<strong>Graph</strong>), also die Kategorie dieCospans von Hypergraphen als Pfeile hat. Mit dieser Vorbereitung könnenwir nun die Begriffe Automaten-Funktor, erkennbare Pfeilsprachen undschließlich erkennbare <strong>Graph</strong>sprachen definieren.Definition 3.2 (Automaten-Funktor)Es sei C eine Kategorie und A : C → Rel ein Funktor, der jedes Objekt Xvon C auf eine endliche Menge A(X) abbildet und jeden Pfeil f : X → Yauf eine Relation R(f) ⊆ A(X) × A(Y ). Wir nennen das Bild eines ObjektsX von C unter A die Menge der Zustände von X. Für jede Menge A(X)gebe es eine ausgezeichnete Menge IX A von Startzuständen und eine Mengeder Endzustände. Dann nennen wir A einen Automaten-Funktor.F A XDefinition 3.3 (Erkennbarkeit)Es sei A ein Automaten-Funktor in der Kategorie C und J, K zwei Objektevon C. Die (J, K)-Sprache L J,K (A) ist definiert als die Menge, die allesolchen Pfeile f : J → K enthält, für die ein s ∈ IJA und ein t ∈ F KAexistieren, die durch A(f) in Relation gesetzt werden. Eine Menge L J,K vonPfeilen von J nach K ist erkennbar in C, wenn sie die (J, K)-Sprache einesAutomaten-Funktors A : C → Rel ist.Definition 3.4 (Erkennbare <strong>Graph</strong>-<strong>Sprachen</strong>)Eine Menge L von <strong>Graph</strong>en <strong>mit</strong> innerem Interface J und äußerem InterfaceK ist erkennbar, wennL I,J = {[G] : J → G ← K|G ∈ L}eine erkennbare Sprache in der Kategorie Cospan(H<strong>Graph</strong>) ist.Die letzten vier Definitionen sind aus [4] entnommen und folgen stellenweisewörtlich der Darstellung in [14].Eine erkennbare <strong>Graph</strong>sprache ist also eine erkennbare Pfeilsprache in derKategorie Cospan(H<strong>Graph</strong>).Erkennbare <strong>Graph</strong>sprachen sind aber nicht die einzigen erkennbaren <strong>Sprachen</strong>.In einigen Fällen lassen sich Eigenschaften gleich für eine ganze Familievon erkennbaren <strong>Sprachen</strong> beweisen. In dieser Arbeit wird unter anderemgezeigt, dass die Konkatenation zweier erkennbarer <strong>Graph</strong>sprachen wiedereine erkennbare <strong>Graph</strong>sprache ergibt. Dieser Satz wird allerdings zunächstohne direkten Bezug auf die Kategorie H<strong>Graph</strong> bewiesen. Stattdessenbetrachten wir allgemeiner adhäsive Kategorien. Die Kategorie H<strong>Graph</strong>selbst ist eine adhäsive Kategorie, es gibt allerdings auch andere adhäsiveKategorien. Wir wollen im Folgenden nun den Begriff der adhäsiven Kategoriedefinieren.Die folgende Definition ist nach [15].


KAPITEL 3. ERKENNBARE GRAPHSPRACHEN 12Definition 3.5 (Van-Kampen-Viereck)Es sei ein Pushout P wie in der folgenden Abbildung gegeben:DnBgfAmCAbbildung 3.1: Van-Kampen-ViereckFalls dieser Cospan für jeden kommutierenden Würfel wie in Abbildung 3.2(in der Abbildung wird der Würfel von oben betrachtet) in dem der Cospanden Boden des Würfels bildet und in dem die die beiden hinteren Seiten desWürfels Pullbacks sind die folgende Bedingung erfüllt:• Die vorderen beiden Seiten sind Pullbacks, genau dann, wenn die obereSeite ein Pushout istso nennen wir diesen Pushout P ein van-Kampen-Viereck.C ′f ′A ′ m ′g ′ B ′n ′D ′AgDmCnfBAbbildung 3.2: WürfelDie folgende Definition ist [15] entnommen.Definition 3.6 (Adhäsive Kategorien)Eine Kategorie C nennen wir adhäsiv, wenn die folgenden drei Bedingungenerfüllt sind:• C hat Pushouts entlang von Monomorphismen, das heißt, entlangMonomorphismen existiert immer ein Pushout


KAPITEL 3. ERKENNBARE GRAPHSPRACHEN 13• C hat Pullbacks, das heißt, gegeben zwei Pfeile f und g wie in derDefinition des Pullbacks, existiert immer ein Pullback.• Pushouts entlang Monomorphismen sind van-Kampen-Vierecke.Adhäsive Kategorien haben einige angenehme Eigenschaften, die im Folgendenkurz dargestellt werden. Die Aussagen sind [15] entnommen und dortauch bewiesen.Satz 3.7 Gegeben sei eine Kategorie K und die Monomorphismen A → Bund B → C. Wenn es ein Pushout-Komplement zu A → B und B → C gibt,ist dieses bis auf Isomorphie eindeutig.Satz 3.8 Gegeben sei eine adhäsive Kategorie C und ein Objekt Z ∈ C.Wir betrachten die Kategorie Sub(Z), die alle Monomorphismen nach Z inC als Pfeile hat und alle Objekte, für die es einen Monomorphismus nach Zgibt, als Objekte hat. Dann gibt es in C für jedes Paar von Objekten A, B einProdukt-Objekt D, das wir als Pullback von A und B über Z gewinnen. Wirschreiben D = A ∩ B. Weiterhin hat jedes Paar von Objekten A, B auch einCoprodukt-Objekt E, wir schreiben A ∪ B = E. In C gilt das Distributivgesetzfür ∪ und ∩, es gilt also(A ∪ B) ∩ X = (A ∩ X) ∪ (B ∩ X)für alle A, B, X, die Objekte in Sub(Z) sind.Definition 3.9 (Atomare Cospan-Menge) [1]Die atomare Cospan-Menge enthält für alle Kantenlabel A und alle natürlichenZahlen n die Alphabetssysmbole connect n A,θ , vertex n i , permn π und res n i ,die die folgenden Cospans umsetzen:• res n i : Der i-te Knoten wird verschattet. Der Cospan I → G ← J hatdie folgende Form: G = J und für j = 1, ..., i − 1 wird der j-te Knotenvon I auf den j-ten Knoten von G abgebildet, für j = i + 1, ..., n wirdder j-te Knoten von I auf den j + 1-ten Knoten von G abgebildet.1ni1in − 1• perm n π: π ist hierbei eine Permutation der Zahlen 1, ..., n, diese Operationändert die Reihenfolge der Knoten im Interface. Es gilt I = G = Jund für i = 1, ..., n wird der i-te Knoten von I auf den i-ten Knotenvon G abgebildet. Der i-te Knoten von J wird auf den π(i)-ten Knotenvon G abgebildet.


KAPITEL 3. ERKENNBARE GRAPHSPRACHEN 141π1nn• vertex n i : Fügt einen Knoten an i-ter Position zum Interface hinzu. DerCospan I → G ← J hat die folgende Form: G = J, J enthält n + 1Knoten und I enthält n Knoten. Für j = 1, ..., i − 1 wird der j-teKnoten aus I auf den j-ten Knoten aus G abgebildet, für j = i, ..., nwird der j-te Knoten aus I auf den j + 1-ten Knoten aus G abgebildetund der i-te Knoten hat kein Urbild in I. Für j = 1, ..., n wird der j-teKnoten aus J auf den j-ten Knoten aus G abgebildet.1ini1n + 1• connect n A,θ: Fügt eine Kante <strong>mit</strong> dem Label A hinzu. Es ist I = J undG enthält genau die Knoten aus I, aber zusätzlich eine Kante <strong>mit</strong> LabelA, die die in θ angegebenen Knoten verbindet. θ ist eine Sequenz vonZahlen von 1 bis n. Für i = 1, ..., n wird der i-te Knoten von I auf deni-ten Knoten aus G abgebildet und der i-te Knoten von J auf en i-tenKnoten aus G abgebildet.1nθA1nWir nennen die Einschränkung der Kategorie Cospan(H<strong>Graph</strong>) auf diePfeile aus der Menge der atomaren Cospans ACospan(H<strong>Graph</strong>).ACospan(H<strong>Graph</strong>) hat also als Objekte die Hypergraphen und als Pfeiledie atomaren Cospans. Es ist allerdings zu beachten, dass es sich beiACospan(H<strong>Graph</strong>) nicht um eine Kategorie handelt, da die Konkatenationzweier Pfeile in ACospan(H<strong>Graph</strong>) nicht wieder einen Pfeil inACospan(H<strong>Graph</strong>) ergibt.Definition 3.10 (Zerlegung von Cospans)Gegeben sei ein Cospan c der Kategorie Cospan(H<strong>Graph</strong>). Wir nenneneine Sequenz c 1 , c 2 , ..., c n von konkatenierbaren Cospans der KategorieCospan(H<strong>Graph</strong>) eine Zerlegung des Cospans c, falls der Cospan


KAPITEL 3. ERKENNBARE GRAPHSPRACHEN 15d = c 1 ; c 2 ; ... ; c n der durch Konkatenation der Cospans c 1 , c 2 , ..., c n entstehtgleich c ist, also c = c 1 ; c 2 ; ... ; c n gilt.Definition 3.11 (<strong>Graph</strong>-Automat über der Menge der atomarenCospans)Gegeben sei eine Abbildung A : ACospan(H<strong>Graph</strong>) → Rel, die jedes ObjektX von ACospan(H<strong>Graph</strong>) auf eine endliche Menge A(X) abbildetund jeden Pfeil f : X → Y von ACospan(H<strong>Graph</strong>), auf eine RelationR(f) ⊆ A(X) × A(Y ). Wir nennen das Bild eines Objektes X vonACospan(H<strong>Graph</strong>) unter A die Menge der Zustände von X. Für jedeMenge A(X) gebe es eine ausgezeichnete Menge IX A von Startzuständen undeine Menge FX A von Endzuständen.Die Abbildung A verallgemeinern wir auf Sequenzen von konkatenierbarenatomaren Cospans <strong>mit</strong> Hilfe der folgenden beiden Gleichungen:A(ɛ) = idA(σ 1 ; σ 2 ) = A(σ 1 ); A(σ 2 )Falls für jeden Cospan der Kategorie Cospan(H<strong>Graph</strong>) und jedes Paarvon Zerlegungen dieses Cospans in Sequenzen von atomaren Cospans σ 1 undσ 2 die Gleichung A(σ 1 ) = A(σ 2 ) gilt, nennen wir A einen <strong>Graph</strong>-Automatenüber der Menge der atomaren Cospans.Ein <strong>Graph</strong> wird von einem <strong>Graph</strong>-Automaten über der Menge der atomarenCospans akzeptiert, falls es für eine Zerlegung σ des <strong>Graph</strong>en in atomareCospans einen Pfad im Automaten gibt, der einen Startzustand <strong>mit</strong> einemEndzustand verbindet. Die Menge aller von einem <strong>Graph</strong>-Automaten überder Menge der atomaren Cospans akzeptiertierten <strong>Graph</strong>en nennen wir dieSprache von A oder in Zeichen L(A).Satz 3.12 Wenn L eine erkennbare <strong>Graph</strong>-Sprache ist, dann gibt es einen<strong>Graph</strong>-Automaten über der Menge der atomaren Cospans, der L akzeptiert.Umgekehrt, falls es einen <strong>Graph</strong>-Automaten über der Menge der atmoarenCospans A gibt, so ist L(A) eine erkennbare <strong>Graph</strong>-Sprache.Wir bemerken noch, dass die über den atomaren Cospan-Mengen definiertenAutomaten im Grunde keine Automatenfunktoren sind, da sie die Funktor-Eigenschaft in der angegebenen Form nicht erfüllen. Um einen Funktorzu erhalten, muss man allerdings nur jede Folge von Zustandsübergängenz 1 , z 2 , ..., z k <strong>mit</strong>tels der Operatorfolge (op 1 , op 1 , ..., op k−1 ) im Automatendurch einen Übergang von z 1 nach z k <strong>mit</strong> dem Cospan, der sich als Pushoutder Operatoren op 1 bis op k−1 ergibt, ergänzen.Wir wollen uns die Definitionen dieses Kapitels nun an einem Beispiel verdeutlichen.


KAPITEL 3. ERKENNBARE GRAPHSPRACHEN 16Beispiel 3.13 In diesem Beispiel werden wir einen <strong>Graph</strong>-Automaten überder atomaren Cospan-Menge konstruieren, der die Sprache aller zusammenhängenden<strong>Graph</strong>en <strong>mit</strong> beliebigen Interface-Größen J und K akzeptiert.Wir werden uns in diesem Automaten merken, welche verschiedenen Komponentenes gibt und erlauben das Verschatten eines Knotens immer nurdann, wenn es noch einen anderen Knoten in dieser Komponente gibt, oderwenn es sich um den einzigen Knoten im Interface handelt und anschließendkein Knoten mehr eingelesen wird. Wir können dies fordern, denn wennein Knoten, der noch nicht zu einem anderen Knoten im Interface adjazentist verschattet wird, so kann dieser nicht mehr in die gleiche Komponentegelangen wie die übrigen im Interface befindlichen Knoten, es kann alsokein zusammenhängender <strong>Graph</strong> mehr entstehen. Gibt es nach Einlesen desgesamten <strong>Graph</strong>en nur noch eine Äquivalenzklasse im Interface, so müssenalso alle Knoten in der gleichen Zusammenhangskomponente liegen.Zu jedem Interface I <strong>mit</strong> mindestens einem Knoten wählen wir als Zuständealle Äquivalenzrelationen auf der Knotenmenge in I. Falls das StartinterfaceJ leer ist, gibt es weiterhin einen Zustand Z s zum leeren Interface, falls dasZielinterface K leer ist, gibt es einen Zustand Z e zum leeren Interface.Als Startzustände wählen wir Z s , falls J leer ist, sonst wählen wir den Zustandzum Interface J, bei dem die zugehörige Äquivalenzrelation ≡ dieGleichheit ist. Als Endzustände wählen wir Z e , falls K leer ist, ansonstenden Zustand zum Interface K, in dem alle Knoten zueinander äquivalentsind.Wir erlauben nun einen Zustandsübergang von einem Zustand ≡ a zum InterfaceI a in einen Zustand ≡ b zum Interface I b <strong>mit</strong> der Operation op, falls:• op = perm n π: Falls x ≡ a y ⇔ x ≡ b y• op = vertex n i : Falls der i-te Knoten im Interface I b nur zu sich selbstäquivalent ist und für alle übrigen Knoten gilt x ≡ a y ⇔ x ≡ b y• op = connect n A,s : Die Äquivalenzklassen modulo ≡ b außer denen, indenen Knoten aus s liegen, sind die gleichen wie die Äquivalenzklassenmodulo ≡ a , die Äquivalenzklassen der Knoten in s werden hingegen zueiner Äquivalenzklasse zusammengeführt.• op = res n i : Falls die Äquivalenzklasse C des i-ten Knotens v in I nichtnur v enthält, ist diese Operation erlaubt, dann sind alle Äquivalenzklassenaußer C von ≡ a auch Äquivalenzklassen in ≡ b und C \ {v} istdie einzige weitere Äquivalenzklasse in ≡ b . Falls K leer ist, erlaubenwir den Übergang auch dann, wenn v der einzige Knoten im Interfaceist, dann muss der Zielzustand Z e sein.Wir zeigen nun zunächst, dass es sich hierbei um einen <strong>Graph</strong>automatenüber der atomaren Cospanmenge handelt. Zu zeigen ist, dass für zwei Zerlegungendes gleichen Cospans in Sequenzen von atomaren Cospans σ 1 und σ 2


KAPITEL 3. ERKENNBARE GRAPHSPRACHEN 17die gleich Zustandsmenge erreichbar ist. Nun ist es aber so, dass durch dieZerlegung des Cospans in σ 1 der erreichte Zustand bereits eindeutig festgelegtist, wir müssen nur noch zeigen, dass der erreichte Zustand <strong>mit</strong> σ 1 und σ 2identisch ist. Angenommen, σ 1 gelange in den Zustand ≡ a und σ 2 in denZustand ≡ b . Wäre ≡ a ungleich ≡ b , so gäbe es o.B.d.A. ein Paar von Knoten(u, v) im erzeugten <strong>Graph</strong>en G, der unter ≡ a äquivalent ist, aber nicht unter≡ b . Da u ≡ a v richtig ist, muss es in σ 1 eine connect n A,θ-Operation geben<strong>mit</strong> u ∈ θ und v ∈ θ. Dann muss es aber eine Kante geben, die u und vin G verbindet. Also muss diese Kante auch in σ 2 erzeugt werden. Wenndiese Kante erzeugt wird, müssen u und v allerdings in die gleiche Äquivalenzklassegelangen. Da es keine Operation gibt, bei der u und v wiederin unterschiedliche Äquivalenzklassen gelangen könnten, muss auch u ≡ b vgelten. Das steht im Widerspruch zur Annahme, dass a ≢ b v richtig ist, alsomüssen ≡ a und ≡ b identisch sein.Bleibt zu zeigen, dass der Automat auch genau die Sprache der zusammenhängenden<strong>Graph</strong>en akzeptiert. Ist ein <strong>Graph</strong> zusammenhängend, so gibtes zwischen zwei Knoten x und y immer einen (ungerichteten) Pfad im<strong>Graph</strong>en. Die Erzeugung der zugehörigen Kanten vereinigt so die Äquivalenzklassenvon x und y. Also liegen alle Knoten in der gleichen Äquivalenzklasse,also wird jeder zusammenhängende <strong>Graph</strong> akzeptiert.Andersherum, wird ein <strong>Graph</strong> akzeptiert, so muss jeder Knoten, der auf demWeg erzeugt wird, in dieselbe Äquivalenzklasse fallen, denn jeder Knotenkann nur verschattet werden, wenn es noch einen Knoten der gleichen Äquivalenzklassegibt und akzeptiert wird nur, wenn es am Ende nur noch eineÄquivalenzklasse gibt. Insgesamt ist also die Sprache der zusammenhängenden<strong>Graph</strong>en erkennbar.


Kapitel 4<strong>Graph</strong>transformationssystemeund kontextfreie RegelnDie folgenden drei Definitionen sind [13] entnommen. Wir beginnen da<strong>mit</strong>,Isomorphie zwischen zwei <strong>Graph</strong>en zu definieren. Hierbei handelt es sich umdie Isomorphien der Kategorie H<strong>Graph</strong>, da wir die Isomorphie konkret fürdiese Kategorie allerdings benötigen werden, geben wir diese hier an.Lemma 4.1 (Isomorphie)Wir nennen zwei <strong>Graph</strong>en G, H isomorph, falls es einen Morphismus ϕ :G → H gibt, dessen Komponenten ϕ V und ϕ E bijektiv sind. Wir schreibenauch G ∼ = H.Definition 4.2 (Verkleben von <strong>Graph</strong>en)Es seien I, G 1 , G 2 <strong>Graph</strong>en <strong>mit</strong> <strong>Graph</strong>morphismen ϕ 1 : I → G 1 , ϕ 2 : I → G 2 .Wir nennen den <strong>Graph</strong>en I = (V I , E I , att I , lab I ) das Interface und nehmenan, dass die Knoten- und Kantenmengen aller drei <strong>Graph</strong>en disjunkt sind. Essei ≡ die kleinste Äquivalenzrelation auf V 1 ∪ E 1 ∪ V 2 ∪ E 2 , die ϕ 1 (x) ≡ ϕ 2 (x)für alle x ∈ V I ∪ E I erfüllt. Dann bezeichnen wir als Verklebung der <strong>Graph</strong>enG 1 und G 2 über dem Interface I den <strong>Graph</strong>en G = (V, E, att, lab) der diefolgenden vier Bedingungen erfüllt:• V = (V 1 ∪ V 2 )/ ≡• E = (E 1 ∪ E 2 )/ ≡• att : E → V ∗ <strong>mit</strong> att([e] ≡ ) = [v 1 ] ≡ ...[v k ] ≡ , wobei{att 1 (e) , falls e ∈ E 1v 1 ...v k =att 2 (e) , falls e ∈ E 2• lab : E → Λ <strong>mit</strong>lab([e] ≡ ) ={lab 1 (e) , falls e ∈ E 1lab 2 (e) , falls e ∈ E 218


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 19Wir schreiben G = G 1 + ϕ1 ,ϕ 2G 2 .Die Verklebung zweier <strong>Graph</strong>en kann auch als Pushout von ϕ 1 und ϕ 2verstanden werden, das Verklebe-Interface ist dann das gemeinsame Interfaceder beiden Cospans. Vergleiche auch folgende Abbildung.ϕ 1C G 1ϕ 2G 2GAbbildung 4.1: VerklebungDefinition 4.3 (<strong>Graph</strong>transformationssysteme)• Eine <strong>Graph</strong>transformationsregel besteht aus drei <strong>Graph</strong>en L, I, R undinjektiven Morphismen ϕ L , ϕ R . Wir schreiben eine solche <strong>Graph</strong>transformationsregelalsL ϕ L←− I ϕ R−−→ R.• Gegeben sei nun eine <strong>Graph</strong>transformationsregel T = L ϕ L←− I ϕ R−−→ R.Wir sagen, ein <strong>Graph</strong> G wird zu einem <strong>Graph</strong>en H transformiert,wenn es einen <strong>Graph</strong>en C, den so genannten Kontext, und einen<strong>Graph</strong>morphismus ψ : I → C gibt <strong>mit</strong>Wir schreiben G ⇒ T H.G ∼ = L + ϕL ,ψ CH ∼ = R + ϕR ,ψ C.• Ein <strong>Graph</strong>transformationssystem ist ein Tupel (G 0 , R) wobei G 0 eineMenge von <strong>Graph</strong>en, die initialen <strong>Graph</strong>en oder Startgraphen, ist undR eine Menge von <strong>Graph</strong>transformationsregeln.Die Anwendung einer <strong>Graph</strong>transformationsregel entspricht einem doppeltenPushout, daher nennt man diesen Ansatz auch Double-Pushout-Ansatz.Vergleiche die folgende Abbildung:


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 20L I Rϕ Lϕ RG C HAbbildung 4.2: Double-PushoutIm Kontext der Kategorientheorie wird die Anwendung einer Regel auf einen<strong>Graph</strong>en in der Regel durch eine Präfix-Ersetzung umgesetzt. Ist also eineRegel L → I ← R gegeben, so gehören zwei Cospans zu dieser Regel, dieCospans∅ ← L → Iund∅ → R ← I.Für einen gegebenen <strong>Graph</strong>en G wird dann untersucht, ob sich der Cospanschreiben lässt als∅ → G ← ∅∅ → L ← I ; I → C ← ∅.Falls das der Fall ist, wird der Cospan ersetzt durch∅ → R ← I ; I → C ← ∅.Hierbei nennen wir den <strong>Graph</strong>en C den Kontext, in dem die Regel angewandtwird.Im Folgenden wollen wir von dieser Standard-Betrachtungsweise ein wenigabrücken. Im Wesentlichen benötigen wir für den Beweis der ersten Abschlusseigenschaftfür <strong>Graph</strong>sprachen eine Betrachtungsweise, in der nicht zwingendein Präfix ersetzt wird, sondern in der auch vor dem Vorkommen der linkenSeite ein Kontext zu betrachten ist. Hierzu beweisen wir die folgenden zweiSätze.Satz 4.4 Gegeben sei ein Cospan ∅ → G ← I. Es giltBeweis: Wir betrachten∅ → G ← I = ∅ → I id I←−− I ; I → G ← I.∅ → I id I←−− I ; I → G ← I.Die Konkatenation der beiden Cospans erhalten wir, indem wir den Pushoutvon G und I über dem Interface I bilden. Es ergibt sich wiederum G, alsoinsgesamt der Cospan ∅ → G ← I wie behauptet.□


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 21αDefinition 4.5 Es seien c : C1 α1 −→ C ←−2C2 und d : D id D−−→ Did D←−− Dzwei Pfeile der Kategorie Cospan(H<strong>Graph</strong>). Die Interfaces C 1 , C 2 undD sind diskrete <strong>Graph</strong>en (nicht zwingend die gleichen), enthalten also nurKnoten und keine Kanten. Wir können die Knotenmengen eines Interfacesidentifizieren <strong>mit</strong> der Menge {0, 1, 2, ..., n} = [n]. Da bei Interfaces dieReihenfolge der Knoten wichtig ist, verwenden wir diese Darstellung. Wirnennen im Folgenden also C 1 [n 1 ], C 2 [n 2 ] und D [m]. Dann ist c ⊕ d eineMenge von Cospans der Kategorie Cospan(H<strong>Graph</strong>), die wie folgt definiertγ 1 γ 2sei. Es gilt c ⊕ d ∋ e <strong>mit</strong> e = E 1 −→ E ←− E2 , falls folgende Bedingungenerfüllt sind:• E 1 = [n 1 + m]• E 2 = [n 2 + m]• Es gibt eine injektive Abbildung [n 1 ] f 1−→ [n 1 + m], jeder Knoten in C 1hat also einen anderen Bildknoten in E 1 .• Es gibt eine injektive Abbildung [m] g 1−→ [n 1 + m], jeder Knoten in Dhat also einen anderen Bildknoten in E 1 .• f 1 und g 1 sind gemeinsam surjektiv. Dadurch wird sichergestellt, dassjeder Knoten in E 1 auch einen zugehörigen Urbildknoten aus C 1 oderD hat.• i < j =⇒ f 1 (i) < f 1 (j), diese Bedingung stellt sicher, dass dieReihenfolge der Knoten aus C 1 in C 1 und E 1 gleich ist.• i < j =⇒ g 1 (i) < g 1 (j), diese Bedingung stellt sicher, dass dieReihenfolge der Knoten aus D in D und E 1 gleich ist.• Es gibt einen injektiven <strong>Graph</strong>morphismus f von C nach E• Es gibt einen injektiven <strong>Graph</strong>morphismus g von D nach E• f und g sind gemeinsam surjektiv.• codom(f) ∩ codom(g) = ∅ Durch die letzten vier Bedingungen wirdsichergestellt, dass E genau den <strong>Graph</strong>en repräsentiert, der durch diedisjunkte Vereinigung von C und D entsteht.• Es gibt eine injektive Abbildung [n 2 ] f 2−→ [n 2 + m], jeder Knoten in C 2hat also einen anderen Bildknoten in E 2 .• Es gibt eine injektive Abbildung [m 2 ] g 2−→ [n 2 + m], jeder Knoten in Dhat also einen anderen Bildknoten in E 2 .


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 22• f 2 und g 2 sind gemeinsam surjektiv. Dadurch wird sichergestellt, dassjeder Knoten in E 2 auch einen zugehörigen Urbildknoten aus C 2 oderD hat.• i < j =⇒ f 2 (i) < f 2 (j), diese Bedingung stellt sicher, dass dieReihenfolge der Knoten aus C 2 in C 2 und E 2 gleich ist.• i < j =⇒ g 2 (i) < g 2 (j), diese Bedingung stellt sicher, dass dieReihenfolge der Knoten aus D in D und E 2 gleich ist.• Das folgende Diagramm kommutiert:α 1C 1 C Cα 22f 1ff 2γ 1E 1 E Eγ 22g 1gg 2id DD D Did DWir können den Operator anschaulich so interpretieren, dass er auf alleCospans abbildet, die die Knoten aus M irgendwie – aber in fester Reihenfolge– in den Cospan I → G ← I einordnet. Wenn wir im Folgenden sagen, einCospan sei c : (M → M ← M) ⊕ (J → G ← I), dann ist da<strong>mit</strong> gemeint,dass es sich um irgendeinen Cospan aus dieser Menge handelt.Lemma 4.6 Gegeben seien drei Cospans der Kategorie H<strong>Graph</strong>c 1 : ∅ → G 1m ←− Mundc 2 : M → G 2 + M ϕ 1←− I + M ∈ (M id M−−→ Mwobeid 1 : ∅ → G 2 ← IG 1 ∩ G 2 = ∅id M←−− M) ⊕ (∅ → G 2 ← I)gilt und ϕ 1 id M enthält. Dann gilt für jeden Cospan der Form<strong>mit</strong>d 2 : I → G 1 + I ϕ 2←− I + M ∈ (I id I−−→ I id Im←−− I) ⊕ (∅ → G 1 ←− M)M + I ϕ 1−→ (M + G 2 )| Im(ϕ1 ) = M + I ϕ 2−→ (I + G 1 )| Im(ϕ2 )die Gleichung c 1 ; c 2 = d 1 ; d 2 .


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 23Beweis: Wir konkatenieren die Cospans c 1 und c 2 <strong>mit</strong>tels Pushout. DerPushout von G 1 und G 2 ∪ M über M ist G 1 ∪ G 2 ∪ M und da M ⊆ G 1richtig ist, ergibt sich der Cospanc 1 ; c 2 = ∅ → (G 1 ∪ G 2 ) ← (I ∪ M).Weiterhin konkatenieren wir die Cospans d 1 und d 2 <strong>mit</strong>tels Pushout. DerPushout von G 2 und G 1 ∪ I ist G 2 ∪ G 1 ∪ I und wegen I ⊆ G 2 ergibt sichder Cospand 1 ; d 2 = ∅ → (G 1 ∪ G 2 ) ← (I ∪ M).Das gilt für alle möglichen Wahlen von d 2 . Da das linke Interface das leereInterface ist, der <strong>Graph</strong> der gleiche ist und die Gleichheit des rechten Interfacesdurch die Bedingung an ϕ 1 und ϕ 2 sichergestellt ist, handelt es sichum die gleichen Cospans.□Lemma 4.7 Es seien drei Cospans der Kategorie H<strong>Graph</strong> gegeben, beidenen alle Pfeile injektiv sind:c 1 : J → C 1 ← Kc 2 : J → C 2 ← Kd : K → D 1 ← M.Falls c 1 ; d = c 2 ; d richtig ist, folgt c 1 = c 2 .Beweis: Es sei E das Pushoutobjekt von D 1 und C 1 über K. Da c 1 ; d = c 2 ; dist, ist E auch das Pushoutobjekt von D 1 und C 2 über K. Wegen c 1 ; d = c 2 ; dmuss insbesondere auch geltenJ → C 2 → E = J → C 1 → E.Da bei injektiven Morphismen das Pushout-Komplement, wenn es existiert,eindeutig ist, gibt es einen Isomorphismus zwischen C 1 und C 2 und dasfolgende Diagramm kommutiert:D 1KEC 1C 2


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 24Da<strong>mit</strong> können wir dann berechnenJ → C 2 → C 1 → E = J → C 2 → E = J → C 1 → E 1 .Da<strong>mit</strong> gilt also die Behauptung.□Satz 4.8 Es sei c ein Cospan und l ein Cospan, so dass wir l und c zu l ; ckonkatenieren können. Weiterhin sei M ein diskreter <strong>Graph</strong>, sowie c 1 undc 2 Cospans, so dass l ; c ∈ c 1 ;(l ⊕ id M ) ; c 2 gilt. Ist nun L ← I → R eine<strong>Graph</strong>ersetzungsregel und l = (∅ → L ← I) sowie r = (∅ → R ← I), dannkönnen wir schreibenDann giltfür alle (M → R + Ml ; c = c 1 ;(M → L + Mr ; c = c 1 ;(M → R + Mϕr←− I + M) ∈ r ⊕ id M <strong>mit</strong>ϕ l←− I + M) ; c 2 .ϕr←− I + M) ; c 2M → L + M| Im(ϕl ) ← I + M = M → R + M| Im(ϕr) ← I + MBeweis: Da c 1 ;(l ⊕ id M ) ; c 2 ∋ l ; c richtig ist, lässt sich c schreiben als c ′ 1 ; c 2,wir müssen in dieser Schreibweise also zeigen dassc 1 ;(M → R + Mϕr←− I + M) ; c 2 = r ; c ′ 1 ; c 2richtig ist. Da c 2 ein gemeinsames Suffix der beiden Cospans ist, bleibt abernur noch zu zeigenc 1 ;(M → R + Mϕr←− I + M) = (∅ → R ← I) ; c ′ 1.Dabei beachten wir, dass wir bereits wissen, dass gilt:c 1 ;(M → L + Mϕ l←− I + M) = (∅ → L ← I) ; c ′ 1.Auf Grund dieser Feststellung wissen wir bereits, dass in beiden Fällen daslinke Interface ∅ und das rechte Interface M ∪ I sein muss. Wir betrachtennun also noch einmal die Gleichung c 1 ;(M → L + Mϕ l←− I + M) = l ; c ′ 1 . Wirstellen fest, dass links die I-Knoten erst im Teil des Typs l ⊕ id M erzeugtwerden, insbesondere also nicht adjazent zu irgendeinem Knoten in c 1 seinkönnen. Dann kann aber auch c ′ 1 nur Knoten und Kanten erzeugen, die nichtzu einem der Knoten aus I adjazent sind. Dann ist also c ′ 1 vom Typ ĉ 1 ⊕ id I .Mit unserem Lemma 4.6 sehen wir außerdem ein, dassc 1 ;(M → L + Mϕr←− I + M)<strong>mit</strong>c 1 = ∅ → C 1 ← M


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 25sich schreiben lässt alsl ;(∅ + I → C 1 + I ← M + I)also auch, <strong>mit</strong> Hilfe von Lemma 4.7 ĉ 1 = c 1 gilt. Da<strong>mit</strong> muss weiterhinrichtig sein.Wir wissen nun also, dass giltundr ;(∅ + I → C 1 + I ← M + I) = r ; c ′ 1r ; c ′ 1 = (∅ → R ← I) ;(I → C 1 + I ← M + I)c 1 ;(M → R + M ϕ 2←− M + I) = (∅ → C 1 ← M) ;(M → R + M ϕ 2←− M + I).Dass beide Ausdrücke gleich sind, sehen wir nun wieder <strong>mit</strong>tels Lemma 4.6ein.□Folgerung 4.9 Der <strong>Graph</strong>ersetzungsformalismus, der sich ergibt, wenn mannach Zerlegungen des Cospans des <strong>Graph</strong>en sucht, die in der Form∅ → G 1 ← I + M ; I + M α −→ L + Mα ←− I + M ; I + M → G 2 ← ∅sind und den Teilcospan I l −→ L l ←− I durch I r −→ R r ←− I ersetzt, ist äquivalentzur Präfix-Ersetzung.Beweis: Wir wenden zunächst den Satz 4.8 an und können schreiben∅ → R ← I ; I → C ← ∅ =∅ → C 1 ← M ; M → R ← M + I ; M + I → M + C 2 ← ∅und anschließend den Satz 4.4 und erhalten∅ → C 1 ← M ; M → M + R β ←− M + I ; M + I → M + C 2 ← ∅= ∅ → C 1 ← M ; M → M + I id M+I←−−−− M + I ;M + I β −→ M + R β ←− M + I ; M + I → M + C 2 ← ∅= ∅ → C 1 + I ← M + I ; M + I β −→ M + R β ←− M + I ;M + I → M + C 2 ← ∅Für den Fall, dass in dem Präfix-Cospan die Knoten aus I nur erzeugt werdenund anderweitig nicht verwendet werden, haben wir also bereits Gleichheit.


KAPITEL 4. GTS UND KONTEXTFREIE REGELN 26Wir können aber schließlich auch beliebige Teil-Cospans des Suffix-Cospans,die das Interface I + M erhalten, in den Präfix-Cospan ziehen, denn es gilt:∅ → A ← B ; B β 1−→ C β 1←− B ; B β 2−→ D β 2←− B ; B → B ← E= ∅ → A ← B ; B β 2−→ D β 2←− B ; B β 1−→ C β 1←− B ; B → B ← Efür beliebige Cospans von Hypergraphen B β 2−→ D β 2←− B und B β 1−→ C β 1←− B.Das sieht man ein durch Abgleich der sich ergebenden Cospans, wenn mandie Pushouts bildet.Weiterhin sehen wir ein, dass Präfix-Ersetzung ein Spezialfall unserer Interpretationder <strong>Graph</strong>ersetzung ist (der erste Cospan ist einfach der leereCospan ∅ → ∅ ← ∅).Andersherum: Wenn es eine Zerlegung eines Cospans c gibt <strong>mit</strong>c = ∅ → A ← B + I ; B + I → B + L ← B + I ; B + I → C ← D,dann gibt es eine Zerlegung des Cospans ∅ → A ← B + I zu∅ → A ′ ← B ; B → A ′′ ← B + Iund dieser kann wieder weiter zerlegt werden zu∅ → A ′ ← B ; B → B + I ← B + I ; B + I → A ′′ ← B + I.Anschließend kann der letzte dieser Cospans in das Suffix gezogen werden,so dass wir die Gesamtsituation erhalten:∅ → Â ← B ; B → B + L ← B + I ; B + I → C′ ← DDa nun im <strong>mit</strong>tleren Cospan die B-Knoten isolierte Knoten sind, könnenwir wieder nach Lemma 4.6 den <strong>mit</strong>tleren Cospan nach vorne ziehen underhalten die Zerlegung∅ → L ← I ; I → Â + I ← B + I ; B + I → C′ ← D.Also ist auch immer dann, wenn in der neuen Interpretation der <strong>Graph</strong>ersetzungeine Regelanwendung möglich ist, eine Regelanwendung in der Präfix-Ersetzung möglich.□In der Theorie formaler <strong>Sprachen</strong> bezeichnet man Regeln dann als kontextfrei,wenn ein einzelnes Symbol auf der linken Seite der Regel steht und die rechteSeite der Regel mindestens ein Symbol enthält. Analog wollen wir nun denBegriff der kontextfreien <strong>Graph</strong>ersetzungsregel definieren.Definition 4.10 (Kontextfreie <strong>Graph</strong>ersetzungsregeln)[9]Eine <strong>Graph</strong>ersetzungsregel L ← I → R nennen wir kontextfrei, wenn sie diefolgenden Bedingungen erfüllt:• L ist ein zusammenhängender Hypergraph <strong>mit</strong> nur einer Kante.• I ist ein <strong>Graph</strong> der genau so viele Knoten wie L enthält, aber keineKante hat.


Teil II<strong>Abschlusseigenschaften</strong> von<strong>Graph</strong>sprachen27


28In diesem Teil der Arbeit untersuchen wir erkennbare <strong>Graph</strong>sprachen aufihre <strong>Abschlusseigenschaften</strong>. Für reguläre <strong>Sprachen</strong> gelten eine ganze Reihevon <strong>Abschlusseigenschaften</strong>, manche hiervon – Abschluss unter Schnitt,Vereinigung und Komplement – lassen sich recht problemlos auf erkennbare<strong>Graph</strong>sprachen übertragen, andere Eigenschaften bedürfen einer genauerenBetrachtung. Wir werden zunächst sehen, dass die erkennbaren <strong>Graph</strong>sprachenabgeschlossen sind unter der Anwendung invers kontextfreier <strong>Graph</strong>ersetzungsregeln.Anschließend betrachten wir die Frage der Abgeschlossenheit unter Konkatenationein wenig allgemeiner. Wir werden zeigen, dass die erkennbarenPfeilsprachen auf adhäsiven Kategorien unter Konkatenation abgeschlossensind. Eine konkrete Konstruktion für den Fall der erkennbaren <strong>Graph</strong>sprachenwerden wir dann im darauf folgenden Kapitel kennen lernen.Leider lassen sich aber nicht alle <strong>Abschlusseigenschaften</strong> der regulären <strong>Sprachen</strong>auf die erkennbaren <strong>Graph</strong>sprachen übertragen. Wir werden sehen,dass die erkennbaren <strong>Graph</strong>sprachen nicht abgeschlossen sind unter der Anwendunglöschender <strong>Graph</strong>ersetzungsregeln, also solchen Regeln, die einfachdas Entfernen von Kanten bestimmter Labels ermöglichen. Im letzten Kapitelwerden wir durch Angabe eines Gegenbeispiels zeigen, dass erkennbare<strong>Graph</strong>sprachen nicht abgeschlossen sind unter der Anwendung von Substitutionenund auch nicht unter Anwendung des Kleene-Sterns. Diese drei<strong>Abschlusseigenschaften</strong> werden von regulären <strong>Sprachen</strong> erfüllt.


Kapitel 5Abschluss unter inverskontextfreien RegelnZiel dieses Abschnitts ist es, zu zeigen, dass erkennbare <strong>Graph</strong>sprachenunter invers kontextfreien Regeln abgeschlossen sind. Dafür müssen wirnatürlich zunächst einmal definieren, was wir unter invers kontextfreienRegeln verstehen.Definition 5.1 (Invers kontextfreie <strong>Graph</strong>ersetzungsregel)Eine Regel L ← I → R ist eine invers kontextfreie <strong>Graph</strong>ersetzungsregel,wenn R ← I → L eine kontextfreie <strong>Graph</strong>ersetzungsregel ist.Wir werden im Folgenden hin und wieder von einem Cospan sprechen, der Lrepräsentiert und einem Cospan, der R repräsentiert. Hierzu wählen wir dieCospans I → L ← I und I → R ← I.Satz 5.2 Es sei A ein <strong>Graph</strong>-Automat, der die <strong>Graph</strong>sprache S akzeptiert.Weiterhin sei T = {T i = (L i ← I i → R i ) : 1 ≤ i ≤ t} eine Menge inverskontextfreier Regeln, das heißt, dass jedes R i genau eine Kante k i <strong>mit</strong> Labellab i enthält. Dann gilt, dass die SpracheS ′ = {H : ∃G : G ∈ L ∧ G ⇒ ∗ T H}ebenfalls eine erkennbare <strong>Graph</strong>sprache ist. S ′ entsteht also aus S, indemman S <strong>mit</strong> der Menge aller <strong>Graph</strong>en vereinigt, die durch beliebig häufigeAnwendung von Regeln aus T auf einen <strong>Graph</strong>en aus S entstehen.Beweis: Wir können annehmen, dass A ein Automat ist, der nur Übergängeder atomaren Cospan-Menge verwendet. Dann konstruieren wir einen AutomatenA ′ , der genau die Sprache S ′ akzeptiert und zeigen, dass diesertatsächlich die korrekte Sprache akzeptiert und wiederum ein <strong>Graph</strong>automatüber der atomaren Cospan-Menge ist.Wir definieren A ′ wie folgt: A ′ enthalte genau die Zustände von A und alle29


KAPITEL 5. ABSCHLUSS U. INV. KONTEXTFREIEN REGELN 30Übergänge von A. Weiterhin fügen wir allerdings neue Übergänge zu A ′hinzu. Wir betrachten für alle Knotenmengen M alle Pfade im AutomatenA ′ , deren Operatorfolgen σ einen CospanI i + M α −→ L i + M α ←− I i ∈ I i → L i ← I i ⊕ id M ,im Weiteren kurz L i ⊕id M genannt, erzeugen. Dabei können wir uns dankder Funktor-Eigenschaft des Automaten A für jede linke Seite L i auf eine fixeZerlegung in atomare Operatoren beschränken. Wir können diesen Cospanschreiben als A → B ← A, wir nennen die Zustände, die durch den Pfad σ<strong>mit</strong>einander verbunden werden z und z ′ , es gilt alsoz → σ z ′ .Für jede solche Sequenz σ fügen wir einen neuen Übergangzconnect |A|lab i ,f Ii−−−−−−−−−→ z′hinzu. Dabei gibt f Iidie Position der I i -Knoten im A-Interface an.Wir müssen nun drei Dinge zeigen:• A ′ ist ein <strong>Graph</strong>automat über der atomaren Cospan-Menge• A ′ akzeptiert alle <strong>Graph</strong>en in S ′• Alle von A ′ akzeptierten <strong>Graph</strong>en sind in S ′ .Wenn im Folgenden von der Zahl benötigter neuer Übergänge gesprochenwird, so ist dies im Fall dessen, dass die Kantenlabel der Kanten auf derrechten Seite der T i nicht auf den linken Seite der T i vorkommt, einfachdie Zahl der neuen Übergänge in der Zustandsfolge. Wenn hingegen auf derlinken Seite einer T -Regel das Kantenlabel der Kante auf einer rechten Seiteeiner T -Regel vorkommt, so ist dies nicht unbedingt identisch. Dann ist esmöglich, dass ein neuer Übergang eine Operatorfolge ersetzt, die bereits einenoder mehrere neue Übergänge beinhaltet.Formal schreiben wir für die Zahl benötigter Übergänge b(σ) eines Pfades σdurch den Automaten A ′ σ:b(σ) ={0 fallsσauchPfadinAist.∑op∈σ b(op), sonstund für die Zahl benötigter Übergänge b(op) eines neu hinzugefügten Übergangsop zur Abkürzung des Pfades σb(op) = b(σ) + 1.


KAPITEL 5. ABSCHLUSS U. INV. KONTEXTFREIEN REGELN 31Rekursiv ist die Zahl der benötigten neuen Übergänge eines neuen Übergangsalso 1, falls keine neuen Übergänge hierdurch abgekürzt werden, sonst ist esdie Summe der benötigten neuen Übergänge aller durch die Operatorfolgeverwendeten neuen Übergänge plus 1.1. Um zu zeigen, dass A ′ ein <strong>Graph</strong>automat über der atomaren Cospan-Menge ist, betrachten wir zwei beliebige Sequenzen σ 1 und σ 2 , dieden gleichen Cospan erzeugen und zeigen, dass jeder Zustand, dervon Sequenz σ 1 erreicht werden kann, auch von Sequenz σ 2 erreichtwerden kann. Da die Wahl von σ 1 und σ 2 beliebig ist, folgt dann, dassdie Menge der erreichbaren Zustände unabhängig von der gewähltenZerlegung des Cospans ist, was die erste Eigenschaft beweist.Wir betrachten hierzu eine fixe Zustandsfolge Z 1 zu σ 1 und zeigen, dassder finale Zustand z f von Z 1 <strong>mit</strong> der Sequenz σ 2 erreichbar ist. DurchZ 1 und σ 1 ist ein Pfad durch den Automaten festgelegt, die durchdiesen Pfad benötigten neuen Übergänge nennen wir im Folgenden dievon Z 1 benötigten neuen Übergänge.Wir zeigen dies per Induktion über die Zahl n der benötigten neuenZuständsübergänge in Z 1 . Wenn im Folgenden vom n + 1-ten Übergangdie Rede ist, ist die Wahl des benötigten Übergangs als n + 1-tenÜbergang beliebig, es muss allerdings ein Übergang gewählt werden,der tatsächlich auf dem Pfad liegt.Induktionsanfang (n = 0): Wenn für Z 1 keine neuen Übergängeverwendet werden müssen, so handelt es sich um eine Zustandssequenzin A. Dann ist z f auch von σ 2 in A erreichbar, insbesondere also auchin A ′ erreichbar, da alle Übergänge aus A auch Übergänge in A ′ sind.Induktionsvoraussetzung: Für alle m ≤ n gilt: Falls Z 1 genau mneue Übergänge benötigt, ist z f durch σ 2 erreichbar.Induktionsschritt (n → n + 1): Es seizconnect y lab i ,f Ii−−−−−−−−−→ z′der n+1-te benötigte neue Übergang in Z 1 . Dann lässt sich σ 1 schreibenalsσ 1 = (σ a 1 ; connect y lab i ,f Ii; σ b 1).Da σ 1 und σ 2 die gleichen Cospans erzeugen, gibt es zudem eine connect-Operation op, die gemäß der Übereinstimmung der beiden Cospans diegleiche Kante erzeugt und σ 2 lässt sich schreiben alsσ 2 = (σ a 2 ; op ; σ b 2).Wir bilden nun aus σ 1 eine neue Sequenzσ ′ 1 = (σ a 1 ; σ ; σ b 1),


KAPITEL 5. ABSCHLUSS U. INV. KONTEXTFREIEN REGELN 32in der wir den connect y lab i ,f I-Übergang ersetzen durch die zugehörigealte Sequenz σ, die durch den neuen connect y lab i ,f Ii-Übergang abgekürztwurde. Dann ist insbesondere z f durch σ ′ 1 erreichbar.Analog bilden wir die Sequenz σ ′ 2 gemäßσ ′ 2 = (σ a 2 ; σ ′ ; σ b 2)in der wir op durch eine Sequenz σ ′ ersetzen, die wir wie folgt bilden.σ lässt sich schreiben als L i ⊕id M für eine Knotenmenge M. Weiterhinist op = connect x lab i ,θ. Nun sei N eine Knotenmenge <strong>mit</strong> x−|σ| Knoten,dann wählen wir schließlich σ ′ = L i ⊕id N . Dann bilden σ 1 ′ und σ′ 2 dengleichen Cospan. Da σ 1 ′ allerdings nur n neue Übergänge verwendet, sindalle Zustände, die durch σ 1 ′ erreichbar sind, auch durch σ′ 2 erreichbar.Insbesondere ist so<strong>mit</strong> z f durch σ 2 ′ erreichbar. Wir betrachten nun eineZustandsfolge in A ′ für σ 2 ′ , <strong>mit</strong> der z f erreicht wird und betrachten dieZustände ̂x und ̂x ′ , die in der Sequenz durch σ ′ verbunden werden. NachKonstruktion von A ′ kann man auch <strong>mit</strong> op von ̂x nach ̂x ′ gelangen, dadas Präfix und Suffix bei σ 2 und σ 2 ′ identisch sind, ist also schließlichz f auch erreichbar <strong>mit</strong> σ 2 .2. Um zu zeigen, dass A ′ alle <strong>Graph</strong>en in S ′ akzeptiert, betrachten wireinen beliebigen <strong>Graph</strong>en G in S ′ . Wenn G ∈ S ′ richtig ist, dannentsteht G aus einem <strong>Graph</strong>en Ĝ ∈ S durch n-fache Anwendung vonRegeln aus T . Wir führen eine Induktion durch nach der Zahl n.Induktionsanfang (n = 0): In diesem Fall ist G ∈ S und wird so<strong>mit</strong>von A ′ akzeptiert.Induktionsvoraussetzung: Für alle m ≤ n gilt: Entsteht G durchgenau m Regelanwendungen von Regeln aus T auf einen <strong>Graph</strong>enĜ ∈ S, so wird der <strong>Graph</strong> durch A ′ akzeptiert.Induktionsschritt (n → n + 1):Wir betrachten eine Operatorsequenz σ, die G bildet. Die n + 1-teRegelanwendungen einer Regel T i aus T auf einen <strong>Graph</strong>en G ′ , derdurch n-fache Regelanwendung von Regeln aus T auf Ĝ entsteht, korrespondierenzu einer connect-Operationen op, so dassσ = (σ 1 ; op ; σ 2 )richtig ist. Wir ersetzen nun in der obigen Operatorfolge σ das op durcheine passende Sequenz σ 1 ′ , so dass die sich ergebende Operatorfolgeσ ′ = (σ 1 ; σ ′ 1 ; σ 2 )den <strong>Graph</strong>en G ′ erzeugt. Da G ′ nach Induktionsvoraussetzung von A ′akzeptiert wird, muss nach Definition des Automaten A ′ auch σ durchA ′ akzeptiert werden, G wird also von A ′ akzeptiert.


KAPITEL 5. ABSCHLUSS U. INV. KONTEXTFREIEN REGELN 333. Wir betrachten nun eine beliebige Operatorsequenz σ, die von A ′ akzeptiertwird. Um zu zeigen, dass diese Operatorsequenz auch einen<strong>Graph</strong>en in S ′ erzeugt, führen wir eine Induktion über die Zahl derbenötigten neuen Regelanwendungen für eine zu σ gehörige akzeptierendeZustandsfolge Z durch.Induktionsanfang (n = 0): Wenn keine neue Regel in der Zustandsfolgeangewendet werden muss, dann wird die Operatorsequenz auchvon A akzeptiert, der durch σ erzeugte <strong>Graph</strong> ist also in S ⊆ S ′ .Induktionsvoraussetzung: Für alle m < n gilt: Wenn genau m neueRegelanwendungen für die Zustandsfolge notwendig sind, dann erzeugtdie Operatorsequenz einen <strong>Graph</strong>en der in S ′ liegt.Induktionsschritt (n → n + 1): Wir betrachten die n + 1-te benötigteT -Regelanwendung und bemerken, dass diese zu einer connect-Operation op gehört, so dass sich σ schreiben lässt alsσ = (σ 1 ; op ; σ 2 ).Weiterhin sei G ′ ein <strong>Graph</strong>, der durch Anwendung der n+1-ten benötigtenT -Regelanwendung zu dem <strong>Graph</strong>en G, der durch σ gebildet wird,transformiert wird. Ersetzen wir die op-Operation durch eine Operatorfolgeσ ′ 1 , die das Vorkommen der linken Seite in G′ , das zur n + 1-tenT -Regelanwendung gehört, bildet, so erhalten wir eine Operatorfolgeσ ′ = (σ 1 ; σ ′ 1 ; σ 2 ),die genau den <strong>Graph</strong>en G ′ bildet und für die nur n T -Regelanwendungennotwendig sind. Per Definition des Automaten A ′ wird der Endzustand,der von σ erreicht wird, auch von σ ′ erreicht. Da σ ′ allerdings nur nT -Regelanwendungen benötigt, folgt aus der Induktionsannahme, dassG ′ ∈ S ′ ist und da G aus G ′ durch T -Regelanwendung entsteht, istauch G ∈ S ′ .□Beispiel 5.3 Wir wollen nun ein Beispiel für unsere oben angegebene Konstruktionvorführen. Wir beginnen <strong>mit</strong> einem <strong>Graph</strong>-Automaten für die SpracheL aller <strong>Graph</strong>en <strong>mit</strong> einem Knoten und gerade vielen einstelligen A-Kanten. Der Automat habe die vier Zustände z 0 , z g , z u , z e und – abgesehenvon einstelligen Permutationen – die Übergängevertex• z 0 10 −−−−→ z g• z g• z uconnect 1 [1],A−−−−−−−→ z uconnect 1 [1],A−−−−−−−→ z g


KAPITEL 5. ABSCHLUSS U. INV. KONTEXTFREIEN REGELN 34res 1 {1}• z g −−−→ z eWeiterhin verwenden wir die Menge {z 0 } als Startzustandsmenge und dieMenge {z e } als Endzustandsmenge.Wir können diesen Automaten grafisch analog zu nichtdeterministischenendlichen Automaten für Wortsprachen darstellen.startZ 0vertex 0 1connect 1 [1],Az g z ures 1 1connect 1 [1],Az eAbbildung 5.1: Eingabe-AutomatAls Regelmenge verwenden wir die Menge, die die folgenden zwei Regelnenthält:• Zwei einstellige A-Kanten die <strong>mit</strong> dem gleichen Knoten inzidieren,können durch eine einstellige B-Kante ersetzt werden.A0A00B←−−→• Drei einstellige A-Kanten die dem gleichen Knoten inzidieren könnendurch eine einstellige C-Kante ersetzt werden.AA0A←−0−→0CGemäß unserer Konstruktion müssen wir nun nach Operatorfolgen suchen,die R−I im Automaten erzeugen. I ist in beiden Regeln ein einzelner Knoten,wir suchen also für die erste Regel nach Folgen von zwei A-Kanten und fürdie zweite Regel nach Folgen von drei A-Kanten. Wir finden hierfür jeweilszwei Pfade. Für Regel 1 finden wir die folgenden Pfade:


KAPITEL 5. ABSCHLUSS U. INV. KONTEXTFREIEN REGELN 35• z u• z gconnect 1 connect [1],A1 [1],A−−−−−−−→ z g −−−−−−−→ z uconnect 1 connect [1],A1 [1],A−−−−−−−→ z u −−−−−−−→ z gund fügen entsprechend die Übergängeundz uz gconnect 1 [1],B−−−−−−−→ z uconnect 1 [1],B−−−−−−−→ z ghinzu. Für Regel 2 finden wir die folgenden Pfade:• z u• z gconnect 1 [1],A−−−−−−−→ z gconnect 1 [1],A−−−−−−−→ z uconnect 1 [1],A−−−−−−−→ z uconnect 1 [1],A−−−−−−−→ z gund fügen entsprechend die Übergängeconnect 1 [1],A−−−−−−−→ z gconnect 1 [1],A−−−−−−−→ z uundz uz gconnect 1 [1],C−−−−−−−→ z gconnect 1 [1],C−−−−−−−→ z uhinzu. Den sich ergebenden Automaten können wir grafisch analog zu nichtdeterministischenAutomaten wie folgt darstellen:startZ 0vertex 0 1connect 1 [1],A , connect 1 [1],Cconnect 1 [1],Bconnect 1 z[1],B g z ures 1 1connect 1 [1],A , connect 1 [1],Cz eAbbildung 5.2: Ergebnis-AutomatUntersuchen wir diese Darstellung des Automaten, so sehen wir ein, dassder Automat die Sprache aller <strong>Graph</strong>en akzeptiert, die genau einen Knotenbesitzen, sowie


KAPITEL 5. ABSCHLUSS U. INV. KONTEXTFREIEN REGELN 36• Gerade viele A-Kanten enthält• Gerade viele C-Kanten enthält• Beliebig viele B-Kanten enthältoder aber• Ungerade viele A-Kanten enthält• Ungerade viele C-Kanten enthält• Beliebig viele B-Kanten enthält


Kapitel 6Abschluss unterKonkatenationZiel des Kapitels ist der Beweis des nachfolgenden Satzes.Satz 6.1 Die Menge der erkennbaren <strong>Sprachen</strong> über adhäsiven Kategorienist abgeschlossen unter Konkatenation, das heißt, wenn L 1 eine erkennbareN, K-Sprache ist und L 2 eine erkennbare K, M-Sprache ist, dann ist L 2 ◦ L 1eine erkennbare N, M-Sprache.Im Fall der regulären <strong>Sprachen</strong> ist diese Aussage sehr einfach zu beweisen.Durch die Äquivalenz regulärer <strong>Sprachen</strong> zu den <strong>Sprachen</strong>, die sich durchreguläre Ausdrücke bilden lassen, sieht man ein, dass die Konkatenationzweier regulärer <strong>Sprachen</strong> wieder regulär ist. Aber auch wenn man im Automatenmodellarbeiten möchte, kann man eine Konstruktion einfach angeben.Man nimmt einfach einen Automaten A 1 , der die Sprache L 1 akzeptiert undeinen Automaten A 2 , der die Sprache L 2 akzeptiert. Für jeden Übergang inAutomat A 1 , der von einem Zustand z in A 1 in einen Endzustand führt undjeden Startzustand z ′ von A 2 , fügt man einen entsprechenden Übergang ein,der von z nach z ′ führt.Im Fall der erkennbaren <strong>Graph</strong>sprachen ist die Konstruktion allerdings leidernicht so einfach möglich. Der Grund hierfür ist, dass in einem <strong>Graph</strong>automatender <strong>Graph</strong> in beliebiger Reihenfolge eingelesen werden kann. Wir könnenalso nicht verlangen, dass zunächst der Teil des <strong>Graph</strong>en, der zu L 1 gehört,eingelesen wird und anschließend der Teil des <strong>Graph</strong>en, der zu L 2 gehört.Wir müssen demnach einen anderen Ansatz wählen, um die Aussage zubeweisen. Das gleiche Problem ergibt sich im Fall der adhäsiven Kategorien,auch hier müssen die Cospans in beliebiger Weise zerlegt werden könnenund wir können keine Reihenfolge verlangen, die uns ermöglichen würde,Automat A 2 strikt nach Automat A 1 auszuführen.37


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 38Um den Satz zu beweisen, geben wir zunächst die Definition eines Konkatenationsautomatenan, anschließend beweisen wir, dass dieser tatsächlich dasGewünschte leistet.Definition 6.2 (Konkatenationsautomat)Gegeben seien ein Automat A 1 = (A 1 , I 1 , F 1 ) und ein Automat A 2 =(A 2 , I 2 , F 2 ), wobei L(A 1 ) eine A, K-Sprache ist und L(A 2 ) eine K, B-Sprache.Wir definieren einen Automaten A = (A, I, F ) für den wir anschließendzeigen, dass er die Konkatenation L(A 2 ) ◦ L(A 1 ) akzeptiert. Wir definierenzunächst die Zustände. Die Zustände des Automaten A haben die FormKϕ 2s 1U 1 (z 1 ) U U 2 (z 2 )s 2ϕ 1JAbbildung 6.1: Zustände im Automaten ADabei ist J das Interface, das zum Zustand in A gehört und K ist dasInterface, das am Ende des Automaten A 1 erreicht werden soll und von demaus der Automat A 2 beginnen soll. Weiter seiU = J ∪ K.z 1 ist ein Zustand des Automaten A 1 und U 1 ist das zugehörige Interface imAutomaten A 1 . Es gilt alsoz 1 ∈ A 1 (U 1 ).Analog ist z 2 ein Zustand des Automaten A 2 und U 2 das zugehörige Interfaceim Automaten A 2 . Es gilt alsoz 2 ∈ A 2 (U 2 ).Wir verlangen für einen Zustand, dass die Abbildungen ϕ 1 , ϕ 2 , s 1 und s 2injektive Funktionen sind. Weiterhin sind ϕ 1 und ϕ 2 gemeinsam surjektiv -das Bild von ϕ 1 vereinigt <strong>mit</strong> dem Bild von ϕ 2 ergebe also ganz U - und s 1und s 2 sind ebenfalls gemeinsam surjektiv. Schließlich sei nochU 1 ∩ U 2 = J ∩ K.


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 39Als Startzustände verwenden wir diejenigen Zustände, für die K = U 2 undJ = U 1 gelten. Weiterhin verlangen wir ϕ 1 = s 2 , ϕ 2 = s 2 sowie dassz 1 ein Startzustand in A 1 ist und z 2 ein Startzustand in A 2 ist. Für dieStartzustände gelte alsoz 1 ∈ I 1 , z 2 ∈ I 2 .Kϕ 2ϕ 1J(z 1 ) U K(z 2 )ϕ 2ϕ 1JAbbildung 6.2: Startzustände im Automaten AAls Endzustände wählen wir all die Zustände, die die Form haben, dassU 1 = K, U 2 = J, s 1 = ϕ 2 , s 2 = ϕ 1 sind und z 1 ein Endzustand in A 1 , z 2ein Endzustand in A 2 ist, bei denen also giltz 1 ∈ F 1 , z 2 ∈ F 2 .Kϕ 2ϕ 2K(z 1 ) UJ(z 2 )ϕ 1ϕ 1JAbbildung 6.3: Endzustände im Automaten AMit einem Cospan c ermöglichen wir nun einen Zustandsübergang von einemZustand z in einen Zustand z ′ , der aussieht wie in der Abbildung 6.4, genaudann wenn die folgenden fünf Bedingungen erfüllt sind:1. d 1 ∪ d 2 = d


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 40id K :d 1 :K K KU 1 (z 1 ) U 1 U ′ 1 (z′ 1 )d:U U U ′d 2 :c:U 2 (z 2 ) U 2 U ′ 2 (z′ 2 )J J J ′Abbildung 6.4: Zustandsübergänge im Automaten A2. d 1 ∩ d 2 = c ∩ id K3. c ∪ id K = dDiese ersten drei Bedingungen setzen unsere Bedingungen an dieZustände auf den Übergängen um.4. d 1 ist ein Cospan <strong>mit</strong> z 1 A 1 (d 1 )z ′ 1 und d 2 ist ein Cospan <strong>mit</strong> z 2 A 2 (d 2 )z ′ 2 .d 1 ist also ein Cospan, der im Automaten A 1 einen Zustandsübergangvon z 1 nach z ′ 1 erlaubt und d 2 ist ein Cospan, der im Automaten A 2einen Zustandsübergang von z 2 nach z ′ 2 erlaubt.5. U 1 ∩ K = U ′ 1 ∩ K und U 2 ∩ K = U 2 ∩ K,wir verlangen also eine gewisse Monotonie von d 1 und d 2 bezüglich derInklusion von K. U 1 darf also bezüglich K nur wachsen, wohingegenU 2 bezüglich K nur schrumpfen kann. Betrachtet man Start- und Endzustände,so wird klar, wieso das der Fall ist. Um in einen Endzustandzu gelangen, muss U 2 genau K enthalten, um in einem Startzustandzu sein, muss U 1 genau K enthalten.Wir müssen nun zweierlei Dinge zeigen, einerseits dass der angegebeneAutomat tatsächlich ein Automat ist, andererseits, dass dieser Automatgenau die Sprache akzeptiert, die die Konkatenation L(A 2 ) ◦ L(A 1 ) liefert.Diese Bedingungen lassen sich aufspalten in vier Teilbedingungen, die wirim Folgenden separat beweisen.1. A(c ′ ◦ c) ⊇ A(c ′ ) ◦ A(c)2. A(c ′ ◦ c) ⊆ A(c ′ ) ◦ A(c)3. L(A 2 ) ◦ L(A 1 ) ⊆ L(A)4. L(A 2 ) ◦ L(A 1 ) ⊇ L(A)


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 41Punkte 1 und 2 beweisen die Funktoreigenschaft von A, Punkte 3 und 4, dassA genau die gewünschte Sprache akzeptiert. Wir beweisen diese Eigenschaftennun in den folgenden vier Sätzen, Eigenschaft 1 beweisen wir in Satz 6.3,Eigenschaft 2 in Satz 6.4, Eigenschaft 3 in Satz 6.6 und Eigenschaft 4 in Satz6.7.Satz 6.3 Mit dem Konatenationsautomaten A wie in Definition 6.2 definiertund einem Cospan c, der sich schreiben lässt als c = c 1 ; c 2 für zwei Cospansc 1 und c 2 , gilt: Falls es einen Zustand z gibt, so dass es einen A-Übergangfür c 1 von z nach z und einen A-Übergang für c 2 von z nach z ′ gibt, gibt esauch einen A-Übergang für c von z nach z ′ .Beweis: Gegeben sind A-Übergänge für c 1 und c 2 , die in den beiden folgendenAbbildungen dargestellt sind:id K :K K KU 1 (z 1 ) U 11U 1 1 ′ (z 1 )U U 1 U 1′c 1:U 2 (z 2 ) U 21J J 1 J 1′U 1 2 ′ (z 2 )Abbildung 6.5: Zustandsübergang für c 1 im Automaten Aid K :K K KU 1 1 ′ (z 1 ) U 12U ′ 1 (z′ 1 )U 1′ U 2 U ′c 2 :U 1 2 ′ (z 2 ) U 22U ′ 2 (z′ 2 )J 1′ J 2 J ′Abbildung 6.6: Zustandsübergang für c 2 im Automaten AEs gilt, da c, c 1 und c 2 Cospans sind:


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 42J ′1J J 1 P O J 2 J ′JAbbildung 6.7: Pushout-Eigenschaft für JAnalog bilden wir per Pushout die Objekte U, U 1 und U 2 :U ′1U U 1 P O U 2 U ′UAbbildung 6.8: Pushout zur Bildung von U


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 43U ′11U 1 U 1 1P O U 2 1U ′ 1U 1Abbildung 6.9: Pushout zur Bildung von U 1U ′12U 2 U 1 2P O U 2 2U ′ 2U 2Abbildung 6.10: Pushout zur Bildung von U 2Wir bemerken gleich, dass es für U 1 → U 1 ← U ′ 1 einen Übergang von z 1 nachz ′ 1 in A 1 gibt, da A 1 als Automat die Funktor-Eigenschaft besitzt. Ebensogibt es für U 2 → U 2 ← U ′ 2 einen Übergang von z 2 nach z ′ 2 in A 2.Die fehlenden Pfeile zwischen J und U, zwischen U 1 und U, zwischen U 2und U sowie zwischen K und U entstehen als ver<strong>mit</strong>telnde Morphismen (dereindeutige Morphismus, so dass das entstehende Diagramm kommutiert),wir geben hier nur an, wie man den Pfeil zwischen J und U erhält, dieSituation für die anderen Paare ergeben sich analog durch Einsetzen derentsprechenden Pushouts.


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 44J ′1J J 1 P O J 2 J ′U 1 JU 2J ′1Abbildung 6.11: Gestrichelt: Der ver<strong>mit</strong>telnde Morphismus zwischen J undUDie ver<strong>mit</strong>telnden Morphismen existieren auf Grund des Pushouts, weil dasDiagramm kommutiert. Sie sind zudem injektiv, wie Tobias Heindel in seinerDissertation [11] gezeigt hat, da wir <strong>mit</strong> adhäsiven Kategorien arbeiten.Wir haben nun den Zustandsübergang vollständig angegeben, es bleibt aberzu zeigen, dass es sich tatsächlich um einen Zustandsübergang in A handelt.Hierzu müssen wir die fünf Eigenschaften zeigen, die wir für die Existenzeines Zustandsübergangs vorausgesetzt hatten. Die vierte Eigenschaft habenwir bereits diskutiert und ist gegeben.Die fünfte Eigenschaft ist ebenfalls einfach einzusehen.Für den Automaten A 1 berechnen wir zunächst:U 1 ∩ K =(U 1 =U 1 1 ∪U 2 1 ) (U 1 1 ∩ K) ∪ (U 2 1 ∩ K) =(K−Monotonie) (U 1 1 ′ ∩ K) ∪ (U ′ 1 ∩ K).Da U 1 1 ′ ⊆ U 2 1 gilt, ist weiterhinAlso gilt insgesamt(U 1 1 ′ ∩ K) ⊆ (U 2 1 ∩ K) = (U ′ 1 ∩ K).U 1 ∩ K = (U ′ 1 ∩ K).Für den Automaten A 2 berechnen wir zunächst:U 2 ∩ K = (U 1 2 ∩ K) ∪ (U 2 2 ∩ K) = (U 1 2 ′ ∩ K) ∪ (U 2 ∩ K).Da U 1 2 ′ ⊆ U 1 2 gilt, ist weiterhin(U 1 2 ′ ∩ K) ⊆ (U 1 2 ∩ K) = (U 2 ∩ K).


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 45Also gilt insgesamtDie fünfte Eigenschaft gilt also.U 2 ∩ K = (U 2 ∩ K).Weil die beiden Übergänge, von denen wir ausgegangen sind, legale Übergängein A sind, wissen wir bereits, dass U 1 ∪ U 2 = U und U ′ 1 ∪ U ′ 2 = U ′ richtigsind. Die erste Eigenschaft (d 1 ∪ d 2 = d) bedarf daher nur noch des Beweises,dass U 1 ∪ U 2 = U richtig ist.U 1 ∪ U 2 = (U 1 1 ∪ U 2 1) ∪ (U 1 2 ∪ U 2 2) = (U 1 1 ∪ U 1 2) ∪ (U 2 1 ∪ U 2 2) = U 1 ∪ U 2 = U.Also ist Eigenschaft 1 ebenfalls bewiesen.Ganz analog beweisen wir die dritte Eigenschaft (c ∪ id K = d). Wir wissenwieder, dass J ∪K = U und J ′ ∪K = U ′ richtig sein müssen, da die gegebenenÜbergänge für c 1 und c 2 legale Zustandsübergänge in A sind. Es bleibt alsonur noch zu zeigen, dass auch J ∪ K = U richtig ist:J ∪ K = J 1 ∪ J 2 ∪ K = (J 1 ∪ K) ∪ (J 2 ∪ K) = U 1 ∪ U 2 = U.Demnach gilt auch die dritte Eigenschaft und es bleibt nur die zweite Eigenschaftzu zeigen.Ein wenig komplizierter ist der Beweis der zweiten Eigenschaft (d 1 ∩ d 2 =c ∩ id K ). Wir müssen noch zeigen, dass U 1 ∩ U 2 = J ∩ K richtig ist, dassdiese Eigenschaften für den linken und den rechten Zustand gelten ist wiederaus den gegebenen Übergängen für c 1 und c 2 klar. Wir teilen diese Aussagein zwei Teilaussagen:• J ∩ K ⊆ U 1 ∩ U 2 : Wir berechnen:U 1 ∩ U 2 = (U 1 1 ∪ U 2 1) ∩ (U 1 2 ∪ U 2 2)= (U 1 1 ∩ U 1 2) ∪ (U 1 1 ∩ U 2 2) ∪ (U 2 1 ∩ U 1 2) ∪ (U 2 1 ∩ U 2 2).Wir betrachten nun hiervon die Teilmenge (U 1 1 ∩ U 1 2) ∪ (U 2 1 ∩ U 2 2) undberechnen:(U 1 1 ∩ U 1 2) ∪ (U 2 1 ∩ U 2 2) = (J 1 ∩ K) ∪ (J 2 ∩ K) = (J 1 ∪ J 2 ) ∩ K = J ∩ K.Also gilt diese Richtung.• J ∩ K ⊇ U 1 ∩ U 2 : Nach der Überlegung im ersten Teil ist noch zuzeigen, dass (U 1 1 ∩ U 2 2) ⊆ J ∩ K und (U 2 1 ∩ U 1 2) ⊆ J ∩ K richtig sind.


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 46– (U 1 1 ∩ U 2 2) ⊆ J ∩ K: Hierzu beachten wir die K-Monotonie, diewir für unsere Konstruktion bereits bewiesen haben und beachtenU 1 1 ∩ U 2 2 = (U 1 1 ∩ U 2 2 ∩ J 1 ) ∪ (U 1 1 ∩ U 2 2 ∩ K).Das gilt, weil U 1 1 ⊆ J 1 ∪ K richtig ist. Wir berechnen:U 1 1 ∩ U 2 2 ∩ K = U 1 1 ∩ U 1 2 ′ ∩ K ⊆ U 1 1 ∩ U 1 2 = J 1 ∩ K ⊆ J ∩ KsowieU 1 1 ∩ U 2 2 ∩ J 1 = (U 1 1 ∩ U 2 2 ∩ J 1 ∩ J 2 ) ∪ (U 1 1 ∩ U 2 2 ∩ J 1 ∩ K)Diese Umformung erfolgt unter Berücksichtigung vonU 2 2 ⊆ J 2 ∪ KDer zweite Teilausdruck, (U 1 1 ∩U 2 2 ∩J 1 ∩K), ist in J 1 ∩K ⊆ J ∩Kenthalten. Betrachte also nur noch(U 1 1 ∩ U 2 2 ∩ J 1 ∩ J 2 ) = U 1 1 ∩ U 2 2 ∩ J 1′= (U 1(J 1′ ⊆J 1′ ∪K=U2 1′ ∪U1 1′ 1 ∩ U 2 2 ∩ J 1′ ∩ U2 1′ ) ∪ (U 1 1 ∩ U 2 2 ∩ J 1′ ∩ U1 1′ ))⊆ (U 1 1 ∩ U 2 2 ∩ J 1′ ∩ U 1 2) ∪ (U 1 1 ∩ U 2 2 ∩ J 1′ ∩ U 2 1)⊆(J 1 ∩ K) ∪ (J 2 ∩ K) = J ∩ K.(U 1 1∩U 1 2=J 1 ∩K∧U 2 1∩U 2 2=J 2 ∩K)Insgesamt gilt demnach die untersuchte Inklusion.– (U 2 1 ∩ U 1 2) ⊆ J ∩ K: Analog berechnen wir zunächst:U 2 1 ∩ U 1 2 = U 2 1 ∩ U 1 2 ∩ (J ∪ K) = (U 2 1 ∩ U 1 2 ∩ J) ∪ (U 2 1 ∩ U 1 2 ∩ K)und untersuchen:U 2 1 ∩ U 1 2 ∩ J= (U 2 1 ∩ U 1 2 ∩ J 1 ) ∪ (U 2 1 ∩ U 1 2 ∩ J 2 )= ((U 2 1 ∩ U 1 2 ∩ J 1 ∩ J 2 ) ∪ (U 2 1 ∩ U 1 2 ∩ J 1 ∩ K) )} {{ }⊆J∩K∪((U 2 1 ∩ U 1 2 ∩ J 2 ∩ J 1 ) ∪ (U 2 1 ∩ U 1 2 ∩ J 2 ∩ K) )} {{ }⊆J∩KWir betrachten also nur noch den ersten und den dritten Teilterm,die zudem beide identisch sind. Dabei beachten wir noch


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 47J 1′ ⊆ U1 1′ ∪ U2 1′ .U 2 1 ∩ U 1 2 ∩ J 1 ∩ J 2 = U 2 1 ∩ U 1 2 ∩ J 1′= (U 2 1 ∩ U 1 2 ∩ J 1′ ∩ U1 1′ ) ∪ (U 2 1 ∩ U 1 2 ∩ J 1′ ∩ U2 1′ )⊆ (U 2 1 ∩ U 1 2 ∩ J 1′ ∩ U 1 1) ∪ (U 2 1 ∩ U 1 2 ∩ J 1′ ∩ U 2 2)⊆ (J 1 ∩ K) ∪ (J 2 ∩ K) = J ∩ K.Weiterhin berechnen wir unter Beachtung von K ⊆ U1 1′ ∪ U2 1′ :U 2 1 ∩ U 1 2 ∩ K= (U 2 1 ∩ U 1 2 ∩ K ∩ U1 1′ ) ∪ (U 2 1 ∩ U 1 2 ∩ K ∩ U2 1′ )⊆ (U 2 1 ∩ U 1 2 ∩ K ∩ U 1 1) ∪ (U 2 1 ∩ U 1 2 ∩ K ∩ U 2 2)= (J 1 ∩ K) ∪ (J 2 ∩ K) = J ∩ K.Also gilt auch diese Inklusion.Da<strong>mit</strong> haben wir alle Eigenschaften und so<strong>mit</strong> auch den Satz bewiesen.□Satz 6.4 Mit dem Konkatenationsautomaten A wie in Definition 6.2 definiertund einem Cospan c, der sich schreiben lässt als c = c 2 ◦ c 1 für zweiCospans c 1 und c 2 , gilt: Falls es einen A-Übergang für c von z nach z ′ gibt,dann gibt es einen Zustand z, so dass es einen A-Übergang für c 1 von z nachz und einen A-Übergang für c 2 von z nach z ′ gibt.Beweis: Gegeben ist also ein Übergang wie in der folgenden Abbildung zusehen:id K :d 1 :K K KU 1 (z 1 ) U 1 U ′ 1 (z′ 1 )d:U U U ′d 2 :c:U 2 (z 2 ) U 2 U ′ 2 (z′ 2 )J J J ′Abbildung 6.12: Zustandsübergänge im Automaten ASowie zwei Cospans c 1 : J → J 1 ← J 1′ und c 2 : J 1′ → J 2 ← J ′ <strong>mit</strong>c = c 1 ; c 2 . Wir müssen nun jeweils einen Übergang in A für c 1 und c 2 finden,die konkateniert werden können und die gleichen Zustände in Relation setzenwie obiger Übergang für c. Hierzu bilden wir U 1 und U 2 per Pushout:


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 48K U 1K U 2P OJ J 1 :P OJ J 2 :Abbildung 6.13: U 1 und U 2Wir bilden auch U 1 1, U 2 1, U 1 2 und U 2 2 <strong>mit</strong> Hilfe von Pushouts und Pullbacks.Allerdings ist die Konstruktion komplizierter. Daher ist die Konstruktionnur <strong>mit</strong>tels ∪ (Pushout) und ∩ (Pullback) angegeben.U 1 1 = (U 1 ∩ J 1 ) ∪ U 1U 2 1 = (U 1 ∩ J 2 ) ∪ (U 1 ∩ K)U 1 2 = (U 2 ∩ J 1 ) ∪ (U 2 ∩ K)U 2 2 = (U 2 ∩ J 2 ) ∪ U 2′Per Pullback erhalten wir schließlich U 1′ , U1 1′ und U2 1′ :U 1UU 1 1 U 1U 1 2 U 2P BU 1′ U 2P BU 1 1 ′ U 2 1P BU 1 2 ′ U 2 2Abbildung 6.14: U 1′ , U 1 1 ′ und U 1 2 ′Zunächst wollen wir Eigenschaft 4 beweisen. Dazu zeigen wir, dass derd 1 -Cospan des c-Übergangs heraus kommt, wenn man den d 1 -Cospan desc 1 -Übergangs und den d 1 -Cospan des c 2 -Übergangs konkateniert. Das gleichegilt analog für den d 2 -Cospan. Dass die Cospans jeweils konkatenierbar sind,folgt aus der Wahl des Zwischeninterfaces U 1 1 ′ respektive U 1 2 ′ . Wir müssenalso nur zeigen, dass gilt U 1 1 ∪ U 2 1 = U 1 und U 1 2 ∪ U 2 2 = U 2 .U 1 1 ∪ U 2 1 = (U 1 ∩ J 1 ) ∪ U 1 ∪ (U 1 ∩ J 2 ) ∪ (U 1 ∩ K)= (J 1 ∪ J 2 ) ∩ U 1 ∪ U 1 ∪ (U 1 ∩ K) = (J ∩ U 1 ) ∪ (U 1 ∩ K) ∪ U 1= U 1 ∩ (J ∪ K) ∪ U 1 = U 1 ∩ U ∪ U 1 = U 1 ∪ U 1 = U 1


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 49Weiterhin:U 1 2 ∪ U 2 2 = (U 2 ∩ J 1 ) ∪ (U 2 ∩ K) ∪ (U 2 ∩ J 2 ) ∪ U ′ 2= (J 1 ∪ J 2 ) ∩ U 2 ∪ (U 2 ∩ K) ∪ U ′ 2 = (J ∩ U 2 ) ∪ (K ∩ U 2 ) ∪ U ′ 2= U ∩ U 2 ∪ U ′ 2 = U 2 ∪ U ′ 2 = U 2 .Also gilt die vierte Eigenschaft, denn die Automaten A 1 und A 2 erfüllen dieFunktoreigenschaft.Die fünfte Eigenschaft müssen wir für die sich ergebenden Teilübergängeseparat beweisen. Wir beginnen <strong>mit</strong> dem c 1 -Übergang.• Zu zeigen ist einerseits U 2 ∩ K = U 1 2 ∩ K und andererseits U 1 1 ∩ K =U 1 1 ′ ∩ K.– U 2 ∩ K = U 1 2 ∩ K: Die K-Monotonie für den c-Übergang liefertU 2 ∩ K = U 2 ∩ K. Da außerdem U 2 ⊆ U 1 2 ⊆ U 2 gilt, muss auchU 2 ∩ K = U 1 2 ∩ K gelten.– U 1 1∩K = U1 1′ ∩K: Wir beachten zunächst, dass gilt U1 1′ = U 1 1∩U 2 1,es ist also zu zeigen U 1 1 ∩ K = U 1 1 ∩ K ∩ U 2 1. Die Inklusion ⊇ istoffensichtlich, wir zeigen also nur noch die Inklusion ⊆. Diese gilt,wenn U 1 1 ∩ K ⊆ U1 2 richtig ist. Daher berechnen wir:undU 1 1 ∩ K = (U 1 ∩ J 1 ∩ K) ∪ (U 1 ∩ K)Wir stellen nun fest, dass giltU 2 1 = (U 1 ∩ J 2 ) ∪ (U 1 ∩ K).U 1 ∩ J 1 ∩ K ⊆ U 1 ∩ Kundalso gilt die Inklusion.U 1 ∩ K ⊆ U 1 ∩ K,• Für den c 2 -Übergang sind die Relationen U ′ 1 ∩ K = U 2 1 ∩ K undU 2 2 ∩ K = U 1 2 ′ ∩ K zu beweisen.– U ′ 1 ∩K = U 2 1∩K: Wieder wegen der K-Monotonie des c-Übergangsgilt U ′ 1 ∩ K = U 1 ∩ K. Weiterhin gilt U ′ 1 ⊆ U 2 1 ⊆ U 1 , also giltU ′ 1 ∩ K = U 2 1 ∩ K.


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 50– Zeige nun: U 2 2 ∩ K = U 1 2 ′ ∩ K. Hierzu beachten wir wieder dassgiltU 1 2 ′ = U 1 2 ∩ U 2 2.Wir müssen also folgendes zeigen: U 2 2 ∩ K = U 1 2 ∩ U 2 2 ∩ K. DieInklusion ⊇ ist wiederum offensichtlich, wir zeigen also nur dieInklusion ⊆. Hierzu reicht es, zu zeigen, dass U 2 2 ∩ K ⊆ U 1 2 richtigist. Da gilt (Einsetzen der Definition von U 2 2 und ”Durchmultiplizieren“des Schnitts)undmerken wir an, dassundU 2 2 ∩ K = (U 2 ∩ J 2 ∩ K) ∪ (U ′ 2 ∩ K)U 1 2 = (U 2 ∩ J 1 ) ∪ (U 2 ∩ K)U 2 ∩ J 2 ∩ K ⊆ U 2 ∩ KU ′ 2 ∩ K ⊆ U 2 ∩ Krichtig sind, die Inklusion also gilt und so<strong>mit</strong> die gesamte Relationkorrekt ist.Da<strong>mit</strong> haben wir Eigenschaft 5 ebenfalls bewiesen.Für Eigenschaft 1, d 1 ∪ d 2 = d müssen wir insgesamt fünf Gleichungenzeigen:1. U 1 ∪ U 2 = U2. U 1 1 ∪ U 1 2 = U 13. U 1 1 ′ ∪ U 1 2 ′ = U4. U 2 1 ∪ U 2 2 = U 25. U ′ 1 ∪ U ′ 2 = U ′Gleichungen 1 und 5 sind bereits klar, weil der c-Übergang ein legaler Zustandsübergangin A ist, wir zeigen also nur Gleichungen 2 bis 4.Für Gleichung 2 berechnen wir:


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 51U 1 1 ∪ U 1 2 = (U 1 ∩ J 1 ) ∪ U 1 ∪ (U 2 ∩ J 1 ) ∪ (U 2 ∩ K)= J 1 ∩ (U 1 ∪ U 2 ) ∪ U 2 ∩ (J 1 ∪ K) ∪ U 1= (J 1 ∩ U) ∪ (J 1 ∪ K) ∩ U 2 ∪ U 1= J 1 ∪ (J 1 ∪ K) ∩ U 2 ∪ U 1=J 1 ∪ (K ∩ U 2 ) ∪ (U 1 ∩ K) ∪ U 1(J 1 ∩U 2 ⊆J 1 ∧U 1 =U 1 ∪(U 1 ∩K))=K −Monotonie J 1 ∪ (K ∩ U 2 ) ∪ (K ∪ U 1 ) ∪ U 1= J 1 ∪ (K ∩ (U 1 ∪ U 2 )) ∪ U 1= J 1 ∪ (K ∩ (U)) ∪ U 1Gleichung 3 berechnen wir wie folgt:= J 1 ∪ K ∪ U 1= U 1 ∪ U 1 = U 1U 1 1 ′ ∪ U 1 2 ′ = U 2 1 ∩ U 1 1 ∪ U 1 2 ∩ U 2 2= (((U 1 ∩ J 2 ) ∪ (U 1 ∩ K)) ∩ ((U 1 ∩ J 1 ) ∪ U 1 ))∪(((U 2 ∩ J 1 ) ∪ (U 2 ∩ K)) ∩ ((U 2 ∩ J 2 ) ∪ U ′ 2))= (U 1 ∩ J 1 ∩ J 2 ) ∪ (U 1 ∩ U 1 ∩ J 2 ) ∪ (U 1 ∩ K ∩ J 1 ) ∪ (U 1 ∩ U 1 ∩ K)∪(U 2 ∩ J 1 ∩ J 2 ) ∪ (U 2 ∩ J 1 ∩ U ′ 2) ∪ (U 2 ∩ K ∩ J 2 ) ∪ (U 2 ∩ K ∩ U ′ 2)Der Übersicht halber erfolgt nun eine kleine Nebenrechnung, die die beidenunterstrichenen Terme zusammenfasst.(U 1 ∩ J 1 ∩ J 2 ) ∪ (U 2 ∩ J 1 ∩ J 2 )= (U 1 ∪ U 2 ) ∩ (J 1 ∩ J 2 )= U ∩ (J 1 ∩ J 2 ) = J 1 ∩ J 2Das Ergebnis der Nebenrechnung setzen wir in unsere obige Gleichung ein undfassen außerdem alle Terme zusammen, die ein K enthalten. Wir erhalten:(J 1 ∩ J 2 ) ∪ K ∩ ((J 1 ∩ U 1 ) ∪ (U 1 ∩ U 1 ) ∪ (U 2 ∩ J 2 ) ∪ (U 2 ∩ U ′ 2))∪ (U 1 ∩ U 1 ∩ J 2 ) ∪ (U} {{ } 2 ∩ J 1 ∩ U 2)′} {{ }⊆(J 2 ∩J 1 )⊆(J 2 ∩J 1 )= (J 1 ∩ J 2 ) ∪ K ∩ (U 1 ∩ (J 1 ∪ U 1 ) ∪ U} {{ } 2 ∩ (J 2 ∪ U 2 )} {{ }⊇U 1⊇U 2)= J 1 ∩ J 2 ∪ K(U 1 ∪U 2 =U⊇K)


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 52Andererseits giltAlso sind beide Ausdrücke gleich.U 1 ∩ U 2 = (K ∪ J 1 ) ∩ (K ∪ J 2 ) =K ∪ (K ∩ J 2 ) ∪ (J 1 ∩ K) ∪(J 1 ∩ J 2 )} {{ } } {{ }⊆K ⊆K= K ∪ (J 1 ∩ J 2 )Bleibt schließlich die vierte Gleichung zu zeigen. Wir berechnen:U 2 1 ∪ U 2 2 = (U 1 ∩ J 2 ) ∪ (U 1 ∩ K) ∪ (U 2 ∩ J 2 ) ∪ U ′ 2= (U 1 ∪ U 2 ) ∩ J 2 ∪ (U 1 ∩ K) ∪ U ′ 2= U ∩ J 2 ∪ (U 1 ∩ K) ∪ U ′ 2= J 2 ∪ (U 1 ∩ K) ∪ U ′ 2= J 2 ∪ K ∩ (U 1 ∪ U(U 2 ′ ⊆U ′ =J ′ ∪K⊆J 2 2 ′ ∪ J 2 ).∪K)Da definitionsgemäß U 2= J 2 ∪ K gilt, muss für Gleichheit der beidenAusdrücke folgendes gezeigt werden: K = K ∩ (U 1 ∪ U 2 ′ ∪ J 2 ).Es gilt wegen der K-MonotonieK ∩ (U 1 ∪ U ′ 2) = K ∩ (U ′ 1 ∪ U ′ 2) = K ∩ (J ′ ∪ K) = K.Also ist L ∩ (U 1 ∪ U 2 ′ ) ⊆ K und da<strong>mit</strong>Insgesamt gilt Eigenschaft 1 also.K ∩ (U 1 ∪ U ′ 2 ∪ J 2 ) ⊆ K ∩ K = K.Um die zweite Eigenschaft zu beweisen, sind wiederum fünf Gleichungen zubeweisen:1. U 1 ∩ U 2 = J ∩ K2. U 1 1 ∩ U 1 2 = J 1 ∩ K3. J 1′ ∩ K = J 1′ ∩ K4. J 2 ∩ K = U 2 1 ∩ U 2 25. J ′ ∩ K = U ′ 1 ∩ U ′ 2


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 53Gleichungen 1 und 5 sind bereits vom c-Übergang her bekannt, wir zeigenalso nur die Gleichungen zwei bis vier.Für die zweite Gleichung berechnen wir:U 1 1 ∩ U 1 2 = (U 1 ∩ J 1 ∪ U 1 ) ∩ ((U 2 ∩ J 1 ) ∪ (U 2 ∩ K))= (U 1 ∩ J 1 ∩ U 2 ) ∪ (U 1 ∩ U 2 ∩ J 1 ∩ K) ∪ (U 1 ∩ U 2 ∩ J 1 ) ∪ (U 1 ∩ U 2 ∩ K)Wir können die beiden unterstrichenen Teilterme zusammenfassen, wenn wirbeachten, dass U 1 ∩ U 2 = J ∩ K. Dann fallen nämlich beide Teilterme zuJ 1 ∩ K zusammen und es ergibt sich:(J 1 ∩ K) ∪ (U 1 ∩ U 2 ∩ J 1 ) ∪ (U 1 ∩ U 2 ∩ K)Nun ist aber U 1 ⊆ U 1 und so<strong>mit</strong> ist U 1 ∩ U 2 ⊆ U 1 ∩ U 2 = J 1 ∩ K. Insgesamtfällt der obige Term also zusammen zu J 1 ∩ K, die zweite Gleichung ist alsokorrekt.Wir berechnen:U 1 1 ′ ∩ U 1 2 ′ = U 2 1 ∩ U 1 1 ∩ U 2 2 ∩ U 1 2= ((U 1 ∩ J 1 ) ∪ U 1 ) ∩ ((U 1 ∩ J 2 ) ∪ (U 1 ∩ K))∩((U 2 ∩ J 1 ) ∪ (U 2 ∩ K)) ∩ ((U 2 ∩ J 2 ) ∪ U ′ 2)= ((U 1 ∩ J 1 ∩ J 2 ) ∪ (U 1 ∩ J 1 ∩ K) ∪ (U 1 ∩ U 1 ∩ J 2 ) ∪ (U 1 ∩ U 1 ∩ K))∩((U 2 ∩ J 1 ∩ J 2 ) ∪ (U 2 ∩ J 1 ∩ U ′ 2) ∪ (U 2 ∩ K ∩ J 2 ) ∪ (U 2 ∩ U ′ 2 ∩ K))Da U 1 ⊆ U 1 und U ′ 2 ⊆ U 2, können wir einige Teilterme ein wenig vereinfachen:= ((U 1 ∩ J 1 ∩ J 2 ) ∪ (U 1 ∩ J 1 ∩ K) ∪ (U 1 ∩ J 2 ) ∪ (U 1 ∩ K))∩((U 2 ∩ J 1 ∩ J 2 ) ∪ (U ′ 2 ∩ J 1 ) ∪ (U 2 ∩ K ∩ J 2 ) ∪ (U ′ 2 ∩ K))= (U 1 ∩ U 2 ∩ J 1 ∩ J 2 ) ∪ (U 1 ∩ J 1 ∩ J 2 ∩ U ′ 2)∪(U 1 ∩ U 2 ∩ J 1 ∩ J 2 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ J 1 ∩ J 2 ∩ K)∪(U 1 ∩ J 1 ∩ K ∩ U 2 ∩ J 2 ) ∪ (U 1 ∩ J 1 ∩ K ∩ U ′ 2) ∪ (U 1 ∩ J 1 ∩ K ∩ J 2 ∩ U 2 )∪(U 1 ∩ J 1 ∩ K ∩ U ′ 2) ∪ (U 1 ∩ U 2 ∩ J 1 ∩ J 2 ) ∪ (U 1 ∩ U ′ 2 ∩ J 1 ∩ J 2 )∪(U 1 ∩ J 2 ∩ U 2 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ J 2 ∩ K) ∪ (U 1 ∩ U 2 ∩ J 1 ∩ J 2 ∩ K)∪(U 1 ∩ U ′ 2 ∩ J 1 ∩ K) ∪ (U 1 ∩ U 2 ∩ K ∩ J 2 ) ∪ (U 1 ∩ U ′ 2 ∩ K)Nun können wir die unterstrichenen Teilterme <strong>mit</strong> dem ersten Teiltermzusammenlegen, denn alle diese Teilterme sind im hervorgehobenen Teilterm


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 54enthalten. Wir beachten hierbei, dass J 1 ∩ J 2 ∩ K ⊆ J ∩ K ⊆ U 1 ∩ U 2 richtigist und erhalten:= (U 1 ∩ U 2 ∩ J 1 ∩ J 2 ) ∪ (U 1 ∩ J 1 ∩ K ∩ U ′ 2)∪(U 1 ∩ J 1 ∩ K ∩ U ′ 2) ∪ (U 1 ∩ J 2 ∩ U 2 ∩ K)∪(U 1 ∩ U ′ 2 ∩ J 2 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ J 1 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ K)Hier und im Folgenden lassen sich die unterstrichenen Terme zusammenfassen.= (U 1 ∩ U 2 ∩ J 1 ∩ J 2 ) ∪ (U 1 ∩ J 1 ∩ K ∩ U ′ 2) ∪ (U 1 ∩ J 2 ∩ U 2 ∩ K)∪(U 1 ∩ U ′ 2 ∩ J 2 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ K)= ( U 1 ∩ U} {{ } 2 ∩ J} 1 {{ ∩ J}2) ∪ (U 1 ∩ J 1 ∩ K ∩ U 2)′U 1 ∩U 2 =K∩J⊆K,K∩J⊇K∩J 1′ J 1′∪(U 1 ∩ J 2 ∩ U 2 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ K)= (K ∩ J 1′ ) ∪ (U 1 ∩ J 1 ∩ K ∩ U ′ 2) ∪ (U 1 ∩ J 2 ∩ U 2 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ K)Wir wollen zeigen, dass dieser Ausdruck gleich (K ∩ J 1′ ) ist. Hierzu zeigenwir dreierlei:1. U 1 ∩ U ′ 2 ∩ J 1 ⊆ J 1′2. U 1 ∩ U 2 ∩ J 2 ⊆ J 1′3. U 1 ∩ U ′ 2 ⊆ J 1′Zur ersten Inklusion: Die K-Monotonie liefert U 1 ∪ U 2 ′ = U 1 ′ ∩ U 2 ′ , also giltU 1 ∩ U ′ 2 ∩ J 1 = U ′ 1 ∩ U ′ 2 ∩ J 1 ⊆ U 2 1 ∩ U 2 2 ∩ J 1 ⊆ J 2 ∩ J 1 = J 1′Also gilt die erste Inklusion.Zur zweiten Inklusion: Die K-Monotonie liefert U 1 ∩ U 2 = U 1 ∩ U 2 , also giltU 1 ∩ U 2 ∩ J 2 = U 1 ∩ U 2 ∩ J 2 ⊆ U 1 1 ∩ U 1 2 ∩ J 2 = J 1 ∩ J 2 ∩ K ⊆ J 1 ∩ J 2 = J 1′Zur dritten Inklusion: Die K-Monotonie liefert, unter der Beachtung, dassU 1 ⊆ U 1 , U 2 ⊆ U 2 und U 1 ∩ U 2 ⊆ K richtig sind:weiterhin folgt ganz analog:U 1 ∩ U 2 ′ = U 1 ∩ U 2 ′ ∩ K ⊆ U 1 ∩ U 2 ∩ K(⊆K) (U 2 ′ ⊆U 2)= U 1 ∩ U 2 ∩ K = J ∩ K ⊆ J 1(K−Monotonie)U 1 ∩ U ′ 2 ⊆ U 1 ∩ U ′ 2 ∩ K = U ′ 1 ∩ U ′ 2 ∩ K ⊆ J 2 .


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 55Insgesamt gilt also:wie zu zeigen war.U 1 ∩ U ′ 2 ⊆ J 1 ∩ J 2Die dritte Gleichung gilt da<strong>mit</strong> also insgesamt auch. Bleibt die vierte Gleichungzu beweisen:U 2 1 ∩ U 2 2 = ((U 1 ∩ J 2 ) ∪ (U 1 ∩ K)) ∩ ((U 2 ∩ J 2 ) ∪ U ′ 2)= (U 1 ∩ U 2 ∩ J 2 ) ∪ (U 1 ∩ U ′ 2 ∩ J 2 ) ∪ (U 1 ∩ U 2 ∩ J 2 ∩ K) ∪ (U 1 ∩ K ∩ U ′ 2)Für die beiden unterstrichenen Teilterme beachten wir: U 1 ∩ U 2 = J ∩ Ksowie J ∩ K ∩ J 2 = J 2 ∩ K, beide Teilterme fallen also zusammen zu J 2 ∩ K.Es ergibt sich:(J 2 ∩ K) ∪ (U 1 ∩ U ′ 2 ∩ J 2 ) ∪ (U 1 ∩ K ∩ U ′ 2)Für die rechten beiden Teilterme berechnen wir nun:(U 1 ∩ U 2 ′ ∩ J 2 ) ⊆ (U 1 ∩ U} {{ } 2 ∩J 2 ) = (J 2 ∩ K)J∩KsowieU 1 ∩ K ∩ U ′ 2 ⊆ (U 1 ∩ U 2 ∩ K) = (J 2 ∩ K)Also fällt der gesamte Term zusammen zu J 2 ∩ K. Das ist genau das was zuzeigen war. Die vierte Gleichung - und da<strong>mit</strong> auch die zweite Eigenschaft -gilt also.Zum Beweis der dritten Eigenschaft, c ∪ id K = d bemerken wir, dass J ∪ K =U und J ′ ∪ K = U ′ bereits vom c-Übergang her bekannt sind, weiterhingelten J 1 ∪ K = U 1 und J 2 ∪ K = U 2 definitionsgemäß. Bleibt also nur zuzeigen dass auch U 1′ = J 1′ ∪ K richtig ist. Wir berechnen:U 1′ = U 1 ∩ U 2 = (J 1 ∪ K) ∩ (J 2 ∪ K)= J 1 ∩ J 2 ∪ K ∪ (J 1 ∩ K) ∪ (J 2 ∩ K)= J 1′ ∪ K ∪ J} 1 {{ ∩ K}∪ J} 2 {{ ∩ K}= J 1′ ∪ K.⊆K ⊆KDa also alle fünf Eigenschaften gelten, ist der Satz bewiesen. Insgesamt folgt:Folgerung 6.5 Der in Definition 6.2 beschriebene Automat A erfüllt dieFunktor-Eigenschaft, ist also tatsächlich ein Automat


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 56Wir werden nun in den folgenden zwei Sätzen beweisen, dass der konstruierteAutomat auch tatsächlich die korrekte Sprache akzeptiert.Satz 6.6 Es sei c ∈ L(A 1 ) ; L(A 2 ) gegeben, dann ist c ∈ L(A)Beweis: Wenn c ∈ L(A 1 ) ; L(A 2 ) gilt, dann gibt es ein c 1 ∈ L(A 1 ) und einc 2 ∈ L(A 2 ), so dass c = c 1 ; c 2 gilt. Wir betrachten nun zunächst c 1 .c 1 hat die Form c 1 = U 1 → U ← K, wir bilden den Übergang, der inder folgenden Abbildung zu sehen ist. Dabei ist z s1 der Startzustand desc 1 -Übergangs in A 1 , z s2 der Startzustand des C 2 -Übergangs in A 2 , z e1 derEndzustand des c 1 -Übergangs in A 1 und z e2 der Endzustand des c 2 -Übergangsin A 2 .id K :d 1 :K K KU 1 (z s1 ) U K(z e1 )d:U U Kd 2 :c 1 :K(z s2 ) K K(z s2 )U 1 U KAbbildung 6.15: Zustandsübergang im Automaten AAußer U sind alle Objekte und zugehörigen Pfeile bereits bekannt, U bildenwir als Pushout:U U 1KUAbbildung 6.16: Pushout für UWir zeigen nun die fünf Eigenschaften, die erfüllt sein müssen, da<strong>mit</strong> es sichhierbei um einen Übergang in A handelt:1. d 1 ∪ d 2 = d: Da K ⊆ U richtig ist, gilt U = U ∪ K, K ∪ K = K giltebenfalls und wir haben U als Pushout von U 1 und K definiert, alsoist auch U = U 1 ∪ K.2. d 1 ∩ d 2 = c 1 ∩ id K : K ∩ K = K ∩ K ist klar, ebenso U ∩ K = U ∩ Kund K ∩ U 1 = K ∩ U 1 .


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 573. c 1 ∪ id K = d: Wir haben U als Pushout von K und U 1 definiert, alsogilt U = K ∪ U 1 , da K ⊆ U richtig ist, gilt auch U ∪ K = U undK ∪ K = K ist klar.4. d 1 ist ein Cospan <strong>mit</strong> z s1 A 1 (c 1 )z e1 nach Voraussetzung. Da der Cospand 2 schlicht die Identität ist und keine Zustandsänderung vom innerenzum äußeren Interface stattfindet, gilt auch, dass d 2 ein Cospan ist, fürden z s1 A 2 (d 2 )z s1 gilt.5. U ∩ K = K ∩ K folgt aus U ⊇ K und K ∩ K = K ∩ K ist klar.Also gelten alle Eigenschaften, die ein Übergang in A erfüllen muss für diesenÜbergang und es handelt sich so<strong>mit</strong> um einen legalen Zustandsübergang.Ganz analog bilden wir nun einen Zustandsübergang für c 2 in A wie folgt:id K :d 1 :K K KK(z e1 ) K K(z e1 )d:K U U ′d 2 :c 2 :K(z s2 ) U J ′ (z e2 )K U J ′Abbildung 6.17: Zustandsübergang im Automaten AWiederum sind alle Objekte und Pfeile <strong>mit</strong> einer Ausnahme bekannt. U ′bilden wir analog zu U im ersten Übergang als Pushout-Objekt von J ′ undK:U J ′K U ′Abbildung 6.18: Pushout für U ′Auch hier zeigen wir, dass die fünf Bedingungen gelten, die an einen Zustandsübergangin A gestellt werden.1. d 1 ∪ d 2 = d: Da K ⊆ U richtig ist, gilt U = U ∪ K, K ∪ K = K giltebenfalls und wir haben U ′ als Pushout von J ′ und K definiert, alsoist auch U ′ = J ′ ∪ K.


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 582. d 1 ∩ d 2 = c 2 ∩ id K : K ∩ K = K ∩ K ist klar, ebenso U ∩ K = U ∩ Kund K ∩ J ′ = K ∩ J ′ .3. c 2 ∪ id K = d: Wir haben U ′ als Pushout von K und J ′ definiert, alsogilt U ′ = K ∪ J ′ , da K ⊆ U richtig ist, gilt auch U ∪ K = U undK ∪ K = K ist klar.4. d 1 ist ein Cospan <strong>mit</strong> z e1 A 1 (c 2 )z e1 , weil es sich um die Identität handeltund die beiden Zustände identisch sind. d 2 ist ein Cospan <strong>mit</strong>z s2 A 2 (c 2 )z e2 nach Voraussetzung.5. U ∩ K = K ∩ K folgt aus U ⊇ K und K ∩ K = K ∩ K ist klar.Beide Zustandsübergänge sind also legale Zustandsübergänge in A, da wirbereits wissen, dass A die Funktor-Eigenschaft erfüllt und c = c 1 ; c 2 ist,werden der Startzustand vom ersten definierten Übergang und der Endzustandvom letzten definierten Übergang durch A in Relation gesetzt. Dadiese Zustände (wie man durch einfaches Abgleichen <strong>mit</strong> der Definition vonStart- und Endzuständen ersehen kann) tatsächliche Start- und Endzuständesind, akzeptiert A also den Cospan c.□Satz 6.7 Es sei c ∈ L(A) gegeben, dann ist c ∈ L(A 1 ) ; L(A 2 )Beweis: Sei ein akzeptierender c-Übergang in A gegeben:id K :d 1 :K K KJ(z 1 ) U 1 K(z ′ 1 )d:U U U ′d 2 :c:K(z 2 ) U 2 J ′ (z ′ 2 )J J J ′Abbildung 6.19: Akzeptierender Zustandsübergang im Automaten AWir zeigen, dass gilt c = d 1 ; d 2 . Da c der untersuchte von A akzeptierteCospan ist, d 1 ein von A 1 akzeptierter Cospan und d 2 ein von A 2 akzeptierterCospan, folgt daraus, dass c ∈ L(A 1 ) ; L(A 2 ). Da das äußere Interface vond 1 gleich dem inneren Interface von d 2 ist, sind d 1 und d 2 konkatenierbar,falls U 1 ∩ U 2 = K gilt.Wir halten zunächst fest, dass gilt U = J. Das gilt, denn c ∩ id K = d 1 ∩ d 2 .Da K das äußere Interface von d 1 ist, ist K ⊆ U 1 und da K das innereInterface von d 2 ist, ist K ⊆ U 2 . Also ist K ⊆ U 1 ∩ U 2 = J ∩ K. Da<strong>mit</strong> folgt


KAPITEL 6. ABSCHLUSS UNTER KONKATENATION 59K ⊆ J. Da U = J ∪ K richtig ist, gilt also insgesamt U = J. Wir haben nunvier Relationen zu zeigen:1. U 1 ∩U 2 = K. Wir wissen bereits, dass K ⊆ U 1 ∩U 2 gilt, wir müssen alsonoch die umgekehrte Inklusion, U 1 ∩ U 2 ⊆ K, zeigen. Es gilt c ∩ id K =d 1 ∩d 2 , also insbesondere U 1 ∩U 2 = J ∩K. Da Gleichheit wechselseitigeInklusion impliziert, gilt also insbesondere auch U 1 ∩ U 2 ⊆ J ∩ K ⊆ K.2. J = U 1 ∪ U 2 : Wir wissen bereits U = J. Weiterhin gilt d 1 ∪ d 2 = d,also insbesondere U 1 ∪ U 2 = U = J.3. J ′ ⊆ U 2 : Da der rechte Zustand ein Zielzustand ist, ist J ′ in U 2enthalten.4. J ⊆ U 1 : Da der linke Zustand ein Startzustand ist, ist J in U 1 enthalten.Insgesamt haben wir also bewiesen, dass c = d 1 ; d 2 gilt und da<strong>mit</strong> ist jederCospan, der in der Sprache von A liegt auch in L(A 1 ) ; L(A 2 ). □Folgerung 6.8 Der Konkatenationsautomat A erkennt genau die Konkatenationder <strong>Sprachen</strong> L(A 1 ) und L(A 2 ).Da<strong>mit</strong> haben wir insgesamt folgenden Satz bewiesen:Satz 6.9 Die Konkatenation zweier erkennbarer Pfeilsprachen ist eine erkennbarePfeilsprache.


Kapitel 7Abschluss unterKonkatenation für<strong>Graph</strong>sprachenWir wollen nun für den Spezialfall der <strong>Graph</strong>automaten über der Mengeatomarer Cospans eine Konstruktion angeben.Definition 7.1 (Konkatenationsautomat im <strong>Graph</strong>enfall)Wir konstruieren einen <strong>Graph</strong>automaten aus einem <strong>Graph</strong>-Automaten A 1für L 1 und einem <strong>Graph</strong>-Automaten A 2 für L 2 wie folgt:Wir können davon ausgehen, dass A 1 und A 2 über dem Alphabet{vertex n i , perm n π, connect n A,θ , resn i : i < n, Im(θ) ∈ {1, 2, ..., n}}definiert sind, also ebenfalls nur Cospans aus der Menge der atomarenCospans enthält. Zur Definition der Zustände betrachten wir, dass ein Zustandeine zugehörige Interface-Größe |I| hat. Das Start-Interface des AutomatenA 2 habe die Größe |K|. Schließlich enthält die Vereinigung des Interfaces desmomentanen Zustandes und des Start-Interfaces des Automaten A 2 |U| ∈{max{|I|, |K|}, max{|I|, |K|} + 1, ..., |I| + |K|} viele Knoten. Wir definierennun die Komponenten des <strong>Graph</strong>-Automaten A wie folgt.• Zustände: Die Zustände des Automaten sind von der Form(z 1 , z 2 , s 1 , s 2 , ϕ 1 , ϕ 2 )Zu jedem Zustand gehört implizit eine Menge U, die die Knoten aus demmomentanen Interface vereinigt <strong>mit</strong> der Menge der Knoten aus demStart-Interface des Automaten A 2 repräsentiert. Wenn x die Zahl derStart-Interface-Knoten von A 2 ist, die nicht in der Menge der Knotenaus dem momentanen Interface vorkommen, dann gilt |U| = |I| + x.Weiterhin ist z 1 ein Zustand der Interface-Größe A aus A 1 , z 2 einZustand der Interface-Größe B aus A 2 .60


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 61– s 1 : {1, 2, ..., A} → U zeigt an, wo sich die Knoten die zum Zustandz 1 gehören in U finden.– s 2 : {1, 2, ..., B} → U zeigt an, wo sich die Knoten die zumZustand z 2 gehören in U befinden.– s 1 und s 2 sind gemeinsam surjektiv, das bedeutet, dass Im(s 1 ) ∪Im(s 2 ) = U gilt.– ϕ 1 : {1, 2, ..., |I|} → U zeigt an, wo sich die Knoten aus demmomentanen Interface in U finden.– ϕ 2 : {1, 2, ..., |K|} → U zeigt an, wo sich die Knoten aus demZiel-Interface des Automaten A 2 in U befinden.– ϕ 1 und ϕ 2 sind gemeinsam surjektiv, das bedeutet, dass Im(ϕ 1 ) ∪Im(ϕ 2 ) = U gilt.Schließlich müssen die Zustände die folgende Gleichung erfüllen:K ∩ J = U 1 ∩ U 2 .Zustände, die bis auf Isomorphie der zugehörigen U identisch sind,fassen wir zu einem Zustand zusammen.• Startzustände: Startzustände des Automaten A sind all jene Zustände(z 1 , z 2 , s 1 , s 2 , ϕ 1 , ϕ 2 ) für die gilt:– z 1 ist ein Startzustand in A 1– z 2 ist ein Startzustand in A 2– s 1 = ϕ 1– s 2 = ϕ 2• Endzustände: Endzustände des Automaten A sind all jene Zustände(z, z 2 , s 1 , s 2 , ϕ 1 , ϕ 2 ) für die gilt:– z 2 ist ein Endzustand von A 2 .– ϕ 1 = s 2– ϕ 2 = s 1• Übergänge:Es gibt einen Übergang(z 1 , z 2 , s 1 , s 2 , ϕ 1 , ϕ 2 ) op−→ (z ′ 1, z ′ 2, s ′ 1, s ′ 2, ϕ ′ 1, ϕ ′ 2),hierbei sei U = Im(s 1 )∪Im(s 2 ) und U ′ = Im(s ′ 1 )∪Im(s′ 2 ), genau dannwenn:


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 62– op = perm n π: Es gilt U = U ′ . Es gibt eine Permutation π 1 undeine Permutation π 2 , so dassein Übergang in A 1 ist undz 1z 2perm π1−−−−→ z′1perm π2−−−−→ z′2ein Übergang in A 2 ist. Weiterhin gilts ′ 1 = s 1 ◦ π −11s ′ 2 = s 2 ◦ π −12ϕ ′ 1 = ϕ 1 ◦ π −1ϕ ′ 2 = ϕ 2– op = res n i : Es gibt eine Permutation π 1 und eine Permutation π 2 ,so dass einer der folgenden drei Fälle gilt:1. Es gilt U \ {ϕ 1 (i)} = U ′ .z 1ist ein Übergang in A 1 undres j−−→ · perm π 1−−−−→ z′1z 2perm π2−−−−→ z′2ist ein Übergang in A 2 . Weiterhin gelte s 1 (j) = ϕ 1 (i), ϕ 1 (i) /∈Im(s 2 )∪Im(ϕ 2 ). Für s ′ 1 , s′ 2 , ϕ′ 1 und ϕ′ 2 fordern wir schließlich:{s ′ 1(x) =s 1 (π −11s 1 (π −11(x)) , falls π−1 1 (x) < j(x) + 1) , falls π−1 1 (x) ≥ js ′ 2(x) = s 2 (π2 −1 (x)){ϕ ′ ϕ 1 (x) , falls x < i1(x) =ϕ 1 (x + 1) , falls x ≥ iϕ ′ 2(x) = ϕ 2 (x)Dieser Fall beschreibt also das Verschatten eines Knotens,der zum Automaten A 1 gehört und nicht im Endinterface Kliegen soll.


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 632. Es gilt U = U ′ .z 1ist ein Übergang in A 1 undz 2perm π1−−−−→ z′1res j−−→ · perm π 2−−−−→ z′2ist ein Übergang in A 2 . Weiterhin gilt s 2 (π2 −1 (j)) = ϕ 1(i),ϕ 1 (i) ∈ Im(s 1 ) ∩ Im(ϕ 2 ). Schließlich fordern wir für s ′ 1 , s′ 2 ,ϕ ′ 1 und ϕ′ 2 , dass gilt: s ′ 1(x) = s 1 (π1 −1 (x)){s ′ s 2 (π2 −1 (x)) , falls π−1 22(x) =(x) < js 2 (π2 −1 (x) + 1) , falls π−1 2 (x) ≥ jϕ ′ 1(x) = ϕ 1 (x)ϕ ′ 2(x) = ϕ 2 (x)Dieser Fall beschreibt also das Verschatten eines Knotens,der zum Automaten A 1 gehört und aus dem Startinterface Kstammen soll. In diesem Fall muss ϕ 1 angepasst werden, dader Knoten aus U verschwindet.3. Es gilt U \ {ϕ 1 (i)} = U ′ .z 1ist ein Übergang in A 1 undz 2perm π1−−−−→ z′1res j−−→ · perm π 2−−−−→ z′2ist ein Übergang in A 2 . Weiterhin gilt s 2 (π2 −1 (j)) = ϕ 1(i),ϕ 1 (i) /∈ Im(s 1 ) ∪ Im(ϕ 2 ). Schließlich fordern wir für s ′ 1 , s′ 2 ,ϕ ′ 1 und ϕ′ 2 , dass gilt: s ′ 1(x) = s 1 (π1 −1 (x)){s ′ s 2 (π2 −1 (x)) , falls π−1 22(x) =(x) < js 2 (π1 −1 (x) + 1) , falls π−1 2 (x) ≥ j{ϕ ′ ϕ 1 (x) , falls x < i1(x) =ϕ 1 (x + 1) , falls x ≥ iϕ ′ 2(x) = ϕ 2 (x)


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 64Dieser Fall beschreibt also das Verschatten eines Knotens,der zum Automaten A 1 gehört und nicht in dessen StartinterfaceK liegen soll. Anders als in den beiden vorangegangenenFällen muss hier ϕ 1 nicht angepasst werden, denn der verschatteteKnoten fällt zwar aus dem momentanen Interfaceheraus, bleibt aber in U, da er in K liegt und K über alleZustandsübergänge hinweg gleich bleibt.– op = vertex n i : Es gibt eine Permutation π 1 und eine Permutationπ 2 , so dass einer der folgenden drei Fälle gilt:1. Es gilt U = U ′ .z 1ist ein Übergang in A 1 undvertex j−−−−→ · perm π 1−−−−→ z′1z 2perm π2−−−−→ z′2ist ein Übergang in A 2 . Weiterhin gibt es einen Index m, fürden gilt ϕ 2 (m) /∈ Im(s 1 ). Dann fordern wir, dass für s ′ 1 , s′ 2 ,ϕ ′ 1 und ϕ′ 2 gilt:⎧⎪⎨ ϕ 2 (m) , falls π2 −1 (x) = js ′ 1(x) = s 1 (π1 −1 (x)) , falls π−1 1⎪⎩(x) < js 1 (π1 −1 (x) − 1) , falls π−1 1 (x) > js ′ 2(x) = s 2 (π2 −1 (x))⎧⎪⎨ ϕ 1 (x) , falls x < iϕ ′ 1(x) = ϕ 1 (x − 1) , falls x > i⎪⎩ϕ 2 (m) , falls x = iϕ ′ 2(x) = ϕ 2 (x)Dieser Übergang ermöglicht also das Einfügen eines Knotens(des Knotens ϕ ( 2m)) aus dem Zielinterfaces des AutomatenA 1 zum Automaten A 1 . Da dieser Knoten bereits vorher inK vorhanden sein muss, muss er auch bereits vorher in U liegen,wir müssen also U nicht verändern. Allerdings wird derKnoten erst durch diese Operation in das tatsächliche Interfacedes Automaten A aufgenommen, ϕ 1 muss also angepasstwerden.2. Es gilt U ′ = U ∪ {v} ≠ U.z 1vertex j−−−−→ · perm π 1−−−−→ z′1


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 65ist ein Übergang in A 1 undz 2perm π2−−−−→ z′2ist ein Übergang in A 2 . Dann fordern wir, dass für s ′ 1 , s′ 2 , ϕ′ 1und ϕ ′ 2 gilt:⎧⎪⎨ v, falls π2 −1 (x) = js ′ 1(x) = s 1 (π1 −1 (x)) , falls π−1 1⎪⎩(x) < js 1 (π1 −1 (x) − 1) , falls π−1 1 (x) > js ′ 2(x) = s 2 (π2 −1⎧(x))⎪⎨ ϕ 1 (x) , falls x < iϕ ′ 1(x) = ϕ 1 (x − 1) , falls x > i⎪⎩v , falls x = iϕ ′ 2(x) = ϕ 2 (x)Dieser Übergang ermöglicht das Hinzufügen eines Knotens imAutomaten A 1 , der nicht zum Zielinterface K gehören soll. s 1muss also um den neuen Knoten erweitert werden und auchϕ 1 muss nun den neuen Knoten referenzieren. Hingegen wirdkeine Änderung an K-Knoten durchgeführt und auch keineÄnderung an A 2 -Knoten durchgeführt, also beliben ϕ 2 und s 2– abgesehen von Umordnungen – unverändert.3. Es gilt U ′ = U ∪ {v} ≠ U.z 1ist ein Übergang in A 1 undz 2perm π1−−−−→ z′1vertex j−−−−→ · perm π 2−−−−→ z′2ist ein Übergang in A 2 . Weiterhin gilts ′ 1(x) = s 1 (π1 −1 (x))⎧⎪⎨ s 2 (π2 −1 (x)) , falls π−1 2 (x) < js ′ 2(x) = s 2 (π2 −1 (x) − 1) , falls π−1 2⎪⎩(x) > jv, falls π2 −1 (x) = j⎧⎪⎨ ϕ 1 (x) , falls x < iϕ ′ 1(x) = ϕ 1 (x − 1) , falls x > i⎪⎩v , falls x = iϕ ′ 2(x) = ϕ 2 (x)


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 66Durch diese Operation kann ein Knoten im Automaten A 2 hinzugefügtwerden. Es kann sich dann nicht um einen Knoten aus Khandeln, also bleibt ϕ 2 unverändert. Hingegen wird der Knoten indas neue Gesamt-Interface von A und in das Interface des AutomatenA 2 aufgenommen, also muss der neue Knoten in ϕ 1 unds 2 referenziert werden. s 1 bleibt – abgesehen von Umordnungen –unverändert, weil keine Änderung am A 1 -Interface durchgeführtwird.– op = connect n A,θ : Es gilt U = U ′ . Wir bezeichnen die Kardinalitäteiner A-Kante <strong>mit</strong> |A|. Es gibt eine Permutation π 1 und einePermutation π 2 , so dass einer der folgenden zwei Fälle gilt:1.ist ein Übergang in A 1 undconnect A,θ ′z 1 −−−−−−−→ · perm π−−−−→1z′1z 2perm π2−−−−→ z′2ist ein Übergang in A 2 . Weiterhin gilt für alle i ∈ {1, ..., |A|}:ϕ 1 (θ(i)) = s 1 (θ ′ (i)) und wir fordern s ′ 1 = s 1 ◦ π1 −1 , s′ 2 =s 2 ◦ π2 −1 , ϕ′ 1 = ϕ 1 und ϕ ′ 2 = ϕ 2. Dieser Zustandsübergangermöglicht das Hinzufügen einer Kante im Automaten A 1 , anden Knotenmengen ändert sich hierdurch nichts, s 1 , s 2 , ϕ 1und ϕ 2 bleiben also – abgesehen von Umordnungen – gleich.2.perm π1z 1 −−−−→ z′1ist ein Übergang in A 1 undconnect A,θ ′z 2 −−−−−−−→ · perm π−−−−→2z′2ist ein Übergang in A 2 . Weiterhin gilt für alle i ∈ {1, ..., |A|}:ϕ 1 (θ(i)) = s 2 (θ ′ (i)) und wir fordern s ′ 2 = s 2 ◦ π2 −1 , s′ 1 =s 1 ◦ π1 −1 , ϕ′ 1 = ϕ 1 und ϕ ′ 2 = ϕ 2.Dieser Zustandsübergang ermöglicht das Hinzufügen einerKante im Automaten A 2 , an den Knotenmengen ändert sichhierdurch nichts, s 1 , s 2 , ϕ 1 und ϕ 2 bleiben also – abgesehenvon Umordnungen – gleich.Wir haben nun also einen Automaten für die Konkatenation zweier <strong>Graph</strong>sprachen<strong>mit</strong> atomaren Cospans beschrieben. Um zu zeigen, dass dieserAutomat korrekt ist und das Gewünschte leistet, reicht es, zu zeigen, dassdieser Automat ein Spezialfall des Konkatenationsautomaten aus der imvorherigen Kapitel angegebenen Definition 6.2 ist.


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 67Satz 7.2 Der in Definition 7.1 beschriebene Automat A zur Konkatenationzweier <strong>Graph</strong>-Automaten ist ein Konkatenationsautomat.Beweis: Wir setzen U 1 = {1, 2, ..., A}, U 2 = {1, 2, ..., B}. J = {1, 2, ..., |I|}und K ′ = {1, 2, ..., K}, dann lässt sich ein Zustand in A schreiben alsKϕ 2s 1U 1 (z 1 ) U U 2 (z 2 )s 2ϕ 1JAbbildung 7.1: Zustände im Automaten AAlso genau wie gewünscht.Für Startzustände fordern wir, dass s 1 = ϕ 1 gilt. Das impliziert, dass U 1 = Jist. Weiterhin fordern wir, dass s 2 = ϕ 2 ist, woraus wiederum folgt, dassU 2 = K ist. Da wir ebenfalls fordern, dass z 1 ein Startzustand in A 1 ist undz 2 ein Startzustand in A 2 , sind die Startzustände also genau die Zuständeder Form, die beim Konkatenationsautomat gefordert wird.Analog beobachten wir, dass die Forderung für die Endzustände, dass ϕ 1 = s 2ist, impliziert, dass J = U 2 ist und ϕ 2 = s 1 impliziert, dass U 1 = K ist.Also sind auch die Endzustände genau die Zustände der Form, die beimKonkatenationsautomat gefordert wird.Nun müssen wir noch zeigen, dass die Zustandsübergänge genau diejenigensind, die beim Konkatenationsautomat angegeben sind. Dies beweisen wir inzwei Schritten:• Wir zeigen, dass alle für A angegebenen Übergänge die korrekte Formeines Übergangs in einem Konkatenationsautomaten haben. c ist dannder durch die jeweilige Operation op gegebene Zustand und d = c∪id K .Wir unterscheiden nun alle Fälle für op und sehen, dass die ersteBedingung nach Definition immer erfüllt ist, ebenso wie Bedingungvier, definitionsgemäß, da für einen Zustandsübergang verlangt wird,dass die Übergänge auf U 1 und U 2 legale Übergänge in A 1 und A 2sind.– op = perm n π: d 1 = π 1 , d 2 = π 2 . Die fünf Bedingungen werdenerfüllt, da π ∪ id K = π 1 ∪ π 2 nach Definition richtig ist, dieK-Monotonie bei Permutationen dadurch erfüllt ist, dass linkes


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 68Interface, <strong>Graph</strong> und rechtes Interface die gleichen Knoten enthaltenund die übrigen Bedingungen schon dadurch garantiert sind,dass wir in einem legalen Zustand starten.– op = res n i : Im Fall 1 aus der obigen Definition 7.1 setzen wird 1 = res j ; π 1 und d 2 = π 2 . res n i ∪id K = res j ; π 1 ∪π 2 gilt ebenfalls.Da im Fall 1 keine K-Knoten verschattet werden, sind Bedingung2 und die K-Monotonie erfüllt. Im zweiten und dritten Fall istd 1 = π 1 und d 2 = res j ; π 2 . Die dritte Bedingung gilt wieder, weilres n i ∪id K = res j ; π 2 ∪π 1 gilt, für Bedingungen 5 und 2 betrachtenwir getrennt, ob der verschattete Knoten aus K ist oder nicht. ImFall dessen, dass der verschattete Knoten nicht aus K stammt,wird der Schnitt von U 1 und U 2 sowie von U 1 <strong>mit</strong> K und U 2 <strong>mit</strong>K überhaupt nicht berührt, die Bedingungen gelten also. Stammtder Knoten hingegen aus K, so verschwindet der Knoten aus J,also auch aus dem Schnitt J ′ ∩K. Da er auch aus U 2 verschwindet,also auch nicht mehr im Schnitt U 2 ′ ∩ U 1 ′ liegt, ist Bedingung 2weiterhin erfüllt. Die K-Monotonie gilt, denn der Schnitt von U 1<strong>mit</strong> K wird nicht angefasst.– op = vertex n i : Im ersten und zweiten Fall aus der Definitiondes vertex-Übergangs in A ist d 1 = vertex j ; π 1 und d 2 = π 2 .vertex n i ∪ id K = vertex j ; π 1 ∪ π 2 liefert wieder Bedingung 3. ImFall dessen, dass der neue Knoten kein Knoten aus K ist, sindBedingungen 2 und 5 (K-Monotonie) klar. Wird hingegen einKnoten aus K hinzugefügt, so ist dieser Knoten im Vergleich zuJ ∩ K zusätzlich in J ′ ∩ K, allerdings ist er auch zusätzlich inU 1 ′ ∩ U 2 ′. Weiterhin ist der Knoten im <strong>Graph</strong>en U 1, aber er tauchtebenso in U 1 ′ auf, so dass die K-Monotonie ebenfalls erhaltenbleibt.Im dritten Fall ist d 1 = π 2 und d 2 = vertex j ; π 2 und Bedingung3 wieder klar wegen vertex n i ∪ id K = π 1 ∪ vertex j ; π 2 . In diesemFall kann kein Knoten aus K hinzugefügt worden sein. Bedingung2 ist also ebenfalls erfüllt. Ohne Änderungen an dem Schnitt vonU 1 und K oder U 2 und K gilt auch die K-Monotonie.– op = connect n A,θ : Im ersten Fall setzen wir d 1 = connect A,θ ′ ; π 1und d 2 = π 2 und stellen wieder fest, dass Bedingung 3 erfüllt istwegen vertex n i ∪ id K = connect A,θ ′ ; π 1 ∪ π 2 . Es wird kein Knotenzu irgendeiner Menge hinzugefügt oder entfernt, die Bedingungen2 und 5 gelten also ebenfalls weiterhin. Analog ist im zweiten Falld 1 = π 1 und d 2 = connect A,θ ′ ; π 2 und Bedingung 3 erfüllt wegenvertex n i ∪id K = π 1 ∪connect A,θ ′ ; π 2 . Auch in diesem Fall wird keinKnoten zu einer Menge hinzugefügt oder entfernt, Bedingungen 2und 5 gelten also wiederum weiter.• Wir zeigen nun andersherum, dass jeder Übergang, der für einen Konka-


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 69tenationsautomaten erlaubt ist und der atomar ist, auch im AutomatenA vorhanden ist. Wir unterscheiden abermals nach dem Typ der gewähltenOperation.– perm-Operation: Wegen d = c ∪ id K muss d eine perm-Operationsein und da weiter gilt d = d 1 ∪ d 2 , müssen auch d 1 und d 2perm-Operationen sein.– res-Operation: Falls der verschattete Knoten in J ∩ K liegt musser auch in U 1 ∩ U 2 liegen. Da er hinterher immernoch in K liegt,muss er entweder in U 1 ′ oder in U 2 ′ liegen. Für den Fall, dass erin U 1 ′ liegt, ist dieser Übergang in A enthalten, anderenfalls istaber U 1 ′ ∩ K ≠ U 1 ∩ K, also ist ein solcher Übergang auch nichtim Konkatenationsautomaten enthalten.Ist der Knoten andersherum nicht in J ∩K, so ist er entweder in U 1oder in U 2 . Da c ∪ id K = d 1 ∪ d 2 gelten muss und es entsprechendeÜbergänge in A 1 und A 2 geben muss, da<strong>mit</strong> der Übergang imKonkatenationsautomaten vorhanden ist, ist der Übergang von Aerfasst.– vertex: Wir unterscheiden wieder, ob der neue Knoten in J ′ ∩ Kliegt oder nicht. Liegt der neue Knoten in J ′ ∩ K, so liegt der neueKnoten auch in U 1 ′ ∩ U 2 ′ . Da K sich im Laufe der Operation nichtändert, war der Knoten bereits in J ∪ K, also auch in U 1 ∪ U 2 , erlag also vorher schon in U 1 oder in U 2 (aber nicht in beiden, sonstwäre er auch in J). Lag er vorher schon in U 2 , aber nicht in U 1 , soist die Operation erfasst. Lag er hingegen in U 1 und nicht in U 2 ,so würde U 2 ∩ K ≠ U 2 ∩ K gelten, die Operation würde also dieK-Monotonie nicht erfüllen und ist so<strong>mit</strong> auch keine Operationim Konkatenationsautomaten.Ist der neue Knoten umgekehrt nicht in J ′ ∩K, so ist er entweder inU 1 ′ oder in U 2 ′. Ist er in U 1 ′, so muss d 1 auch eine vertex-Operationsein und d 2 eine Permutation, die Operation ist also von A erfasst.Analog, ist er in U 2 ′, so muss d 2 auch eine vertex-Operation seinund d 1 eine Permutation. Auch in diesem Fall ist die Operationvon A erfasst.– connect: Da c ∩ id K ausschließlich Identitäten enthält und ergokeine Kante hinzufügen kann und d 1 ∩ d 2 = c ∩ id K richtig ist,muss die Kante entweder komplett im U 1 -<strong>Graph</strong>en oder komplettim U 2 <strong>Graph</strong>en hinzugefügt werden, die Operation wird also durchA erfasst.Insgesamt ist also der oben angegebene Automat A tatsächlich ein Konkatenationsautomat.□Um die Konstruktion des Konkatenationsautomaten zu veranschaulichen,wollen wir diese an einem einfachen <strong>Graph</strong>en-Beispiel einmal durchführen.


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 70Beispiel 7.3 Beispiel eines Konkatenationsautomaten ”Haus des Nikolaus“Wir werden zunächst einen Automaten A 1 angeben, der drei Knoten erstellt,diese so <strong>mit</strong> zwei Kanten verbindet, dass ein zusammenhängender <strong>Graph</strong>entsteht. Der Knoten, der in der Mitte des entstehenden Weges liegt wirdverschattet und die beiden äußeren Knoten liegen im Zielinterface des Automaten.Zur Definition unseres Automaten definieren wir allerdings zunächstzwei Funktionen:• Sei i ∈ N, dann ist die Funktion p i : P(P(N)) → P(P(N)) definiert zup i (X){{a + 1 : a ∈ A} : A ∈ X}• Sei π eine Permutation, dann ist die Funktion t π : P(P(N)) → P(P(N))definiert zut π (X){{π(i) : i ∈ A} : A ∈ X}Die Zustände des Automaten sind alle Paare der Formz ∈ {0, 1, 2, 3, 2 ′ } × {∅, {{1, 2}}, {{1, 3}}, {{2, 3}},{{1, 2}, {1, 3}}, {{1, 2}, {2, 3}}, {{1, 3}, {2, 3}}}Wir merken uns in der ersten Komponente des Zustands, wie viele Knotenbereits erstellt wurden, die Zahlen 0 bis 3 bedeuten einfach, dass 0 bis 3Knoten bereits eingelesen wurden. 2 ′ bedeutet hingegen, dass bereits alle dreiKnoten eingelesen wurden und zudem der <strong>mit</strong>tlere Knoten bereits verschattetwurde. In der zweiten Komponente merken wir uns schließlich, welche Paarevon Knoten bereits durch Kanten verbunden sind. Der Startzustand ist (0, ∅).Als Endzustände wählen wir den Zustand (2 ′ , ∅).Als Zustandsübergänge wählen wir alle Tripel aus zwei Zuständen und zugehörigerOperation, die eine der folgenden Bedingungen erfüllt:• (i, X) vertex i j−−−−→ (i + 1, p j (X)), falls i ∈ {0, 1, 2}• (3, X) res3 i−−→ (2 ′ , ∅), falls |{a ∈ X : i ∈ a}| = 2• (i, X) permi π−−−−→ (i, t π (X)), i ∈ {0, 1, 2, 3}• (2 ′ , ∅) perm2 π−−−−→ (2 ′ , ∅)• (i, X) connecti A,θ−−−−−−→ (i, X ∪ {θ}), θ /∈ XWeiterhin definieren wir einen Automaten A 2 , der ausgehend von einemStartinterface, das zwei Knoten enthält, den vollständigen <strong>Graph</strong>en K 4 bildet.Als Zustände des Automaten A 2 wählen wir alle Paare der Formz ∈ {2, 3, 4} × P({{a, b} : {a, b} ∈ {1, 2, 3, 4} × {1, 2, 3, 4} ∧ a ≠ b})


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 71Wir merken uns hierbei wiederum in der ersten Komponente, wie viele Knotenbereits eingelesen wurden und in der zweiten Komponente, welche Knotenaus dem Interface bereits durch eine Kante verbunden werden.Als Startzustand wählen wir (2, ∅).Als Endzustand wählen wir(4, {{a, b} : {a, b} ∈ {1, 2, 3, 4} × {1, 2, 3, 4} ∧ a ≠ b}).Als Zustandsübergänge wählen wir alle Tripel aus zwei Zuständen und zugehörigerOperation, die eine der folgenden Bedingungen erfüllen:• (i, X) vertex i j−−−−→ (i + 1, p j (X)), <strong>mit</strong> i ≤ 3• (i, X) permi π−−−−→ (i, t π (X))• (i, X) connecti A,θ−−−−−−→ (i, X ∪ {θ}), falls θ /∈ X.Nun können wir entsprechend unserer Konstruktion den Konkatenationsautomatenfür diese beiden Automaten angeben. Der KonkatenationsautomatA hat alle Zustände der Form<strong>mit</strong>(z 1 , z 2 , s 1 , s 2 , ϕ 1 , ϕ 2 )undz 1 ∈ {0, 1, 2, 3, 2 ′ } × {∅, {{1, 2}}, {{1, 3}},{{2, 3}}, {{1, 2}, {1, 3}}, {{1, 2}, {2, 3}}, {{1, 3}, {2, 3}}}z 2 ∈ {2, 3, 4} × P({{a, b} : {a, b} ∈ {1, 2, 3, 4} × {1, 2, 3, 4} ∧ a ≠ b})sowie ϕ 1 ∪ ϕ 2 = s 1 ∪ s 2 = U.Die Startzustände sind die Zustände der FormDie Endzustände sind von der Form((0, ∅), (2, ∅), ∅, id {1,2} , ∅, id {1,2} ).((2 ′ , X), (4, {{a, b} ∈ {1, 2, 3, 4} × {1, 2, 3, 4} : a /∈ b}), s 1 , s 2 , s 2 , s 1 ),wobei |X| = 2 ist.Schließlich geben wir die Übergänge an. Die Angabe der Zustandsübergängeerfolgt genau in der Reihenfolge, in der sie in der Definition des Konkatenationsautomatenfür den <strong>Graph</strong>enfall angegeben werden.• ((i, X), (j, Y ), s 1 , s 2 , ϕ 1 , ϕ 2 ) perm|I| π−−−−→ ((i, t π1 (X)), (j, t π2 (Y )), s 1 ◦π1 −1 , s 2◦π2 −1 , ϕ 2 ◦ π −1 , ϕ 2 )


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 72• Im zweiten Automaten darf überhaupt nicht verschattet werden, esgreift also nur Fall 1 der Fallunterscheidung für die res-Operation.res |I|ϕ −11((3, X), (i, Y ), s 1 , s 2 , ϕ 1 , ϕ 2 )(s 1−−−−−−−−→ (j))((2 ′ , t π1 (X)), (i, t π2 (Y )), s ′ 1 , s 2◦π2 −1 , ϕ′ 1 , ϕ 2)<strong>mit</strong>{|{a ∈ X : j ∈ a}| = 2, ϕ ′ 1 = ϕ 1 (x) , falls x < jϕ 1 (x + 1) , falls x ≥ j und{s ′ 1 (x) = s 1 (π1 −1 (x)) , falls π−1 1 (x) < ϕ−1 1 (s 1(j))s 1 (π1 −1 (x) + 1) , falls π−1 1 (x) ≥ ϕ−1 1 (s 1(j))• Der erste vertex-Fall beschreibt das Hinzufügen eines K-Interface-Knotens. Hierfür sei m so gewählt, dass ϕ 2 (m) /∈ Im(ϕ 1 )((a, X), (b, Y ), s 1 , s 2 , ϕ 1 , ϕ 2 )vertex |I|j−−−−−→ ((a + 1, p b (t π1 (X))), (b, t π2 (Y )), s ′ 1, s 2 ◦ π −12 , ϕ′ 1, ϕ 2 )<strong>mit</strong> a ∈ {0, 1, 2}, b ∈ {0, ..., a + 1},⎧⎪⎨ ϕ 2 (m) , falls π2 −1 (x) = bs ′ 1(x) = s 1 (π1 −1 (x)) , falls π−1 1⎪⎩(x) < bs 1 (π1 −1 (x) − 1) , falls π−1 1 (x) > b⎧⎪⎨ ϕ 1 (x)und ϕ ′ 1 (x) = ϕ⎪ 1 (x − 1)⎩ϕ 2 (m), falls x < j, falls x > j, falls x = j• Im zweiten vertex-Fall wird ein Knoten v hinzugefügt, der nur zumersten Automaten, nicht zum zweiten Automaten gehört.((i, X), (j, Y ), s 1 , s 2 , ϕ 1 , ϕ 2 )vertex |I|k−−−−−→ ((i + 1, p a (t π1 (X))), (j, t π2 (Y )), s ′ 1, s 2 , ϕ ′ 1, ϕ 2 )<strong>mit</strong> i ∈ {0, 1, 2}, a ∈ {0, ..., i + 1},⎧⎪⎨ v, falls π2 −1 (x) = as ′ 1(x) = s 1 (π1 −1 (x)) , falls π−1 1⎪⎩(x) < as 1 (π1 −1 (x) − 1) , falls π−1 1 (x) > a⎧⎪⎨ ϕ 1 (x)und ϕ ′ 1 (x) = ϕ⎪ 1 (x − 1)⎩v, falls x < k, falls x > k, falls x = k


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 73• Im dritten vertex-Fall wird ein Knoten hinzugefügt, der nur zum zweitenAutomaten, nicht zum ersten Automaten gehört.|I|vertex k((i, X), (j, Y ), s 1 , s 2 , ϕ 2 , ϕ 2 ) −−−−−→ ((i, t π1 (X)), (j+1, p a (t π2 (Y ))), s 1 ◦π1 −1 , s′ 2 , ϕ′ 1 , ϕ 2) <strong>mit</strong> j ∈ {2, 3}, a ∈ {0, 1, 2, ..., j + 1},⎧⎪⎨ s 2 (π2 −1 (x)) , falls π−1 2 (x) < as ′ 2 (x) = s⎪ 2 (π2 −1 (x) − 1) , falls π−1 2 (x) > a und⎩v, falls π2 −1⎧ (x) = a⎪⎨ ϕ 1 (x) , falls x < kϕ ′ 1 (x) = ϕ⎪ 1 (x − 1) , falls x > k⎩v, falls x = k• Der erste connect-Fall ermöglicht das Hinzufügen einer Kante, die zuAutomat 1 gehört.((i, X), (j, Y ), s 1 , s 2 , ϕ 1 , ϕ 2 ) connect|I| A,θ−−−−−−→ ((i, t π1 (X)∪{(s 1 ◦π1 −1 )−1 (ϕ 1 (k)) :k ∈ θ}), (j, t π2 (Y )), s 1 ◦ π1 −1 , s 2 ◦ π2 −1 , ϕ 1, ϕ 2 )<strong>mit</strong> ϕ 1 (θ) ⊆ Im(s 1 ◦ π1 −1 ) und {(s 1 ◦ π 1 ) −1 (ϕ 1 (k)) : k ∈ θ} t π1 (X).• Der zweite connect-Fall ermöglicht das Hinzufügen einer Kante, die zuAutomat 2 gehört.((i, X), (j, Y ), s 1 , s 2 , ϕ 1 , ϕ 2 ) connect|I| A,θ−−−−−−→ ((i, t π1 (X)), (j, t π2 (Y ) ∪ {(s 2 ◦π2 −1 )−1 (ϕ 1 (k))) : k ∈ θ}, s 1 ◦ π1 −1 , s 2 ◦ π2 −1 , ϕ 1, ϕ 2 )<strong>mit</strong> ϕ 1 (θ) ⊆ Im(s 2 ◦ π2 −1 ) und {(s 2 ◦ π2 −1 )−1 (ϕ 1 (k)) : k ∈ θ} t π2 (Y ).Dieser Automat sollte nun, wenn man sich die Funktionalität der ursprünglichenAutomaten in Erinnerung ruft, genau die <strong>Graph</strong>en akzeptieren, die sichals Haus des Nikolaus zeichnen lassen, also einem Vollständigen <strong>Graph</strong>enK 4 , der <strong>mit</strong> einem weiteren Knoten verbunden ist. Dass kein anderer <strong>Graph</strong>akzeptiert wird, lässt sich durch Abgleichen der Start- und Endzustände einsehen.Wir geben nun einen Pfad durch den Automaten an, der tatsächlichden gewünschten <strong>Graph</strong>en ergibt. Um die Zustandsfolge leichter verständlichzu machen, sei zuvor aber ein Bild des resultierenden <strong>Graph</strong>en angegeben.Jeder Knoten ist <strong>mit</strong> drei Zahlen gelabelt, die erste Zahl ist die Nummer desKnotens im Automaten A, die zweite Nummer die Nummer im AutomatenA 1 und die dritte Nummer die Nummer im Automaten A 2 . Die Kanten sindin der Reihenfolge nummeriert, in der sie in der Operatorsequenz erzeugtwerden.


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 745, 3, X673(3, 1, 3) (4, 2, 4)2 485(2, X, 2) (1, X, 1)1Abbildung 7.2: Haus des Nikolaus((0, ∅), (2, ∅), ∅, id {1,2} , ∅, id {1,2} )↓ vertex 0 1((0, ∅), (3, ∅), ∅, [1 → 1; 2 → 2; 3 → 3], [1 → 1], [1 → 2; 2 → 3])↓ vertex 1 1((0, ∅), (4, ∅), ∅, [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1, 2 → 2], [1 → 3; 2 → 4])↓ connect 2 [1,2],A((0, ∅), (4, {{1, 2}}), ∅, [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1, 2 → 2], [1 →3; 2 → 4])↓ vertex 2 3((1, ∅), (4, {{1, 2}}), [1 → 3], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1; 2 → 2; 3 →3], [1 → 3; 2 → 4])↓ connect 3 [2,3],A((1, ∅), (4, {{1, 2}, {2, 3}}), [1 → 3], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1; 2 →2; 3 → 3], [1 → 3; 2 → 4])↓ vertex 3 4


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 75((2, ∅), (4, {{1, 2}, {2, 3}}), [1 → 3; 2 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 →1; 2 → 2; 3 → 3; 4 → 4], [1 → 3; 2 → 4])↓ connect 4 [3,4],A((2, ∅), (4, {{1, 2}, {2, 3}, {3, 4}}), [1 → 3; 2 → 4], [1 → 1; 2 → 2; 3 → 3; 4 →4], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 3; 2 → 4])↓ connect 4 [4,1],A((2, ∅), (4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}}), [1 → 3; 2 → 4], [1 → 1; 2 → 2; 3 →3; 4 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 3; 2 → 4])↓ connect 4 [1,3],A((2, ∅), (4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}, {1, 3}}), [1 → 3; 2 → 4], [1 → 1; 2 →2; 3 → 3; 4 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 3; 2 → 4])↓ vertex 4 5((3, ∅), (4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}, {1, 3}}), [1 → 3; 2 → 4; 3 → 5], [1 →1; 2 → 2; 3 → 3; 4 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4; 5 → 5], [1 → 3; 2 → 4])↓ connect 5 [3,5],A((3, {{1, 3}}), (4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}, {1, 3}}), [1 → 3; 2 → 4; 3 →5], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4; 5 → 5], [1 →3; 2 → 4])↓ connect 5 [5,4],A((3, {{1, 3}, {3, 2}}), (4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}, {1, 3}}), [1 → 3; 2 →4; 3 → 5], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4; 5 →5], [1 → 3; 2 → 4])↓ connect 5 [4,2],A((3, {{1, 3}, {3, 2}}), (4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}, {1, 3}, {4, 2}}), [1 →3; 2 → 4; 3 → 5], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1; 2 → 2; 3 → 3; 4 →4; 5 → 5], [1 → 3; 2 → 4])↓ res 5 5((2 ′ , {{1, 3}, {3, 2}}), (4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}, {1, 3}, {4, 2}}), [1 →3; 2 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 → 1; 2 → 2; 3 → 3; 4 → 4], [1 →3; 2 → 4])


KAPITEL 7. KONKATENATION FÜR GRAPHSPRACHEN 76Der letzte Zustand ist ein Endzustand, denn die erste Komponente,(2 ′ , {{1, 3}, {3, 2}}),ist ein Endzustand in A 1 , die zweite Komponente,(4, {{1, 2}, {2, 3}, {3, 4}, {4, 1}, {1, 3}, {4, 2}}),ist ein Endzustand in A 2 , die dritte Komponente ist gleich der sechstenKomponente und die vierte Komponente ist gleich der fünften Komponente.Anhand dieses Ablaufs sehen wir auch, dass der <strong>Graph</strong> in beliebiger Reihenfolgeeingelesen werden kann. Die Kanten werden in einer Reihenfolgeeingelesen, in der das Haus des Nikolaus in einem Strich durchgezeichnetwerden könnte, das wäre bei einer Hintereinander-Ausführung des erstenund des zweiten Automaten nicht möglich, denn es gibt keine Möglichkeit,das Haus des Nikolaus in einem Strich zu zeichnen und dabei <strong>mit</strong> dem Dachzu beginnen oder aufzuhören.Bemerkung 7.4 Das Ergebnis, dass erkennbare <strong>Graph</strong>sprachen unter Konkatenationabgeschlossen sind, ist für sich nicht neu, schon im Jahre 1994 hatBruno Courcelle in [6] die <strong>Abschlusseigenschaften</strong> erkennbarer <strong>Graph</strong>sprachenuntersucht. Er hat in dieser Arbeit die erkennbaren <strong>Graph</strong>sprachen <strong>mit</strong>Hilfe einer äquivalenten Definition (deren Äquivalenz wurde von König et al.in [4] bewiesen) untersucht, ob erkennbare <strong>Graph</strong>sprachen <strong>mit</strong> einer ausgezeichnetenTeilknotenmenge, die er Quelle genannt hat unter der Operation// abgeschlossen sind. Hat man zwei <strong>Graph</strong>en G 1 und G 2 gegeben, die eineausgezeichnete (und gleiche) Quelle C haben, so verklebt der Operator // diebeiden <strong>Graph</strong>en an dem Interface C. Angewandt auf erkennbare Mengen von<strong>Graph</strong>en ergibt sich so ein Konkatenationsbegriff, der <strong>mit</strong> unserem weitgehendübereinstimmt. Da die <strong>Graph</strong>en allerdings nur ein einzelnes Interfacebesitzen und nach dem Verschmelzen dieses Interface verwendet wurde, istwiederholte Konkatenation zunächst nur für das immergleiche gemeinsameInterface definiert. Insofern unterscheidet sich die in dieser Arbeit vorgestellteSicht auf erkennbare <strong>Graph</strong>sprachen von der von Courcelle verwendeten.Courcelles Beweis konstruiert weiterhin keinen Konkatenationsautomaten,die hier vorgestellte Konstruktion kann allerdings potentiell für die Entwicklungvon Algorithmen auf <strong>Graph</strong>-Automaten verwendet werden, so dass dasErgebnis durchaus Verwendung abseits der bereits bekannten Aussage desAbschlusses unter Konkatenation finden kann. Weiterhin ist das Ergebnisfür adhäsive Kategorien allgemeiner als das bereits bekannte Ergebnis fürerkennbare <strong>Graph</strong>sprachen.


Kapitel 8Abschluss unterKanten-LöschungEine Abschlusseigenschaft, die sich für reguläre (Wort-) <strong>Sprachen</strong> sehr einfachbeweisen lässt, ist der Abschluss unter Zeichen-Löschung. Für einegegebene reguläre Sprache L ist die Sprache, die sich ergibt, indem mandie Sprache L vereinigt <strong>mit</strong> allen Worten, die aus Worten aus der SpracheL entstehen, indem man beliebig viele Vorkommen eines fixen Zeichens aentfernt, also wiederum regulär. Der Beweis dieser Eigenschaft ist <strong>mit</strong> Hilfeeines nichtdeterministischen Automaten relativ einfach. Man fügt einfacheinen Epsilon-Übergang zusätzlich für jeden a-Übergang in den Automatenein und erhält einen NFA, der die gewünschte Sprache akzeptiert.Wir wollen nun untersuchen, ob eine analoge Aussage auch für erkennbare-<strong>Graph</strong>sprachen gilt. Ziel ist es also, herauszufinden, ob erkennbare <strong>Graph</strong>sprachenabgeschlossen sind unter Kanten-Löschung. Das heißt wir wollenherausfinden, ob für eine gegebene erkennbare <strong>Graph</strong>-Sprache S und eineRegel T = (L ← I → R) der folgenden Form:• I hat genau so viele Knoten wie L• L ist zusammenhängend.• E(L) = {k}, wir nennen das Label der Kante k lab.• R hat genau so viele Knoten wie I• E(R) = ∅die Sprache S ′ = {G ′ : ∃G ∈ S : G ⇒ ∗ T G′ }, die entsteht, indem man S <strong>mit</strong>der Menge vereinigt, die für jeden <strong>Graph</strong>en, der n > 0 Kanten <strong>mit</strong> Label labenthält, alle <strong>Graph</strong>en enthält, die für 1 ≤ i ≤ n durch i-fache Anwendungder Regel T entstehen, erkennbar ist.77


KAPITEL 8. ABSCHLUSS UNTER KANTEN-LÖSCHUNG 78Wir stellen zunächst einmal fest, dass wir die Konstruktion aus dem Fall derWortsprachen nicht einfach adaptieren können. Das Problem ist nämlich diebeliebige Zerlegbarkeit eines <strong>Graph</strong>en. Sei beispielsweise die zu löschendeKante eine dreistellige Kante des Labels A. Dann müsste ein <strong>Graph</strong>, der eineA-Kante enthält, sicher so zerlegt werden, dass sich die drei Knoten, die <strong>mit</strong>der Kante verbunden werden, in einem Interface befinden - sonst könnte dieKante niemals eingelesen werden. Löscht man die A-Kante, so müssen abernicht mehr unbedingt irgendwann drei Knoten im Interface liegen. Führtman nun eine Abkürzung im Automaten ein, um das Hinzufügen einer A-Kante zu überspringen, so müsste man beachten, dass gegebenenfalls dieFunktoreigenschaft hierdurch zerstört wird. Wie wir im Folgenden sehenwerden, ist das Problem allerdings noch grundlegender Natur, die erkennbaren<strong>Graph</strong>sprachen sind nämlich nicht abgeschlossen unter Kanten-Löschung.Satz 8.1 Die erkennbaren <strong>Graph</strong>sprachen sind nicht abgeschlossen unterKantenlöschungBeweis: Wir betrachten die Sprache L BC , die für i = 1, 2, ... jeweils den<strong>Graph</strong>en G i BCenthält. Das linke und rechte Interface enthalten jeweils zweiKnoten und besitzen die gleiche injektive Abbildung vom Interface in den<strong>Graph</strong>en. Der <strong>Graph</strong> G i BChat die Form einer Kette von 2 · i vielen Knoten,die linear durch A-Kanten <strong>mit</strong>einander verbunden sind. Zählen wir die Kettevon einem Ende zum anderen Ende ab, so haben alle Knoten <strong>mit</strong> geraderNummer eine einstellige B-Kante und alle Knoten <strong>mit</strong> ungerader Nummereine einstellige C-Kante, weitere Knoten und Kanten gibt es im <strong>Graph</strong>en G i BCnicht. Beispielhaft sind in den folgenden beiden Abbildungen die <strong>Graph</strong>enG 1 BC und G2 BCabgebildet. Da die Richtung der Kanten unerheblich ist, wirdsie in den Abbildungen nicht dargestellt.BACAbbildung 8.1: G 1 BC


KAPITEL 8. ABSCHLUSS UNTER KANTEN-LÖSCHUNG 79BBA A ACCAbbildung 8.2: G 2 BCDie Sprache L BC ist erkennbar, wie wir in Lemma 8.2 zeigen werden. Weiterhinbetrachten wir die <strong>Graph</strong>ersetzungsregel T , die es erlaubt, A-Kantenzu löschen. Nehmen wir nun an, dass die Sprache L ′ , die sich durch Kanten-Löschung <strong>mit</strong> der Regel T aus L BC ergibt, erkennbar wäre, so wäre auchdie Sprache L ′′ erkennbar, die sich aus L ′ wie folgt ergibt. Wir betrachtendie Sprache K aller <strong>Graph</strong>en die beliebig viele Knoten enthalten und beidenen jeder Knoten adjazent ist zu genau einer Kante des Labels B odereiner Kante des Labels C. Dass diese Sprache erkennbar ist, zeigen wir inLemma 8.3. Dann ergibt sich L ′′ alsL ′′ = L ′ ∩ K.Dann müsste also L ′′ erkennbar sein, denn wie König et al. bereits in [4]bewiesen haben, sind die erkennbaren <strong>Graph</strong>sprachen abgeschlossen unterSchnitt. Allerdings ist L ′′ die Sprache aller <strong>Graph</strong>en, die für ein n ∈ N nKnoten enthalten, die adjazant zu genau einer B-Kante sind und n Knotenenthalten, die adjazent zu genau einer C-Kante sind. Dass diese Sprache abernicht erkennbar ist, zeigen wir in Lemma 8.4. Also ergibt sich ein Widerspruchund die erkennbaren <strong>Graph</strong>sprachen können so<strong>mit</strong> nicht abgeschlossen seinunter Kanten-Löschung.□Lemma 8.2 Die Sprache L BC ist erkennbar.Beweisskizze: Wir konstruieren einen <strong>Graph</strong>automaten A, der die SpracheL BC akzeptiert. Zu einem Interface I enthalte A die Zuständefür die gilt(f B , f C , f A , L, R)• f B ⊆ I: Wir merken uns, welche Knoten bereits eine B-Kante tragen.• f C ⊆ I: Wir merken uns, welche Knoten bereits eine C-Kante tragen.• f B ∩ f C = ∅: Kein Knoten darf B- und C-Kante haben.


KAPITEL 8. ABSCHLUSS UNTER KANTEN-LÖSCHUNG 80• f A ⊆ I × (I ∪ {X B , X C , Y B , Y C }). f A merkt sich, welche Knoten bereitsdurch eine A-Kante verbunden sind. Ist ein Knoten <strong>mit</strong> einem Knotenverbunden, der nicht mehr im Interface ist, wird durch X B bzw. X Cgesichert, ob dieser Knoten eine B- oder C-Kante hat. Ist ein Knoten<strong>mit</strong> einem zweiten Knoten verbunden, der nicht mehr im Interfaceist, wird durch Y B bzw. Y C gesichert, ob dieser Knoten eine B- oderC-Kante hat.• {L, R} ⊆ I <strong>mit</strong> L ≠ R: Wir merken uns den linken und rechtenRandknotenDer Startzustand sei der Zustand der Form I = {L, R}, f A = f B = f C = ∅.Als Endzustände wählen wir die Zustände der Form I = {L, R}, f B = {L},f C = {R}, f A ∈ {{(L, R), (R, L)}, {(L, X C ), (R, X B )}}.Schließlich erlauben wir einen Übergang vonnach<strong>mit</strong> den folgenden Operationen:(f B , f C , f A , L, R)(f ′ B, f ′ C, f ′ A, L, R)• vertex n i : Wenn f ′ B = f B, f ′ A = f A, f ′ C = f C richtig sind.• res n i : Sei y der i-te Knoten im Interface I, dann erlauben wir einensolchen Übergang, falls y ≠ L, y ≠ R, y ∈ f B ∪ f C und es ein x undein z gibt, so dass x ≠ y ≠ z und x ≠ z gelten und {(y, x), (y, z)} ⊆ f Arichtig ist. Wir setzen X := X B und Y := Y B , falls y ∈ f B , fallshingegen y ∈ f C , so setzen wir X := X C und Y := Y C . Dann müssenweiterhin fC ′ = f B ∩ I ′ , fC ′ = f C ∩ I ′ undf ′ A = (f A \ {(y, a), (a, y) : a ∈ I ∪ {X B , Y B , X C , Y C }})∪{(a, X) : a ∈ {x, z} ∧ (a, y) ∈ f A ∧ a /∈ {X B , Y B , X C , Y C }}∪{(a, Y ) : a ∈ {x, z} ∧ (a, X) ∈ f A ∧ a /∈ {X B , Y B , X C , Y C }}richtig sein. Dabei ist anzumerken, dass X markiert, dass der Knotenx respektive z bereits <strong>mit</strong> einer A-Kante verbunden ist, allerdingsist diese Kante <strong>mit</strong> einem Knoten, der nicht mehr im Interface liegt,verbunden. Analog markiert Y , dass x respektive z bereits <strong>mit</strong> zweiA-Kanten verbunden ist, die beide nicht mehr im Interface liegen.Hierdurch stellen wir sicher, dass die Randknoten nur eine und alleübrigen Knoten nur zwei inzidente A-Kanten besitzen. Der Index Bbeziehungsweise C schließlich zeigt an, ob die verschatteten adjazentenKnoten eine B- oder eine C-Kante haben. Das müssen wir uns merken,um sicherzustellen, dass nicht zwei B- oder C-Kanten aufeinanderfolgen.


KAPITEL 8. ABSCHLUSS UNTER KANTEN-LÖSCHUNG 81• perm n π: f ′ B = f B, f ′ C = f C, f ′ A = f A.• connect n A,[i,j]: Es sei x der i-te Knoten und y der j-te Knoten in I,dann ist dieser Übergang erlaubt, wenn gilt: x ≠ y, {x, y} ⊈ f B ,{x, y} ⊈ f C , (x, y) /∈ f A - hierdurch stellen wir sicher dass keine zweiKnoten <strong>mit</strong>einander verbunden werden, die beide eine Kante des LabelsB oder beide eine Kante des Labels C haben. Weiterhin fordern wir, umsicherzustellen, dass die Knoten L und R niemals adjazent zu mehr alseinem anderen Knoten sind und die übrigen Knoten niemals adjazentzu mehr als zwei anderen Knoten sind:{1 , fallsx /∈ {L, R}|f A ∩ {(x, z) : z ∈ I ∪ {X B , X C , Y B , Y C }}| ≤0 , fallsx ∈ {L, R}|f A ∩ {(y, z) : z ∈ I ∪ {X B , X C , Y B , Y C }}| ≤Dann ist f ′ B = f B, f ′ C = f C, f ′ A = f A ∪ {(x, y), (y, x)}{1 , fallsy /∈ {L, R}0 , fallsy ∈ {L, R}• connect n B,[i]: Es sei x der i-te Knoten im Interface I, dann ist dieserÜbergang erlaubt, wenn x ≠ R ist und für alle y <strong>mit</strong> (x, y) ∈ f A gilty /∈ f B ∪ {X B , Y B }. Dann ist fB ′ = f B ∪ {x}, fC ′ = f C, fA ′ = f A.• connect n C,[i]: Es sei x der i-te Knoten im Interface I, dann ist dieserÜbergang erlaubt, wenn x ≠ L ist und für alle y <strong>mit</strong> (x, y) ∈ f A gilty /∈ f C ∪ {X C , Y C }. Dann ist fC ′ = f C ∪ {x}, fB ′ = f B, fA ′ = f A.Der dargestellte Automat A akzeptiert tatsächlich jeden <strong>Graph</strong>en der SpracheL BC , sei nämlich ein beliebiger <strong>Graph</strong> G i BC, i > 1, gegeben, so istconnect 2 B,[1] ; connect 2 C,[2] ; vertex 2 3 ; connect 3 C,[3] ; vertex 3 4 ; connect 4 B,[4] ;connect 4 A,[1,3] ; connect 4 A,[3,4] ; res4 3 ;(vertex 3 4 ; connect 4 C,[4] ; vertex 4 5 ;connect 5 B,[5] ; connect 5 A,[3,4] ; connect 5 A,[4,5] ; res5 3 ; res 4 3 ;) i−2 connect 3 A,[2,3] ; res3 3eine Zerlegung des zugehörigen Cospans in Operatoren. Abgleichen <strong>mit</strong> denZustandsübergängen des Automaten ergibt, dass diese akzeptiert wird. Füri = 1 nimmt man statt obiger Operatorfolge die Folgeconnect 2 B,[1] ; connect 2 C,[2] ; connect 2 A,[1,2]Andersherum ist auch jeder von A akzeptierte zusammenhängende <strong>Graph</strong> einG i BC, denn wenn keine neuen Knoten hinzugefügt werden, kann nur akzeptiertwerden, wenn f A = {(L, R), (R, L)}, f B = {L}, f C = {R} ist, was nachAbgleich der erlaubten Übergänge von einem Startzustand aus nur erreichtwerden kann, wenn der G 1 BCeingelesen wird. Werden andererseits in einer


KAPITEL 8. ABSCHLUSS UNTER KANTEN-LÖSCHUNG 82akzeptierten Operatorsequenz neue Knoten erzeugt, so müssen diese wiederverschattet werden. Ein Knoten kann nur verschattet werden, wenn er genauzu zwei anderen Knoten per A-Kante verbunden ist und entweder selbst <strong>mit</strong>einer B-Kante verbunden ist und die beiden adjazenten Knoten <strong>mit</strong> einerC-Kante verbunden sind oder aber selbst <strong>mit</strong> einer C-Kante verbunden istund die beiden adjazenzten Knoten <strong>mit</strong> einer B-Kante verbunden sind. Alsohandelt es sich auch dann um einen <strong>Graph</strong>en der Form G i BC. L(A) - eingeschränktauf die zusammenhängenden <strong>Graph</strong>en, vergleiche hierzu Beispiel3.13 - ist also genau die Sprache L BC . Dass es sich auch tatsächlich um einen<strong>Graph</strong>automaten handelt sieht man ein, indem man beachtet, dass eine Entsprechungzwischen den Zuständen und dem bislang eingelesenen <strong>Graph</strong>enexistiert. Wenn man einen <strong>Graph</strong>en auf zwei unterschiedliche Weisen zerlegtund einliest, muss man im gleichen Zustand auskommen, denn wäre das nichtder Fall, so gäbe es zwei Zustände (f A , f B , f C , L, R) und (fA ′ , f B ′ f C ′ , L, R)die nicht gleich sind, aber durch unterschiedliche Zerlegungen des gleichenCospans erreicht werden. Wäre nun f C ≠ fC ′ , so wäre (beachte, wie f Cverändert wird, nämlich nur durch Hinzufügen einer Kante und durch Entferneneines Knoten) in f C ein Knoten der nicht in fC ′ liegt - also ein Knoten imersten <strong>Graph</strong> <strong>mit</strong> einer C-Kante versehen, der es im zweiten <strong>Graph</strong> nicht istoder andersherum, beides wäre ein Widerspruch. Analog muss auch f B = fB′sein. Wäre nun f A ≠ fA ′ , so muss einer der folgenden Fälle eintreffen:• f A enthält ein Paar aus I × I, das in fA ′ nicht liegt. Dann müssten aber(beachte, dass in f A nur durch Hinzufügen einer Kante und Löscheneines Knotens Änderungen vorgenommen werden) zwei Knoten imersten <strong>Graph</strong>en durch eine A-Kante verknüpft sein, die es im zweiten<strong>Graph</strong>en nicht sind (analog für vertauschte Rollen von f A und fA ′ ).• f A enthält ein Paar aus I × {X B , X C }, das fA ′ nicht enthält, dann istim ersten <strong>Graph</strong>en ein Knoten durch eine A-Kante zu einem Knotenverbunden, der nicht mehr im Interface liegt und eine B-Kante (respektiveC-Kante) hat, im zweiten <strong>Graph</strong>en jedoch nicht (analog fürvertauschte Rollen von f A und fA ′ ).• f A enthält ein Paar aus I × {Y B , Y C }, das fA ′ nicht enthält, dann istim ersten <strong>Graph</strong>en ein Knoten durch eine A-Kante zu zwei Knotenverbunden, die nicht mehr im Interface liegen und eine B-Kante (respektiveC-Kante) haben, im zweiten <strong>Graph</strong>en jedoch nicht (analogfür vertauschte Rollen von f A und fA ′ ).In jedem Fall ergibt sich ein Widerspruch dazu, dass die Operatorfolgenden gleichen Cospan bilden, also handelt es sich bei A tatsächlich um einen<strong>Graph</strong>automaten.□Lemma 8.3 Die Sprache L aller <strong>Graph</strong>en, die beliebig viele Knoten enthaltenund bei denen jeder Knoten adjazent ist zu genau einer Kante des LabelsB oder einer Kante des Labels C, ist erkennbar.


KAPITEL 8. ABSCHLUSS UNTER KANTEN-LÖSCHUNG 83Beweisskizze: Wir konstruieren abermals einen <strong>Graph</strong>automaten A, derdie Sprache L akzeptiert. Die Konstruktion ist ähnlich der, die wir für dasLemma 8.2 durchgeführt haben. Zu einem Interface I gibt es die Zustände(f B , f C ) wobei f B ⊆ I, f C ⊆ I und f B ∩f C = ∅ gilt. Als Startzustand wählenwir den Zustand <strong>mit</strong> |I| = 2 und f B = f C = ∅, als Endzustand die Zustände<strong>mit</strong> |I| = 2 und f B ∪ f C = I. Wir ermöglichen schließlich einen Übergangvon (f B , f C ) nach (fB ′ , f C ′ ) <strong>mit</strong> den folgenden Operationen:• vertex n i : f ′ B = f B und f ′ C = f C.• res n i : Es sei x der i-te Knoten in I, dann ist dieser Übergang erlaubt,falls x ∈ f C ∪ f B , sowie fB ′ = f B \ {x} und fC ′ = f C \ {x}.• perm n π: f ′ B = f B und f ′ C = f C.• connect n B,[i]: Es sei x der i-te Knoten im Interface I, dann ist dieserÜbergang erlaubt, falls x /∈ f B ∪ f C ist und fB ′ = f B ∪ {x} sowiefC ′ = f C richtig ist.• connect n C,[i]: Es sei x der i-te Knoten im Interface I, dann ist dieserÜbergang erlaubt, falls x /∈ f B ∪ f C ist und fC′ = f C ∪ {x} sowiefB ′ = f B richtig ist.Lemma 8.4 Die Sprache L aller <strong>Graph</strong>en, die für ein n ∈ N n Knotenenthalten, die adjazent zu genau einer B-Kante sind und n Knoten enthalten,die adjazent zu genau einer C-Kante sind, ist nicht erkennbar.Beweis: Angenommen es gäbe einen <strong>Graph</strong>automaten A über der atomarenMenge von Cospans, der L akzeptiert. Dann muss es für i = 1, 2, ... jeweilspaarweise verschiedene Zustände geben, deren Interface-Größe Null ist, dennfür i = 1, 2, ... istvertex 2 1 ; connect 3 B,[1] ; res3 1} {{ }i−Malein gültiges Präfix einer Zerlegung eines <strong>Graph</strong>en in L in atomare Cospans.Würden nun für ein i ≠ j zwei Präfixe dieser Form der Länge i bzw. j inden gleichen Zustand führen, so müsstevertex 2 1 ; connect 3 C,[1] ; res3 1 ; connect 2 C,[1]} {{ }; connect 2 B,[2]i−Malvon diesem Zustand aus in einen Endzustand führen. Da es aber egal ist,ob man dieses Suffix nun an das eine oder das andere Präfix anhängt undman in beiden Fällen in den gleichen Endzustand geraten kann, würde alsoein <strong>Graph</strong> akzeptiert werden, der nicht in L liegt. Also muss es unendlich□


KAPITEL 8. ABSCHLUSS UNTER KANTEN-LÖSCHUNG 84viele Zustände zum Interface der Größe Null geben, dann ist A aber nichtlokal endlich und so<strong>mit</strong> kein <strong>Graph</strong>automat. Das steht im Widerspruch zurAnnahme, dass A ein <strong>Graph</strong>automat sei und so<strong>mit</strong> haben wir die Aussagebewiesen.□


Kapitel 9Abschluss unter SubstitutionWir werden in diesem Kapitel sehen, dass die erkennbaren <strong>Graph</strong>sprachennicht unter (Kanten-)Substitution abgeschlossen sind. Das ist insofern eininteressantes Resultat, als dass reguläre <strong>Sprachen</strong> unter Substitution (einesAlphabetssysmbols) abgeschlossen sind. Wir wollen zunächst definieren, wasSubstitution genau bedeutet.Definition 9.1 ((Kanten-)Substitution)Gegeben sei eine Menge von <strong>Graph</strong>en L, ein Kantenlabel A der Stelligkeit kund ein fester <strong>Graph</strong> G in dem k Knoten als Verschmelzknoten ausgezeichnetsind. Dann bezeichnen wir als die Menge L ′ , die durch Substitution vonKanten des Labels A durch den <strong>Graph</strong>en G entsteht die Menge, die alle<strong>Graph</strong>en enthält, die wie folgt aus einem <strong>Graph</strong>en G ′ aus L entstehen:• Entferne alle A-Kanten aus G ′• Füge an Stelle jeder A-Kante den <strong>Graph</strong>en G ein. Die Verschmelzknotenvon G werden hierbei identifiziert <strong>mit</strong> den Knoten, die <strong>mit</strong> der A-Kanteverbunden waren.Satz 9.2 Die erkennbaren <strong>Graph</strong>sprachen sind nicht abgeschlossen unterSubstitution.Beweis: Wir zeigen dies durch Angabe eines Gegenbeispiels. Es sei zunächstL die Sprache, die genau die <strong>Graph</strong>en akzeptiert, die einen Knoten v besitzenund beliebig viele einstellige A-Kanten besitzt (die dann offensichtlich adjazentsein müssen zu v). Als Substitutionsgraph verwenden wir den <strong>Graph</strong>enG, der aus genau einem Knoten v besteht, der <strong>mit</strong> genau einer einstelligenB-Kante und einer einstelligen C-Kante verbunden ist.Wir müssen nun zeigen, dass L erkennbar ist. Dies tun wir durch Angabeeines <strong>Graph</strong>-Automaten unter Verwendung der atomaren Cospan-Menge.Als Zustände verwenden wir die Menge {z 0 , z 1 }, z 0 ist der (einzige) Startzustandund z 1 der (einzige) Endzustand. Als Übergänge erlauben wir einen85


KAPITEL 9. ABSCHLUSS UNTER SUBSTITUTION 86Übergang <strong>mit</strong> vertex 0 1 von z 0 nach z 1 sowie <strong>mit</strong> connect 1 A,[1] von z 1 nach z 1 .Der so angegebene Automat ist offensichtlich ein <strong>Graph</strong>automat und erkenntdie Sprache L.Wir betrachten nun die Menge L ′ die entsteht, indem wir auf L die Substitutionaller A-Kanten durch G anwenden. Es entsteht die Menge, die genaudie <strong>Graph</strong>en enthält, die gleich viele B- wie C-Kanten enthält und nur einenKnoten. Wollten wir nun einen <strong>Graph</strong>-Automaten für L ′ angeben, so müsstedieser die <strong>Graph</strong>en in beliebiger Zerlegung akzeptieren. Insbesondere mussein solcher Automat <strong>Graph</strong>en in der Zerlegung akzeptieren, in der zunächstalle B-Kanten und dann alle C-Kanten erzeugt werden. Das bedeutet aber,dass es unendlich viele Äquivalenzklassen für <strong>Graph</strong>en <strong>mit</strong> genau einemKnoten im Interface gibt, nämlich für i = 0, 1, 2, ... die Äquivalenzklasse i ”B-Kanten mehr als C-Kanten“ und für j = 1, 2, ... die Äquivalenzklasse j ”C-Kanten mehr als B-Kanten“. Also kann es keinen <strong>Graph</strong>automaten geben,der L ′ akzeptiert, L ′ ist also nicht erkennbar. Insgesamt ist die Klasse dererkennbaren <strong>Graph</strong>sprachen nicht abgeschlossen unter Substitution. □Wir haben im vorangegangenen Kapitel bereits gezeigt, dass die erkennbaren<strong>Graph</strong>sprachen abgeschlossen sind unter Konkatenation. Durch wiederholtesAnwenden der Konstruktion ist offensichtlich, dass sie auch unter wiederholterKonkatenation abgeschlossen sind. Mit einem sehr ähnlichen Gegenbeispielwie für die Substitution können wir aber noch zeigen, dass erkennbare <strong>Graph</strong>sprachennicht unter dem Kleene-Stern abgeschlossen sind. Die Definition desKleene-Sterns ist allerdings nicht eindeutig für erkennbare <strong>Graph</strong>sprachen(vgl. [6]), daher definieren wir zunächst, was wir unter einem Kleene-Sternverstehen wollen.Definition 9.3 Gegeben sei eine erkennbare K, K-<strong>Graph</strong>sprache L und einAutomat A der L erkennt. Dann bezeichnen wir als L ∗ die folgende Sprache:L ∗ = {G : ∃n ∈ N(K → G ← K = σ 1 ; ... ; σ n ∧ ∀1 ≤ i ≤ n(σ i ∈ L(A)))}L ∗ ist also die Sprache aller <strong>Graph</strong>en, deren Cospan sich so zerlegen lässt,dass jeder Teilcospan von A akzeptiert wird.Satz 9.4 Die erkennbaren <strong>Graph</strong>sprachen sind nicht abgeschlossen unterdem Kleene-Stern, also unter der beliebig häufigen Konkatenation.Beweis: Wir betrachten die <strong>Graph</strong>sprache L, die als Startinterface eineneinzelnen Knoten hat und genau den <strong>Graph</strong>en akzeptiert, der einen Knotenhat und jeweils eine da<strong>mit</strong> verbundene einstellige A-Kante und B-Kante. Derakzeptierte <strong>Graph</strong> wird in der Abbildung 9.1 dargestellt.


KAPITEL 9. ABSCHLUSS UNTER SUBSTITUTION 87ABAbbildung 9.1: <strong>Graph</strong> in der Sprache LDass diese Sprache erkennbar ist, lässt sich durch Angabe eines einfachenAutomaten über der atomaren Cospan-Menge zeigen. Der Automat hat vierZustände z 0 , z a , z b und z e . z 0 ist der einzige Startzustand, z e der einzigeEndzustand. Es gibt (abgesehen von den Identitätspfeilen für die einstelligePermutation) folgende Übergänge:• z 0• z 0• z b• z aconnect 1 A,[1]−−−−−−−→ z aconnect 1 B,[1]−−−−−−−→ z bconnect 1 A,[1]−−−−−−−→ z econnect 1 B,[1]−−−−−−−→ z eSimples Abgleichen der Übergänge zeigt, dass der Automat tatsächlich diegewünschte Sprache akzeptiert. Wendet man nun auf diese Sprache denKleene-Stern an, erhält man die Sprache aller <strong>Graph</strong>en, die einen Knotenenthalten und genau gleich viele A- wie B-Kanten. Dass diese Sprache nichterkennbar ist, haben wir aber bereits im vorangegangenen Beweis zu Satz9.2 gezeigt. Also sind die erkennbaren <strong>Graph</strong>sprachen nicht abgeschlossenunter dem Kleene-Stern.□


Teil IIITerminierungsanalyse88


89In diesem Teil der Arbeit werden wir einen Ansatz zur Terminierungsanalysefür Stringersetzungssysteme kennen lernen und untersuchen, inwiefernsich dieser Ansatz auf <strong>Graph</strong>transformationssysteme übertragen lässt. Wirwerden im ersten Kapitel dieses Abschnitts zunächst löschende und MatchbeschränkteStringersetzungssysteme definieren und wichtige Eigenschaftendieser Systeme aufzeigen. Die wichtigste Eigenschaft der löschenden Stringersetzungssystemefür die Terminierungsanalyse ist, dass sie Regularitäterhalten. Der Beweis dieser Eigenschaft wurde in [12] konstruktiv erbracht.Diese Konstruktion wurde anschließend genutzt um einen Algorithmus zurTerminierungsanalyse für Stringersetzungssysteme zu entwerfen.Im zweiten Kapitel dieses Teils wollen wir hieran anknüpfend untersuchen, obdie vorgestellte Konstruktion sich auf <strong>Graph</strong>transformationssysteme übertragenlässt. Aus dem vorangegangenen Teil wissen wir bereits, dass dieerkennbaren <strong>Graph</strong>sprachen nicht unter Substitution abgeschlossen sind, füreinen Beweis, dass sie unter der Anwendung löschender <strong>Graph</strong>transformationssystemeabgeschlossen sind, müssten wir also eine andere Konstruktionwählen, als im Fall der Stringersetzungssysteme. Wir werden allerdings anhandeines Gegenbeispiels sehen, dass die Suche nach einem anderen Beweishierfür nicht zielführend sein kann, denn die erkennbaren <strong>Graph</strong>sprachensind nicht abgeschlossen unter der Anwendung löschender <strong>Graph</strong>transformationssysteme.


Kapitel 10Löschende undMatch-beschränkteStringersetzungssystemeWir wollen in diesem Kapitel ein Verfahren zur Untersuchung von Stringersetzungssystemeauf Terminierung kennen lernen, das von Alfons Geser, DieterHofbauer und Johannes Waldmann in [8] entwickelt wurde. Ziel ist es, für eingegebenes Stringersetzungssystem festzustellen, ob es auf jeder Zeichenketteeiner gegebenen regulären <strong>Sprachen</strong> terminiert. Ein Stringersetzungssystemterminiert auf einer Zeichenkette, wenn nur endlich viele Regelanwendungenauf der Zeichenkette möglich sind. Zunächst werden wir löschende und MatchbeschränkteStringersetzungssysteme defininieren, anschließend stellen wirdie Konstruktion vor, <strong>mit</strong> der Alfons Geser, Dieter Hofbauer und JohannesWaldmann in [8] bewiesen haben, dass Match-beschränkte StringersetzungssystemeRegularität erhalten und schließlich können wir auf dieser Grundlageein Verfahren angeben, um zu überprüfen, ob ein Stringersetzungssystem aufeiner gegebenen regulären Sprache terminiert.Das Verfahren überprüft im Wesentlichen, ob ein gegebenes StringersetzungssystemS Match-beschränkt ist. Dafür konstruiert man für c = 0, 1, ...einen nichtdeterministischen endlichen Automaten für das Match-SystemMatch c (S). Findet man ein c für das Match c+1 (S) = Match c (S) gilt, so istS Match-bechränkt durch S und terminiert so<strong>mit</strong>, da Match-beschränkteSysteme löschend sind und löschende Systeme terminierend sind. Die Aussagenin diesem Kapitel werden wir nicht beweisen, sie sind allerdings in[12], respektive [8] bewiesen. Wir definieren zunächst, was wir unter einemlöschenden Stringersetzungssystem verstehen. Die folgenden Definitionenund Sätze sind [12] entnommen.Definition 10.1 Ein Stringersetzungssystem S über einem Alphabet Σ nennenwir >-löschend, falls folgendes gilt:90


KAPITEL 10. LÖSCHENDE UND MATCH-BESCHRÄNKTE STS 91• > ist eine strenge Ordnung auf Σ, das heißt > ist transitiv und füra, b ∈ Σ gilt a > b =⇒ b ≯ a• Für jede Regel l → r ist die Bedingung l > r richtig.Dabei erweitern wir die Relation > von einzelnen Zeichen auf Zeichenkettenwie folgt. Es sei L die Multimenge der in l enthaltenen Zeichen und R dieMultimenge der in r enthaltenen Zeichen, dann gelte die Äquivalenz:l > r ⇔ L ≠ R ∧ ∀k ∈ R \ L∃k ′ ∈ L \ R : k ′ > kDabei sei \ die Multimengen-Differenz und es gilt a ∈ L genau dann wennes mindestens ein a in der Multimenge L gibt.Wir nennen ein Stringersetzungssystem S schließlich einfach löschend, fallses eine Ordnung > gibt, so dass S >-löschend ist.Satz 10.2 Die löschenden Stringersetzungssysteme haben linear beschränkteBerechnungskomplexität. Das bedeutet, dass die Zahl der möglichen Ableitungeneines löschenden Stringersetzungssystems auf einem gegebenen Wort <strong>mit</strong>n Zeichen beschränkt ist durch O(n). Insbesondere sind also alle löschendenStringersetzungssysteme terminierend auf allen Mengen von Wörtern, dieüber ihrem Alphabet definiert sind.Wenn wir also einen Algorithmus angeben, der für ein gegebenes Stringersetzungssystemüberprüft, ob es löschend ist, so erhalten wir hier<strong>mit</strong>auch einen Algorithmus <strong>mit</strong> einseitigem Fehler zur Überprüfung, ob dasStringersetzungssystem terminierend ist. Wir werden im Folgenden die wesentlichenKonstruktionsschritte, die zum Beweis führen, dass löschendeStringersetzungssysteme die Regularität erhalten, vorstellen.Bemerkung 10.3 Erweiterung des AlphabetsWir werden im Folgenden oftmals ein Alphabet ∆ um neue Buchstabenerweitern müssen. Wir gehen hierbei von einem fixen endlichen GrundalphabetΣ aus und definieren das unendliche Alphabet Σ ′ wie folgt. Es giltΣ ′ = Σ × N ∗ , ein Zeichen x ′ ∈ Σ ′ hat also die Form x ′ = (x, [n 1 , ..., n k ]) <strong>mit</strong>x ∈ Σ und n j ∈ N für j = 1, ..., k. Wir identifizieren weiterhin (x, []) <strong>mit</strong> xund bezeichnen für ein Zeichen (x, [n 1 , ..., n k ]) = x ′ ∈ Σ ′ <strong>mit</strong> x ′ j das Zeichen(x, [n 1 , ..., n k , j]). Wenn wir also ein endliches Alphabet ∆ ⊇ Σ erweitern,indem wir sagen Es sei a ∈ ∆ und a ” 1 ein neues Zeichen, das nicht in ∆enthalten ist“, dann bezeichnen wir <strong>mit</strong> a 1 ein neues Zeichen aus Σ ′ , dasnicht in ∆ enthalten ist.Eine partielle Ordnung > auf Σ erweitern wir zu einer partiellen Ordnungauf Σ ′ als(x, m) > (y, n) ⇔ x > y ∨ (x = y ∧ m ⊏ n)Dabei bedeutet m ⊏ n, dass m ein echtes Präfix von n ist.


KAPITEL 10. LÖSCHENDE UND MATCH-BESCHRÄNKTE STS 92Wir werden in den folgenden beiden Lemmata die zwei wesentlichen Umformungsschrittekennen lernen, die von der Konstruktion zum Beweis desErhalts der Regularität durch löschende Stringersetzungssysteme genutztwerden.Lemma 10.4 Es sei R ein Stringersetzungssystem über dem Alphabet Σund a ∈ Σ, dann giltR ∗ = R ∗ a ◦ R ∗ a<strong>mit</strong>R a = {l → r : (l → r) ∈ R, l = a},R a = {l → r ′ : (l → r) ∈ R \ R a , r ′ ∈ R ∗ a(r)}Wenn a nicht auf der rechten Seite irgendeiner Regel in R a vorkommt, dannist R a eine endliche Substitution und R a ein endliches Stringersetzungssystem.Lemma 10.5 (Splitting)Es sei R ein Stringersetzungssystem über dem Alphabet Σ und (x a x 2 →y 1 zy 2 ) ∈ R <strong>mit</strong> a ∈ Σ und x i , y i , z ∈ Σ ∗ . Weiterhin seien a 1 und a 2 zweineue Zeichen, die nicht in Σ vorkommen, dann bilden wir das StringersetzungssystemR ′ aus R, indem wir die obige Regel entfernen und durch diefolgende Menge an Regeln ersetzen:{a → a 1 za 2 , x 1 a 1 → y 1 , a 2 x 2 → y 2 }Dann ist R ∗ = R ′∗ | Σ . Weiterhin, falls R >-löschend ist und a > d für alled ∈ Σ(y 1 zy 2 ) richtig ist, ist R ′ löschend.Wir merken noch an, dass wir davon ausgehen können, dass jedes untersuchteStringersetzungssystem die Eigenschaft hat, dass jedes Alphabetssymbol injeder Regel höchstens ein Mal auf der linken Seite vorkommt. Kommt einZeichen a zwei Mal in einer Regel auf der linken Seite vor, so können wirdas erste Vorkommen von a durch einen neuen Buchstaben a i ersetzen unddie Regel a → a i hinzufügen. Wenn wir diese Überlegung iteriert anwenden,erhalten wir ein Stringersetzungssystem in der gewünschten Form.Wir verwenden nun die oben angegebenen Konstruktionen, um zu zeigen, dasssich jedes löschende Stringersetzungssystem R schreiben lässt als eine Folgevon Substitutionen, gefolgt von invers kontextfreien Regeln und schließlicheiner Restriktion auf das ursprüngliche Alphabet. Da reguläre <strong>Sprachen</strong> abgeschlossensind unter Substitution, der Anwendung invers kontextfreier Regelnund der Restriktion, folgt da<strong>mit</strong>, dass löschende StringersetzungssystemeRegularität erhalten.


KAPITEL 10. LÖSCHENDE UND MATCH-BESCHRÄNKTE STS 93Satz 10.6 löschende Stringersetzungssysteme erhalten Regularität, das heißt,wenden wir ein löschendes Stringersetzungssystem auf eine reguläre Sprachean, so erhalten wir wieder eine reguläre Sprache.Wir nehmen an, dass auf jeder linken Seite einer Regel jedes Zeichen maximalein Mal vorkommt und konstruieren eine Folge (S i , M i , N i ) i∈N , so dass füralle i gilt: S i ist eine endliche Substitution, M i ist ein invers kontextfreiesStringersetzungssystem (also die rechte Seite einer Regel enthält genau einZeichen) und N i enthält nur Regeln, die nicht invers kontextfrei sind. Füralle i soll dann geltenR ∗ = ((M i ∪ N i ) ∗ ◦ (S i ◦ ... ◦ S 1 ))| Σ .Wir starten <strong>mit</strong> S 0 als Identität, M 0 , der Menge der invers kontextfreienRegeln in R und N 0 , der Menge der nicht invers kontextfreien Regeln in R.Wir iterieren nun über i, bis wir ein i erreicht haben, für das N i = ∅ gilt, denndann haben wir eine Zerlegung des Stringersetzungssystems R gefunden, dienur aus Substitutionen, gefolgt von invers kontextfreien Regeln und einerRestriktion besteht. Gelangen wir zu einem i, bei dem diese Bedingung nochnicht erfüllt ist, erhalten wir (S i+1 , M i+1 , N i+1 ) aus (S 1 , M i , N i ) wie folgt:• Wir wählen eine beliebige Regel (l → r) ∈ N i und bestimmen dasgemäß der Ordnung > größte Zeichen a in l. Wir nennen l → r diePivotregel und a das Pivotzeichen.• l → r ist nicht invers kontextfrei, die rechte Seite hat also mindestenszwei Zeichen. Wir können also r schreiben als b 1 zb 2 , wobei b 1 und b 2jeweils ein Zeichen sind und z eine (möglicherweise leere) Zeichenkette.Weiterhin können wir die linke Seite der Regel schreiben als l = l 1 al 2wobei l 1 und l 2 (möglicherweise leere) Zeichenketten sind und a dasPivotzeichen. Wir wenden nun Lemma 10.5 an, um die Regel l → r zuzerlegen in die drei Regeln {a → a 1 za 2 , l 1 a 1 → b 1 , a 2 l 2 → b 2 }. Dabeisind a 1 und a 2 frische Buchstaben. Wir erhalten nun N ′ i aus N i indemwir die Regel l → r durch die obigen drei Regeln ersetzen.• Es sei nun R i ′ = M i ∪ N i ′ und wir bestimmen gemäß des Lemmas 10.4(R i ′) a und (Ri ′) a. (R i ′) a ist eine Substitution, die wir als S i+1 wählen.M i+1 definieren wir zu den invers kontextfreien Regeln von (Ri ′) a undN i+1 zu den nicht invers kontextfreien Regeln von (Ri ′) a.Im Folgenden werden wir einsehen, wieso die gerade beschriebene Konstruktionzur Terminierungsanalyse verwendet werden kann. Der Rest diesesKapitels folgt nun den Darstellungen aus [8]. Wie im Fall der löschendenStringersetzungssysteme werden wir die Beweise der Aussagen hier nichtbesprechen, die Beweise finden sich allerdings in [8]. Wir beginnen da<strong>mit</strong>,die Klasse der Match-beschränkten Stringersetzungssysteme zu definieren.


KAPITEL 10. LÖSCHENDE UND MATCH-BESCHRÄNKTE STS 94Hierzu führen wir zunächst Funktionen ein, die dazu dienen, sich für einenBuchstaben in einem String zu merken, wie viele Regelanwendungen benötigtwurden, um diesen Buchstaben zu generieren.Definition 10.7 (Match-System)Gegeben sei ein Alphabet Σ. Wir definieren die Morphismen lift c , base undheight:lift c : Σ ∗ → (Σ × N) ∗ : a ↦→ (a, c)base : (Σ × N) ∗ → Σ ∗ : (a, c) ↦→ aheight : (Σ × N) ∗ → N ∗ : (a, c) ↦→ cAuf dieser Basis können wir nun zu einem gegebenen StringersetzungssystemR das zugehörige Match-System match(R) definieren zumatch(R) = {l ′ → lift c (r) : (l → r) ∈ R, base(l ′ ) = l, c = 1+min(height(l ′ ))}Hier<strong>mit</strong> können wir nun definieren, was wir unter einem Match-beschränktenStringersetzungssystem verstehen.Definition 10.8 Ein Stringersetzungssystem R über dem Alphabet Σ nennenwir Match-beschränkt für eine Sprache L ⊆ Σ ∗ durch c ∈ N, falls gilt:• c /∈ lhs(R)• max(height(x)) ≤ c für alle x ∈ match(R) ∗ (lift 0 (L))Dabei ist lhs(R) die Menge aller linken Seiten von Regeln in R.Die Klasse der Match-beschränkten Stringersetzungssysteme ist nun aufGrund zweier Eigenschaften für uns besonders interessant.Satz 10.9 Es gelten die folgenden beiden Aussagen:1. Für alle Stringersetzungssysteme R <strong>mit</strong> ɛ /∈ lhs(R) und alle c ∈ N istdas System match c (R) löschend.2. Zusammen <strong>mit</strong> dem Ergebnis aus Satz 10.2, dass löschende Stringersetzungssystemeterminierend sind, folgt, dass falls R Match-beschränktfür L ist, R auch terminierend für L ist.Analog erhalten wir zudem:Satz 10.10 Ist R löschend, so ist R Match-beschränkt.Folgerung 10.11 Falls R Match-beschränkt für eine reguläre Sprache L ist,so ist auch R ∗ (L) regulär


KAPITEL 10. LÖSCHENDE UND MATCH-BESCHRÄNKTE STS 95Auf Grund dieser Nähe der Begriffe der Match-Beschränktheit und derlöschenden Stringersetzungssysteme, können wir nun aus der Konstruktionzu Satz 10.6 ein Verfahren entwerfen, zu entscheiden, ob ein StringersetzungssystemMatch-beschränkt durch eine Konstante ist. Da wir wissen,dass aus der Match-Beschränktheit Terminierung folgt, haben wir so<strong>mit</strong> einVerfahren <strong>mit</strong> einseitigem Fehler gefunden, um festzustellen, ob ein gegebenesStringersetzungssystem auf einer gegebenen regulären Sprache terminiert.Satz 10.12 Gegeben seien ein Stringersetzungssystem R, eine reguläre SpracheL und ein c ∈ N. Dann ist die Frage, ob R für L durch c Match-beschränktist entscheidbarBeweis: Wir konstruieren einen endlichen Automaten für die SpracheL c+1 = match c+1 (R) ∗ (lift 0 (L))<strong>mit</strong>tels des Verfahrens aus dem Satz 10.6. Dann ist R Match-beschränktdurch c für L, genau dann wenn max(height(L c+1 )) ≤ c richtig ist. Obdiese Bedingung erfüllt ist, kann man im Automaten ablesen, indem manüberprüft, ob es einen akzeptierenden Pfad im Automaten gibt, auf dem einZustandsübergang <strong>mit</strong> einem Alphabetssysmbol der Höhe c + 1 liegt. □Wendet man dieses Verfahren für c = 1, 2, ... an, so erhält man ein Semi-Entscheidungsverfahren für das Problem, ob R auf L terminierend ist. AufGrund der Unentscheidbarkeit dieses Problems gibt es kein Entscheidungsverfahren,so dass dieses Ergebnis bereits ein gutes Ergebnis ist.


Kapitel 11Löschende undMatch-beschränkte <strong>Graph</strong>transformationssystemeWir haben im vergangenen Kapitel gesehen, wie die Begriffe der löschendenund Match-beschränkten Stringersetzungssysteme zu einem guten Algorithmusgeführt haben, um Terminierung nachzuweisen. Wir wollen indiesem Kapitel untersuchen, ob sich dieser Ansatz für den <strong>Graph</strong>en-Kontextadaptieren lässt. Dazu müssen wir die Begriffe der löschenden und MatchbeschränktenSysteme natürlich auf den <strong>Graph</strong>enfall verallgemeinern. Wirwerden sehen, dass sich eine Reihe von Eigenschaften <strong>mit</strong> strukturell sehrähnlichen Beweisen wie im Stringersetzungsfall beweisen lassen, allerdingswerden wir auch sehen, wieso dieser Ansatz leider nicht zu einem Ergebnisvergleichbarer Güte führen kann, wie im Stringersetzungsfall. Die folgendenDefinitionen, Sätze und Beweise orientieren sich strukturell stark an den in[12] vorgestellten Ergebnissen im Fall der Stringersetzung.Definition 11.1 Ein <strong>Graph</strong>transformationssystem (GTS) S über einer KantenlabelmengeΛ ist >-löschend für eine strenge Ordnung > auf Λ, falls fürjede Regel L ← I → R ∈ S gilt L > R, wobei > wie folgt auf <strong>Graph</strong>en L undR verallgemeiner wird:Es bezeichne l die Multimenge, die die Label der Kanten in L (<strong>mit</strong> ihrerVielfachheit gezählt) enthält und r die Multimenge, die die Label der Kantenin R (<strong>mit</strong> ihrer Vielfachheit gezählt) enthält. Dann giltL > R ⇔ l ≠ r ∧ ∀k ∈ r \ l∃k ′ ∈ l \ r : k ′ > kDabei ist \ die Multimengen-Differenz.Wir nennen ein GTS S schließlich einfach löschend, wenn es eine strengeOrdnung > gibt, so dass S >-löschend ist.96


KAPITEL 11. LÖSCHENDE UND MATCH-BESCHRÄNKTE GTS 97Satz 11.2 löschende <strong>Graph</strong>transformationssysteme sind linear in ihrer Berechnungskomplexitätbeschränkt, das heißt, dass ausgehend von einem <strong>Graph</strong>en<strong>mit</strong> n Kanten höchstens O(n) viele Regelanwendungen möglich sind.Korollar 11.3 Aus obigem Satz folgt direkt, dass löschende <strong>Graph</strong>transformationssystemeterminierend sind, es also keine unendliche Folge vonRegelanwendungen auf einen gegebenen <strong>Graph</strong>en geben kann.Beweis: Es sei S ein löschendes GTS. Dann gibt es eine strenge Ordnung >,so dass R >-löschend ist. Im Folgenden sei nun g : H<strong>Graph</strong> → MSet dieFunktion, die einen Hypergraphen auf die Multimenge seiner Kantenlabelsabbildet. Nach Definition eines >-löschenden GTS muss für jede RegelL → R ∈ S gelten, dass g(L) > g(R). Seien also G i , G i+1 Hypergraphen<strong>mit</strong> G i → S G i+1 , so muss auch g(G i ) > g(G i+1 ) gelten. Weiterhin muss|g(G i+1 ) \ g(G i )| ≤ m gelten, <strong>mit</strong> m = max{|h(R)| : L ← I → R ∈ S}. Wirbezeichnen für ein Kantenlabel k <strong>mit</strong> h(k) die Höhe dieses Kantenlabels, alsodie Zahl der Kantenlabels, die kleiner als k sind:h(k) = |{k ′ ∈ Λ : k > k ′ }|Es sei nun G ein beliebiger <strong>Graph</strong> <strong>mit</strong> g(G) = {k 1 , k 2 , ..., k n }. Wir wollendie Zahl der möglichen Transformationsschritte für G abschätzen. Hierzunehmen wir an, dass h(k 1 ) = ... = h(k i ) = ... = h(k n ) richtig ist.Anderenfalls, falls also h(k 1 ) = ... = h(k i ) = ... = h(k n ) nicht gilt, überschätzenwir die Zahl der möglichen Transformationsschritte, indem wir den Wert vonh(k i ), 1 ≤ i ≤ n, auf k := max{h(k i ) : 1 ≤ i ≤ n} setzen, indem wir Λ umHilfslabel erweitern wie folgt.Sei i so gewählt, dass h(k i ) < k, dann fügen wir k − h(k i ) Hilfslabel k i1 , ...k ein, erweitern > um die Beziehungen k ik−h(ki )i > ... > k k−h(ki ) i 1> k i undfügen zu S die TransformationsregelnG(k ik−h(ki ) ) ← I → G(k i)hinzu, für die G(k ik−h(ki ) ein zusammenhängender <strong>Graph</strong> ist, der genau)eine Kante des Labels k enthält und G(k ik−h(ki )i) aus G(k ) entsteht,ik−h(ki )indem man die Kante <strong>mit</strong> dem Label k i versieht. I bezeichnet den zugehörigenInterface-<strong>Graph</strong>en, einen diskreten <strong>Graph</strong>en, der genauso viele Knotenenthält wie G(k i ). Schließlich ersetzen wir in G k i durch k . Führenik−h(ki )wir dies für alle i ∈ {1, 2, ..., n} durch, so erhalten wir einen <strong>Graph</strong>en dergewünschten Form, für den nach Anwendung der neu hinzugefügten Regelnan jeder möglichen Stelle genau die Transformationen möglich sind, die auchfür den ursprünglichen <strong>Graph</strong>en möglich waren. Wir haben also sichergestellt,dass wir die Zahl der maximal möglichen Transformationen auf diese Weisenicht gesenkt haben.


KAPITEL 11. LÖSCHENDE UND MATCH-BESCHRÄNKTE GTS 98Es gelte nun also g(G) = {k 1 , k 2 , ..., k n } und h(k 1 ) = ... = h(k i ) = ... =h(k n ). Für jedes Kantenlabel in g(G) lässt sich die Zahl der möglichenTransformationen maximieren, indem wir annehmen, dass wir stets nurTransformationen der Art durchführen, dass die linke Seite genau eine Kantek i aus G enthält und die rechte Seite m neue Kanten <strong>mit</strong> sich bringt (mehrsind nicht möglich, denn wir haben m so gesetzt, dass es die maximale Anzahlan Kanten auf der rechten Seite einer Regel ist), die alle die höchstmöglicheHöhe haben, es gilt also für jede neue Kante k i ′: h(k′ i ) = h(k i) − 1. DieseAbschätzung liefert tatsächlich die maximale Zahl der Regelanwendungen,denn umfasst die linke Seite einer angewandten Regel mehr als eine Kante, sokann die Gesamtzahl an Kanten nach der Regelanwendung nur um wenigerals m−1 größer sein als vor der Regelanwendung, wir verlieren also potentielleRegelanwendungen. Insgesamt sind je Kante k i also maximal 1+m+m 2 +...+m h(ki) = ∑ h(k i )j=0 mj Regelanwendungen möglich. Wir zeigen nun unter (B),dass ∑ h(k i )j=0 mj ≤ (m + 1) h(ki) richtig ist, dann gilt nämlich <strong>mit</strong> c = (m + 1) k ,wobei k := h(k 1 ) = ... = h(k n ) gesetzt ist, dass die Zahl der anwendbarenTransformationen beschränkt ist durch ∑ ni=1c = cn ∈ O(n). Diese Summeentspricht der Summe aller möglicher Regelanwendungen ausgehend von denLabels von k 1 , ..., k n .Zunächst benötigen wir eine Hilfsaussage:(A) Es gilt für alle x ≥ 0 und n ∈ N 0 die Ungleichung (x + 1) n+1 ≥x n+1 + (x + 1) n . Diese zeigen wir induktiv:Induktionsanfang (n = 0): (x + 1) 0+1 = x + 1 ≥ x 0+1 + (x + 1) 0Induktionsvoraussetzung: Die Aussage gilt für alle Werte bis zu einemgewissen n ∈ N 0 .Induktionsschritt (n → n + 1):(x + 1) (n+1)+1 = (x + 1)(x + 1) n+1 ≥ (IV ) (x + 1)(x n+1 + (x + 1) n )= x n+2 + (x + 1) n+1 + x n+1 ≥ x n+2 + (x + 1) n+1Da<strong>mit</strong> beweisen wir nun die Aussage (B), wiederum induktiv:(B) Es gilt für alle x ≥ 0 und n ∈ N 0 die Ungleichung ∑ nk=0 xk ≤ (x + 1) n .Induktionsanfang (n = 0): ∑ 0k=0 xk = 1 = (x + 1) 0Induktionsvoraussetzung: Die Aussage gilt für alle Werte bis zu einemgewissen n ∈ N 0 .Induktionsschritt (n → n + 1):n+1∑x k = x n+1 +k=0n∑x k ≤ (IV ) x n+1 + (x + 1) n ≤ (A) (x + 1) n+1k=0□Im Folgenden wollen wir die Labelmenge, über der ein <strong>Graph</strong>transformationssystemdefiniert ist, erweitern. Sei Λ die Labelmenge, die wir erweitern wollen.Wir wollen zu einem Label a ∈ Λ neue Label a i , a ij , ... einführen. Hierzu


KAPITEL 11. LÖSCHENDE UND MATCH-BESCHRÄNKTE GTS 99betrachten wir das unendliche Alphabet Λ ′ = Λ × N ∗ , dann hat jedes Labelin Λ ′ die Form x ′ = (x, [n 1 , ..., n k ]) <strong>mit</strong> x ∈ Λ und n j ∈ N für j = 1, ..., k.Auch wenn wir an dieser Stelle ein unendliches Alphabet definieren, werdenwir später sehen, dass wir nur eine endliche Teilmenge dieses Alphabetsbenötigen werden, um unsere Konstruktionen ausgehend von einem endlichenAlphabet umzusetzen. Wir bezeichnen weiterhin <strong>mit</strong> der Basis einesLabels x ′ = (x, [n 1 , ..., n k ]) ∈ Λ ′ das zugrundeliegende Label x, in Zeichenbase((x, [n 1 , ..., n k ])) = x. Weiterhin schreiben wir für x ′ = (x, [n 1 , ..., n k ])die Variable (x, [n 1 , ..., n k , j]) auch als x ′ j . Für den Fall, dass k = 0 ist, alsodie Sequenz der natürlichen Zahlen leer ist, identifizieren wir x ′ = (x, []) <strong>mit</strong>x.Wir erweitern nun eine partielle Ordnung > auf Λ zu einer partiellen Ordnungauf Λ ′ wie folgt:(x, [m 1 , m 2 , ..., m k ]) > (x, [n 1 , n 2 , ..., n l ]) ⇔ x > y∨(x = y∧l > k∧ ∧(n i = m i ))1≤i≤kEs ist also (x, m) > (y, n) genau dann, wenn x > y ist, oder aber wenn x = yist und die Sequenz m ein (echtes) Präfix der Sequenz n ist.Wir fahren nun fort <strong>mit</strong> der Definition der Match-beschränkten <strong>Graph</strong>transformationssysteme.Die folgenden Definitionen, Sätze und Beweise orientierensich stark am analogen Fall für Stringersetzungssysteme, wie sie in [8] untersuchtwurden.Definition 11.4 (Match-GTS)Es sei S ein GTS über der Labelmenge Λ. Wir definieren das zu S gehörigeMatch-GTS Match(S) wie folgt.1. Wir definieren für c ∈ N 0 die Abbildung lift c : H<strong>Graph</strong> → H<strong>Graph</strong>gemäßlift c ((V, E, src, tgt, lab)) = (V, E, src, tgt, {(x, (lab, c)) : (x, lab) ∈ lab})2. Wir definieren weiterhin die Abbildung base : H<strong>Graph</strong> → H<strong>Graph</strong>gemäßbase((V, E, src, tgt, lab)) = (V, E, src, tgt, π 1 ◦ lab)Hierbei ist π 1 die Projektionsfunktion, die das erste Element einesTupels zurück gibt.3. Schließlich definieren wir die Abbildung height : H<strong>Graph</strong> → N 0 zuheight(V, E, src, tgt, lab) = {n : n ∈ π 2 (π 2 (x)), x ∈ lab}


KAPITEL 11. LÖSCHENDE UND MATCH-BESCHRÄNKTE GTS 1004. Das Match-GTS zu S wird nun über der – zunächst unendlichen –Labelmenge Λ × N 0 definiert zumatch(S) = {L ′ ← I → lift c (R) :(L ← I → R) ∈ S, base(L ′ ) = L, c = 1 + min(height(L ′ ))}Dabei ist min die Minimumsfunktion.Zwar betrachten wir im allgemeinen Fall eine unendliche Labelmenge, wirkönnen uns aber für den Fall eines Match-beschränkten <strong>Graph</strong>transformationssystemsauf eine endliche Labelmenge zurückziehen.Definition 11.5 (Match-beschränkte GTS)Es sei S ein <strong>Graph</strong>transformationssystem über der endlichen LabelmengeΛ. Wir nennen S Match-beschränkt durch c ∈ N für eine <strong>Graph</strong>sprache L,falls jede linke Seite einer Transformationsregel in S mindestens eine Kanteenthält und folgendes gilt:max(height(x)) ≤ c∀x ∈ match(S) ∗ (lift 0 (L))Wir nennen S einfach Match-beschränkt (durch c), wenn S für die Sprachealler <strong>Graph</strong>en über der Labelmenge Λ Match-beschränkt (durch c) ist.Wissen wir, dass ein System S Match-beschränkt durch c ist, so können wirdie Labelmenge des Match-GTS einschränken auf Λ × {0, 1, ..., c} und sowieder eine endliche Labelmenge erhalten. Wir nennen das auf das AlphabetΛ × {0, 1, ..., c} eingeschränkte Match GTS zu S Match c (S). Wir verwendendiese Einschränkung auf ein Alphabet auch dann, wenn S nicht Matchbeschränktist oder wir jedenfalls nicht wissen, ob S Match-beschränkt ist.Allerdings ist dann nicht sichergestellt, dass für n > c giltS n | L = (base ◦ match c (S) n ◦ lift 0 ) List S hingegen Match-beschränkt bezüglich L <strong>mit</strong> c, so gilt diese Gleichungfür alle n ∈ N 0 .Lemma 11.6 Für alle <strong>Graph</strong>transformationssysteme S über der LabelmengeΛ, die keine Regel <strong>mit</strong> linker Seite ohne Kante enthalten, ist match c (S) füralle c ∈ N 0 löschend.Beweis: Wir definieren die Ordnung > auf Λ × {0, 1, ..., c} gemäß (a, m) >(b, n) ⇔ m < n. Wir zeigen nun, dass match c (S) >-löschend ist. Hierzubetrachten wir eine beliebige Regel (L ← I → R) ∈ match c S und zeigen,dass L > R richtig ist. Zunächst einmal ist klar, dass die Multimenge derKantenlabel von L und R nicht identisch sein kann, auf Grund der Definitiondes Match-<strong>Graph</strong>en, denn die geringste Höhe eines Kantenlabels auf derlinken Seite ist genau um 1 geringer als die Höhe eines jeden Kantenlabels


KAPITEL 11. LÖSCHENDE UND MATCH-BESCHRÄNKTE GTS 101auf der rechten Seite. Wir betrachten nun also eine Kante k ∈ R, die einLabel hat, das keine Kante in L hat, gibt es eine solche Kante nicht, ist dieBedingung für ein >-löschendes GTS trivial erfüllt. Wir suchen nun eineKante k ′ in L, die ein Label hat, das bezüglich der Ordnung > ein größeresLabel hat, als k. Das ist nach Definition von > äquivalent dazu, eine Kantek ′ in L zu suchen, die eine kleinere Höhe hat, als k. Hierzu wählen wir k ′ alseine Kante <strong>mit</strong> der minimalen Höhe in L, nach Definition hat jede Kante inR eine um 1 größere Höhe als k ′ , also hat auch k eine größere Höhe als k ′ .□Da wir bereits bewiesen haben, dass löschende <strong>Graph</strong>transformationssystemeterminierend sind, folgt direkt:Korollar 11.7 Für alle <strong>Graph</strong>transformationssysteme S über der LabelmengeΛ, die keine Regel <strong>mit</strong> linker Seite ohne Kante enthalten, ist match c (S)für alle c ∈ N 0 terminierend.Schließlich können wir auch beweisen, dass Match-beschränkte GTS terminierendsind.Satz 11.8 Ist S ein für L durch c Match-beschränktes GTS, so ist S terminierendauf LBeweis: Wir zeigen dies durch Widerspruch. Angenommen, es gäbe eineunendliche S-Ableitung, die bei einem Element von L beginnt, so kann dieseAbleitung in eine unendliche match(S)-Ableitung umgeformt werden, diebei einem Element von lift 0 (L) beginnt. Da aber S für L durch c Matchbeschränktist, muss diese Ableitung auch eine match c (S)-Ableitung sein.Das steht aber im Widerspruch zum gerade bewiesenen Lemma, das besagt,dass match c (S) terminiernd ist.□Korollar 11.9 Jedes Match-beschränkte GTS ist linear in seiner BerechnungskomplexitätbeschränktDas lässt sich genauso wie obiger Satz beweisen, <strong>mit</strong> der zusätzlichen Anmerkung,dass wir nicht nur gezeigt haben, dass löschende GTS terminierendsind, sondern sogar, dass sie linear beschränkte Berechnungskomplexitätbesitzen.Nachdem wir bereits eingesehen haben, dass Match-beschränkte GTS löschendsind, wollen wir noch zeigen, dass auch jedes löschende GTS Match-beschränktist.Satz 11.10 Ist S ein löschendes GTS über Λ, so ist S auch Match-beschränktBeweis: Es sei > so gewählt, dass S >-löschend ist. Sei nun k die Länge dergrößten >-Kette in Λ, dann ist S Match-beschränkt durch k.□Wir sehen also, dass ganz analog zum Stringersetzungs-Fall Match-beschränkte<strong>Graph</strong>transformationssystem terminierend sind. Gelänge es also, in Analogiezum String-Fall ein Semientscheidungs-Verfahren zu entwickeln, das


KAPITEL 11. LÖSCHENDE UND MATCH-BESCHRÄNKTE GTS 102untersucht, ob ein gegebenes <strong>Graph</strong>transformationssystem Match-beschränktist, so erhielten wir gleichermaßen ein Verfahren, um ein <strong>Graph</strong>transformationssystemauf Terminierung zu untersuchen. Ziel wäre es nun, dieKonstruktion auf den <strong>Graph</strong>enfall zu adaptieren und zu zeigen, dass Matchbeschränkte<strong>Graph</strong>transformationssysteme Erkennbarkeit erhalten. Genaudie gleiche Konstruktion können wir hierfür nicht verwenden, denn wir habenbereits gezeigt, dass die erkennbaren <strong>Graph</strong>sprachen nicht unter Substitutionabgeschlossen sind. Wir werden nun allerdings leider auch noch einsehen,dass erkennbare <strong>Graph</strong>sprachen grundsätzlich nicht unter der Anwendungvon Match-beschränkten <strong>Graph</strong>transformationssystemen abgeschlossen sind.Satz 11.11 Die erkennbaren <strong>Graph</strong>sprachen sind nicht unter der AnwendungMatch-beschränkter <strong>Graph</strong>transformationssysteme abgeschlossenBeweis: Wir verwenden das Beispiel aus Satz 9.2 und zeigen nur noch,dass das <strong>Graph</strong>transformationssystem, das nur aus der Regel besteht, dieeine A-Kante durch eine B- und eine C-Kante ersetzt, löschend ist. Wirbetrachten die Ordnung A > B > C, dann ist die einzige Regel des <strong>Graph</strong>transformationssystemslöschend, denn A > B und A > C ist richtig und aufder linken Seite befindet sich eine A-Kante, auf der rechten Seite nur B- undC-Kanten. Also ist das <strong>Graph</strong>transformationssystem tatsächlich löschend.Wie in Satz 9.2 sehen wir aber ein, dass die Sprache aller <strong>Graph</strong>en <strong>mit</strong> einemKnoten und beliebig vielen A-Kanten erkennbar ist, wohingegen die Sprachealler <strong>Graph</strong>en <strong>mit</strong> einem Knoten und beliebig vielen A-Kanten und gleichvielen B- wie C-Kanten nicht erkennbar ist.□


Kapitel 12Fazit und AusblickIn dieser Arbeit haben wir eine Reihe von <strong>Abschlusseigenschaften</strong> für erkennbare<strong>Graph</strong>sprachen nachweisen können, andere aber auch widerlegenkönnen. Bereits im Vorfeld war bekannt, dass die erkennbaren <strong>Graph</strong>sprachenabgeschlossen sind unter Vereinigung, Schnitt und Komplement. DieseEigenschaften wurden bereits in [4] nachgewiesen. In dieser Arbeit haben wirzusätzlich bewiesen, dass die erkennbaren <strong>Graph</strong>sprachen abgeschlossen sindunter Konkatenation, sowie unter der Anwendung invers kontextfreier <strong>Graph</strong>ersetzungsregeln.Negative Ergebnisse haben wir für die Substitution, dieAnwendung von Regeln, die Kanten löschen und den Kleene-Stern erhalten.Erkennbare <strong>Graph</strong>sprachen sind also nicht abgeschlossen unter Substitution,löschende <strong>Graph</strong>ersetzungsregeln und der Anwendung des Kleene-Sterns.Der Beweis des Abschlusses unter Konkatenation erfolgte im allgemeinerenSetting der adhäsiven Kategorien und durch den Nachweis im Spezialfallder <strong>Graph</strong>sprachen, dass der Abschluss unter Anwendung des Kleene-Sternsnicht gegeben ist, wissen wir dies natürlich auch im Allgemeinen für adhäsiveKatgorien. Wir haben also für erkennbare Pfeilsprachen auf adhäsivenKategorien ebenfalls Einblicke in die <strong>Abschlusseigenschaften</strong> gewonnen.Wir haben weiterhin gesehen, dass eine Möglichkeit zur Terminierungsanalysefür <strong>Graph</strong>transformationssysteme darin besteht, zu überprüfen, ob das<strong>Graph</strong>transformationssystem ein Match-beschränktes System ist. Auf dieserBasis wurde in vergangenen Arbeiten bereits ein in praktischen Testserfolgreiches System zur Terminierungs-Prüfung von Stringersetzungssystemenausgearbeitet. Die wichtigste Grundlage für diesen Algorithmus ist einSatz, der den Erhalt der Regularität einer Sprache betrifft. Leider musstenwir bereits feststellen, dass die erkennbaren <strong>Graph</strong>sprachen, anders als dieregulären <strong>Sprachen</strong>, nicht unter Substitution abgeschlossen sind. Dies warallerdings eine wichtige Voraussetzung für die Anwendbarkeit des Algorithmus’im Stringersetzungsfall, so dass gewiss eine andere Zerlegung gewählt103


KAPITEL 12. FAZIT UND AUSBLICK 104werden müsste. Leider hat sich zudem herausgestellt, dass löschende <strong>Graph</strong>transformationssystemedie Regularität nicht erhalten. Da<strong>mit</strong> ist allerdingseine Adaption des Algorithmus vom String-Fall auf das <strong>Graph</strong>en-Settingunmöglich. Nichtsdestotrotz haben wir gesehen, dass der Nachweis, dass ein<strong>Graph</strong>transformationssystem löschend oder Match-beschränkt ist, generellzur Terminierungsanalyse verwendet werden kann. Ein anderer Ansatz, dieseEigenschaften nachzuweisen könnte also zu einem guten Verfahren zur Terminierungsanalyseführen.Doch auch unabhängig von dieser Betrachtung können auf dieser Arbeit aufbauendweitere Erkenntnisse gesammelt werden. Die <strong>Abschlusseigenschaften</strong>,die in dieser Arbeit bewiesen wurden, können auch weiteren Untersuchungender erkennbaren <strong>Graph</strong>sprachen dienlich sein. Neben den bereits bekanntenund den in dieser Arbeit bewiesenen <strong>Abschlusseigenschaften</strong> für <strong>Graph</strong>sprachenbietet sich zudem an, weitere Operationen zu untersuchen undherauszufinden, ob erkennbare <strong>Graph</strong>sprachen unter Anwendung dieser Operationenabgeschlossen sind oder nicht.Für die Terminierungsanalyse für <strong>Graph</strong>transformationssysteme kann mandurchaus versuchen, die Match-Beschränktheit nachzuweisen, Dr. H.J. SanderBruggink hat diesbezüglich in [2] bereits vor einigen Jahren einen Ansatzvorgestellt, der allerdings oftmals nicht zu einem Ergebnis führt. Mit denneuen Erkenntnissen über erkennbare <strong>Graph</strong>sprachen wäre es aber durchausdenkbar, dass man das Verfahren verfeinern könnte, auch wenn ähnlich guteErgebnisse wie im Stringfall möglicherweise nicht erreicht werden können.


Literaturverzeichnis[1] Christoph Blume, H.J. Sander Bruggink, and Barbara König. Treewidth,pathwidth and cospan decompositions. In Proc. of GT-VMT ’11(Workshop on <strong>Graph</strong> Transformation and Visual Modeling Techniques),2011.[2] H.J. Sander Bruggink. Towards a systematic method for proving terminationof graph transformation systems. In Proceedings of GT-VC ’07,2007.[3] H.J. Sander Bruggink. Automaten und formale <strong>Sprachen</strong>, 2011.[4] H.J. Sander Bruggink and Barbara König. On the recognizabilityof arrow and graph languages. In Proc. of ICGT ’08 (InternationalConference on <strong>Graph</strong> Transformation), pages 336–350. Springer, 2008.LNCS 5214.[5] Sebastian Buchwald and Edgar Jakumeit. Compiler optimization: Acase for the transformation tool contest. In Transformation Tool Contest,pages 6–16, 2011.[6] Bruno Courcelle. Recognizable sets of graphs: Equivalent definitionsand closure properties. Mathematical Structures in Computer Science,4(1):1–32, 1994.[7] Ingrid Fischer, Manuel Koch, and Michael R. Berthold. Proving propertiesof neural networks with graph transformations. In IEEE InternationalJoint Conference on Neural Networks, volume 1, pages 441–446,1998.[8] Alfons Geser, Dieter Hofbauer, and Johannes Waldmann. Matchboundedstring rewriting systems. In Branislav Rovan and Peter Vojtas,editors, Mathematical Foundations of Computer Science 2003, volume2747 of Lecture Notes in Computer Science, pages 449–459. SpringerBerlin / Heidelberg, 2003.[9] Annegret Habel. Hyperedge Replacement: Grammars and Languages.Lecture Notes in Computer Science, 643, 1992.105


LITERATURVERZEICHNIS 106[10] Annegret Habel and Detlef Plump. Computational completeness ofprogramming languages based on graph transformation. In Furio Honselland Marino Miculan, editors, Foundations of Software Science andComputation Structures, volume 2030 of Lecture Notes in ComputerScience. Springer Berlin / Heidelberg, 2001.[11] Tobias Heindel. A category theoretical approach to the concurrent semanticsof rewriting: adhesive categories and related concepts. PhDthesis, Universität Duisburg-Essen, 2009.[12] Dieter Hofbauer and Johannes Waldmann. Deleting string rewritingsystems preserve regularity. Theor. Comput. Sci., 327(3):301–317, November2004.[13] Barbara König. Modellierung nebenläufiger Systeme, 2011.[14] Sebastian Küpper. Bachelorarbeit Algorithmen für Baum- und Pfadzerlegungenvon <strong>Graph</strong>en, Universität Duisburg-Essen, 2010.[15] Stephen Lack and Pawel Sobocinski. Adhesive and quasiadhesive categories.ITA, 39(3):511–545, 2005.[16] Benjamin C. Pierce, editor. Basic Category Theory for Computer Scientists.MIT Press, 1991.[17] Francesc Rosselló and Gabriel Valiente. <strong>Graph</strong> transformation in molecularbiology. In Formal Methods in Software and Systems Modeling,pages 116–133, 2005.[18] Eduardo Zambon and Arend Rensink. Using graph transformations andgraph abstractions for software verification. ECEASST, 38, 2011.


SelbständigkeitserklärungIch erkläre hier<strong>mit</strong>, dass ich die vorliegende Arbeit selbständig und ohneBenutzung anderer als der angegebenen Hilfs<strong>mit</strong>tel angefertigt habe; dieaus fremden Quellen direkt oder indirekt übernommenen Gedanken sind alssolche kenntlich gemacht. Die Arbeit wurde bisher in gleicher oder ähnlicherForm keiner anderen Prüfungskommission vorgelegt und auch nicht veröffentlicht.Duisburg, den 13.08.2012107

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!