Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Irmingild Lapp Geändert vor über 10 Jahren
1
Eine (Gleichungs-)Spezifikation ist ein Paar SPEC = (, E),
Kapitel 9 Gleichungsspezifikation abstrakter Datentypen Definition "Spezifikation" Eine (Gleichungs-)Spezifikation ist ein Paar SPEC = (, E), wobei eine Signatur und E ein -Gleichungssystem ist. Die Spezifikation wird erfüllt von allen -Algebren, in denen das Gleichungssystem E gültig ist, also von allen (, E)-Algebren. Damit bestimmt eine Spezifikation SPEC eine ganze Klasse von Algebren: Alg,E bzw. AlgSPEC . Zur Angabe von Spezifikationen benutzen wir eine einfache sich selbst erklärende Sprache.
2
Beispiele für Spezifikationen
1.) group = sorts G oprs : G, G G e : G i : G G var x, y, z : G eqns (x y) z = x (y z ) e x = x i(x) x = e end group Modelle dieser Spezifikation sind alle Gruppen. Diese Spezifikation beschreibt die Klasse Alg group .
3
Beispiele für Spezifikationen (Forts.)
2.) stack = sorts stack, char, bool oprs push : stack, char stack top : stack char pop : stack stack clear : stack empty: stack bool true : bool false : bool var s : stack ; x : char eqns empty(push(s, x)) = false empty(clear) = true top(push(s, x)) = x pop(push(s, x)) = s end stack
4
Das 1. Beispiel zeigt, daß mit Gleichungsspezifikationen auf direkte Weise i.a. nur polymorphe Datentypen spezifiziert werden können. Denn die Klasse Alg group enthält sehr verschiedene nichtisomorphe Gruppen. Auch zur Klasse Alg stack gehören Modelle, die man wohl nicht meint: sog. Nichtstandardmodelle. Man betrachte etwa ein Modell, das als Keller unendliche Folgen von Elementen enthält. Auch dies wäre eine stack-Algebra. Sie enthält viel zu viele Elemente (!), nicht alle sind von der Konstanten clear aus durch endlichmalige Anwendung der Operationen erreichbar. Ausschluß solcher zu großer Modelle nicht durch Formeln des PK 1. Stufe möglich! Vgl. vorn Axiom iv. und auch das sog. Induktionsaxiom in den PEANO-Axiomen sind Formeln 2. Stufe.
5
monomorphen Datentypen
Durch Gleichungsspezifikationen werden also i.a. zu große Klassen von Algebren beschrieben. Frage: Wie kann man diese bequemen, einfachen Ausdrucksmittel der Gleichungsspezifikation trotzdem nutzen? Wie kann man die oft gebrauchten monomorphen Datentypen evtl. doch mittels Gleichungen spezifizieren?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.