Monade (Kategorientheorie)

Eine Monade ist im mathematischen Teilgebiet der Kategorientheorie eine Struktur, die gewisse formale Ähnlichkeit mit den Monoiden der Algebra aufweist.

DefinitionBearbeiten

Eine Monade ist ein Tripel   aus

  • einem Funktor T von einer Kategorie K in sich selbst, d. h.
     
  • einer natürlichen Transformation   (dabei steht   für den Identitätsfunktor  )
  • einer natürlichen Transformation   (dabei steht   für  ),

so dass die folgenden Bedingungen erfüllt sind:

  •  , d. h. das folgende Diagramm kommutiert:
 
  •  , d. h. das folgende Diagramm kommutiert:
 

Explizit bedeutet die Kommutativität der Diagramme, dass für jedes Objekt   in   die beiden Diagramme

  und  

kommutieren. Die erste Bedingung ist analog zum Assoziativgesetz bei Monoiden, die zweite zur Existenz eines neutralen Elementes.

AlgebrenBearbeiten

Ist   eine Monade, so ist ein Paar   eine (Eilenberg-Moore-)Algebra für diese Monade, wenn

  •   und
  •  

gelten. Ein Homomorphismus von   nach   ist ein Pfeil   in   mit  .

Für beliebige Objekte   aus   ist daher z. B.   eine Algebra, und   ist ein Homomorphismus von   nach  .

BeispieleBearbeiten

DcposBearbeiten

Der Endofunktor   auf der Kategorie der partiell geordneten Mengen und monotonen Abbildungen ordne jedem   die partiell geordnete Menge   der Ordnungsideale in   zu. Seine Wirkung auf monotonen Abbildungen   sei  . Für eine partiell geordnete Menge   und eine Teilmenge   ist hierbei  .

Die Abbildungsfamilien   und   ergänzen den Funktor   zu einer Monade.

Die Strukturabbildung   einer  -Algebra   ist nun gerade  . Jedes Ideal in   (und somit jede gerichtete Teilmenge) hat also ein Supremum in  . Das heißt, eine  -Algebra ist dasselbe wie eine Dcpo. Ein Homomorphismus von  -Algebren ist eine Scott-stetige Abbildung.

Adjungierte FunktorenBearbeiten

Ist ein Funktor   zu einem Funktor   linksadjungiert, und sind

  bzw.  

Einheit bzw. Koeinheit der Adjunktion, so ist   mit

  •  
  •   also   für Objekte  

eine Monade.

Dies ist im gewissen Sinn auch schon das einzige Beispiel, da jede Monade auf diese Weise entsteht, jedenfalls bis auf Isomorphie: Die Tripel   mit  ,  ,   und   sind Objekte einer Kategorie  . In dieser Kategorie ist ein Morphismus von   nach   ein Funktor  , für den   und   gelten.

Anfangsobjekt in   ist  , wobei   die Kleisli-Kategorie zu   ist.  , für   ist  .  , für   ist  .

Endobjekt in   ist   wobei   die Kategorie der Eilenberg-Moore-Algebren zu   ist.  , für   ist  .  ,  .

ListenBearbeiten

Ein Beispiel für eine Monade sind Listen. Wenn   die Liste mit den Elementen   bis   bezeichnet, dann stellt das folgende Tripel   eine Monade über der Kategorie der Mengen dar:

  1. Listen-Funktor:
    • Auf der Objektebene ergibt   die Menge aller Listen, deren Elemente aus   kommen, für eine beliebige Menge  .
    • Für eine Abbildung   zwischen zwei Mengen ergibt   die entsprechende Abbildung   zwischen den Listenmengen mit  
  2. Konstruktor für einelementige Listen:  
  3. Konkatenation von Listen:  , also   – dies ist gewissermaßen das (einstufige) Flachklopfen einer Liste von Listen.

Die Aussagen der Axiome lassen sich entsprechend auf das Listenbeispiel übertragen:

  1. Wird das Axiom   auf das Beispiel angewandt, ergibt sich für eine Menge   zunächst  . Auf das Listenbeispiel übertragen ergibt sich für   auch  , d. h., dass es bei mehrfach verschachtelten Listen egal ist, ob von innen oder von außen flachgeklopft wird, was bei Listen offensichtlich erfüllt ist.
  2. Das zweite Axiom sagt in diesem Beispiel aus, dass es beim Hinzufügen einer Listenebene egal ist, ob dies innen oder außen passiert, sofern danach flachgeklopft wird – es ist  .

Diese Monade gehört zu einem adjungierten Funktorpaar   (wie oben) zwischen den Kategorien der Mengen bzw. Halbgruppen.   ordnet einer Menge die freie Halbgruppe über dieser Menge zu,   einer Halbgruppe die zugrunde liegende Menge.

AnwendungBearbeiten

Monaden werden in der Informatik, besonders in funktionalen Programmiersprachen u. a. zur Abstraktion von Nebeneffekten verwendet. Es ist Haskell hervorzuheben, wo Monaden zur Integration von Ein- und Ausgabe in die sonst komplett von Seiteneffekten freie Sprache verwendet werden. Siehe dazu auch Monade (Informatik).

LiteraturBearbeiten

  • Saunders Mac Lane, Categories for the Working Mathematician. Springer-Verlag, Berlin 1971. ISBN 3-540-90035-7

WeblinksBearbeiten