Präsentation herunterladen
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)sS und B = (B s)sS seien Mengenfamilien. A Teilfamilie von B, A B, gdw. As Bs für alle sS. Analog wird Durchschnitt und Vereinigung von Mengenfamilien definiert. a A ist Abkürzung für s(sS aAs). Verallgemeinerung des Kreuzprodukts: für wS* Aw ={ As1 As2 ... Asn , falls w = (s1,s2 ,...,sn ) {} , falls w =
4
Bequeme Schreibweisen (Forts.):
Analog zu Aw für wS* wird auch für Abbildungsfamilien h = (hs)sS die Schreibweise hw eingeführt: Wenn h : A B , (hs : As Bs )sS , 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 sw( sS 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)sS , (f) ] Mengenfamilie Funktionenfamilie mit: wenn () = (w, s) , so f : Aw As
7
-Algebra A = [(As)sS , (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)sS , (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)sS 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)sS , (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)sS , (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)sS , (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 f0 = z0 , ft = t für alle t F, (Initial-, Finalzustände) Konstanten ! fd = 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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.