Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

 Sortigkeit oder Arität

Ähnliche Präsentationen


Präsentation zum Thema: " Sortigkeit oder Arität"—  Präsentation transkript:

1  Sortigkeit oder Arität
Kapitel 2 Heterogene Algebren Signatur  :  = (S, ,  )  :   S+ Mengen S  , S   =  S heißt Menge der Sorten(namen),  Menge der Operatoren,  Sortigkeit oder Arität

2 Signatur  ,  = (S, ,  ) ,    gegeben.
 () = (s1,s2 ,...,sn ,sn+1) w = (s1,s2 ,...,sn ) heißt Eingang des Operators , kurz i () . sn+1 heißt Ausgang des Operators , kurz o () . n heißt Stelligkeit des Operators .  i ()  S* , o ()  S ,  () = (i (), o ()) = (w, s)  :   S*  S

3 Bequeme Schreibweisen:
A = (As)sS und B = (B s)sS seien Mengenfamilien. A Teilfamilie von B, A  B, gdw. As  Bs für alle sS. Analog wird Durchschnitt und Vereinigung von Mengenfamilien definiert. a  A ist Abkürzung für s(sS  aAs). Verallgemeinerung des Kreuzprodukts: für wS* Aw ={ As1  As2  ...  Asn , falls w = (s1,s2 ,...,sn ) {} , falls w = 

4 Bequeme Schreibweisen (Forts.):
Analog zu Aw für wS* wird auch für Abbildungsfamilien h = (hs)sS die Schreibweise hw eingeführt: Wenn h : A  B , (hs : As  Bs )sS , dann bei w = (s1,s2 ,...,sn ) : hw : Aw  Bw vermöge hw(a1,a2 ,...,an) = (hs1(a1), hs2(a2) ,..., hsn(an))

5 Signatur  = (S, , ) gegeben.
Bilde für alle w  S* , s  S die Mengen w,s = { |      () = (w, s) } Man beachte, daß bei Anwendungen fast alle w,s leer sind. Manchmal heißt dann auch die Familie  = (w,s)w  S*, s  S eine S-sortige Signatur. Die Elemente von S sind wieder die Sorten, die von w,s Operatoren mit Eingang w, Ausgang s und Arität (w,s).   () = (w, s) ist gleichbedeutend mit   w,s    steht als Abkürzung für sw( sS  w  S*    w,s ).

6 Signatur  mit  = (S, ,  ) gegeben.
Zum Begriff der „heterogenen Algebra“: Signatur  mit  = (S, ,  ) gegeben. Heterogene Algebra mit Signatur , kurz -Algebra: A = [(As)sS , (f)  ] Mengenfamilie Funktionenfamilie mit: wenn  () = (w, s) , so f  : Aw  As

7 -Algebra A = [(As)sS , (f)   ] gegeben.
As heißen Trägermengen von A , Trägermenge der Sorte s, paarweise Disjunktheit ist nicht (!) gefordert, f  heißen Operationen von A . Wenn  () = (s), d.h. i () = , so heißt f Konstante der Sorte s. A = [(As)sS , (f)  ] -Algebra  f : Ai ()  Ao ()

8 Homogene Algebra A = [ A , (f)   ] ist Spezialfall der heterogenen Algebren, und zwar mit einsortiger Signatur! Wenn bei  = (S, ,  ) die Sortenmenge einelementig ist, S = {s}, so wird Familie (As)sS zu einer einzigen Trägermenge A, die Arität  () = (s, s, ...,s) gibt nur noch die Stellenzahl an, also äquivalent zu t :   Nz. t :   Nz beinhaltet alle notwendigen „Signatur“-Informationen und ersetzt damit . t heißt Typ der homogenen Algebra A

9 Beispiele für Algebren
1. MEALY-Automat: A = [ X , Y, Z ; d, l ] wie üblich definierter endlicher Automat: X - Eingabealphabet, Y - Ausgabealphabet, Z - Zustandsmenge, d : Z  X  Z Überführungsfunktion, l : Z  X  Y Ausgabefunktion. A ist eine -Algebra A = [(As)sS , (f)   ] mit der Signatur  = (S, ,  ) mit z.B. S = {x, y, z},  = {1, 2},  (1) = (z, x , z),  (2) = (z, x , y). Dann ist Ax=X, Ay=Y, Az=Z und f1 = d, f2 = l.

10 Beispiele für Algebren
2. MOORE-Automat: A = [ X , Y, Z ; d, m ] kann analog als eine -Algebra A = [(As)sS , (f)   ] mit z.B. der Signatur  = (S, ,  ) mit S = {x, y, z},  = {d, m },  (d) = (z, x , z),  (m) = (z, y) aufgefaßt werden. Beachte hier: fd = d, fm = m absolut willkürlich !

11 Beispiele für Algebren
3. ROBIN-SCOTT-Automat (initialer Automat): A = [ Z , X, z0 , F, d ] mit d : Z  X  Z, z0 Z, F  Z kann als eine -Algebra A = [(As)sS , (f)   ] aufgefaßt werden mit S = {z, x},  = {0, d } {t  t F }, (0) = (z), (t ) = (z) für alle t F, (d ) = (z,x,z).  Az=Z, Ax=X und f0 = z0 , ft = t für alle t F, (Initial-, Finalzustände) Konstanten ! fd = d (Überführungsfunktion)

12 Beispiele für Algebren
4. Homogene Algebren: [ P(M) ;  ,  ] Potenzmenge über einer Menge M mit Vereinigung und Durchschnitt [ {W, F} ;  ,  ] Menge der Wahrheitswerte mit Konjunktion und Disjunktion [ Nz ; + ,  ] Menge der natürlichen Zahlen mit Addition und Multiplikation - alle drei Algebren vom Typ (2,2). Sie heißen deshalb ähnlich (!).

13 Beispiele für Algebren
weiter zu 4. Homogene Algebren: [ Nz ; 0 , '] Menge der natürlichen Zahlen mit der Konstanten 0 und der Nachfolgerfunktion ' - homogene Algebra vom Typ (0,1) Das ist die allgemein bekannte PEANO-Algebra der natürlichen Zahlen.

14 Beispiele für Algebren
5. Aussagenlogische Ausdrucks-Algebra: [ AUS ; neg, con, alt ] Menge aller „pfeilfreien“ aussagenlogischen Ausdrücke mit neg als der syntaktischen Operation der Bildung negierter Ausdrücke, con bzw. alt den entsprechenden syntaktischen Operationen der Bildung von Konjunktionen bzw. Alternativen. Für A, B  AUS gilt z.B. neg( A) =  A con( A, B) = (A  B) alt ( A, B) = (A  B) - homogene Algebra vom Typ (1, 2, 2). - bemerkenswerte Eigenschaften!

15 Beispiele für Algebren
6. Semiotisches Quadrupel: S = [ W , X ;  ,  ] X ist ein Alphabet, W ist die Wortmenge über diesem Alphabet,  das leere Wort, und  die Verkettung eines Wortes mit einem Zeichen (!) S ist heterogene Algebra mit der Signatur  = (S, ,  ) mit S = {w, z},  = {e, k },  (e) = (w),  (k) = (w,z,w).  Aw = W, Az = X und fe =  , fk =  : W  X  W ( Konstante der Sorte w)

16 Beispiele für Algebren
7. Syntax einer Programmiersprache kann man stets als heterogene Algebra auffassen! Einfache Beispielsprache: <Ide> - Menge der Identifier sei beliebig gegeben Ausdrücke (expressions) <Exp> ::= 0 | 1 | true | false | <Ide> |  <Exp> | (<Exp> = <Exp>) | (<Exp> + <Exp> ) Anweisungen (commands) <Com> ::= <Ide> := <Exp> | <Com> ; <Com> | if <Exp> then <Com> else <Com> fi

17 7. Syntax einer Programmiersprache (Forts.):
Man erhält drei Trägermengen Ide, Exp, Com . Zu jeder Einzelregel obiger BNF gehört eine Operation der Algebra, hinzu kommt für jeden Identifier eine Konstante: Beispiel: Operationen, die sich aus Regeln für <Com> ergeben: f := (I, E) = I := E f if (E, C1, C2) = if E then C1 else C2 fi f ; (C1, C2) = C1;C2

18  7. Syntax einer Programmiersprache (Forts.):
Die Operationen der Algebra lassen sich aus der BNF ablesen: f 0 = 0 f 1 = 1 f true = true Konstanten! f false = false f I = I für alle I  Ide f  (E) =  E für E  Exp f = (E1, E2) = (E1 = E2) für E1 , E2  Exp f + (E1, E2) = (E1 + E2) für E1 , E2  Exp f := (I, E) = I := E für I  Ide, E  Exp f if (E, C1, C2) = if E then C1 else C2 fi für E  Exp, C1 , C2  Com f ; (C1, C2) = C1;C2 für C1 , C2  Com

19 7. Syntax einer Programmiersprache (Forts.):
Die Signatur dieser Algebra kann man auch leicht aus folgenden Angaben ablesen: :  Exp :  Exp true :  Exp false :  Exp I :  Exp für alle I  Ide  : Exp  Exp = : Exp  Exp  Exp + : Exp  Exp  Exp := : Ide  Exp  Com if : Exp  Com  Com  Com ; : Com  Com  Com


Herunterladen ppt " Sortigkeit oder Arität"

Ähnliche Präsentationen


Google-Anzeigen