 Sortigkeit oder Arität

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Compilertechnik Sommersemester 2008
Advertisements

Programmierung 1 - Repetitorium
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Einführung in JavaScript II
7. Natürliche Binärbäume
5. Aussagenlogik und Schaltalgebra
8. Formale Sprachen und Grammatiken
10. Grundlagen imperativer Programmiersprachen
Es sei SPEC = (, E) eine Spezifikation mit einer
Finale Semantik und beobachtbares Verhalten
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Syntax der Aussagenlogik
Ein Modellansatz zur Beschreibung von Vagheiten
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (03 – Nichtdeterminierte endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
3. Rechnen mit natürlichen Zahlen
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
Reguläre Ausdrücke Karin Haenelt
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Datentyp  Zusammenfassung von Mengen von "Werten" mit auf
? Grammatik  Orthographie ?
d.h. für alle  mit () = (s1,s2 ,...,sn,s) gilt: wenn
Beispiele für Ausdrucksalgebren
Eine (Gleichungs-)Spezifikation ist ein Paar SPEC = (, E),
Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,
Gleichungskalkül und Induktion
Christian Schindelhauer
Folie 1 Kapitel II. Vom Raumbegriff zu algebraischen Strukturen Neubeginn: Herleitung des Begriffs Vektorraum aus intuitiven Vorstellungen über den Raumbegriff.
§9 Der affine Raum – Teil 2: Geraden
§ 28 Multilineare und Alternierende Abbildungen
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
boolean Datentyp und Operator
Formale Sprachen Grundbegriffe für formale Sprachen
§10 Vektorraum. Definition und Beispiele
§17 Produkte und Quotienten von Vektorräumen
§24 Affine Koordinatensysteme
Grundlagen der Programmierung
§10 Vektorraum. Definition und Beispiele
Folie 1 § 28 Multilineare und Alternierende Abbildungen (28.1) Definition: V und W seien wieder ein K-Vektorräume. Eine Abbildung von V nach W stets linear.
§23 Basiswechsel und allgemeine lineare Gruppe
§3 Allgemeine lineare Gleichungssysteme
Fuzzymengen – Was ist das?
Institut für Theoretische Informatik
POCKET TEACHER Mathematik Algebra
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Datentypen: integer, char, string, boolean
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
PHP: Operatoren und Kontrollstrukturen
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Mensch – Maschine - Kommunikation
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 3 / 1 Algebraische Hülle und Homomorphie A = [A, F ] sei  -Algebra. Eine.
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 10 / 1 Kapitel 10 Initialität Eine beliebige gleichungsdefinierbare Klasse.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
? definierende Gleichungen  gültige Gleichungen ?
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Datentypen: integer, char, string, boolean
Datentypen: integer, char, string, boolean
 Präsentation transkript:

 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

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

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 = 

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))

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 ).

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

-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 ()

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

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.

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 !

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)

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 (!).

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.

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!

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)

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

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

 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 

7. Syntax einer Programmiersprache (Forts.): Die Signatur dieser Algebra kann man auch leicht aus folgenden Angaben ablesen: 0 :  Exp 1 :  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