3.0 VU Formale Modellierung

Größe: px
Ab Seite anzeigen:

Download "3.0 VU Formale Modellierung"

Transkript

1 3.0 VU Formale Modellierung Gernot Salzer

2 Was Sie letztes Mal hörten 4. Endliche Automaten 4.8. Beispiel: Flussüberquerung 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 2

3 Reguläre Sprachen Seien L, L Σ zwei Sprachen. L L = { w w L oder w L } L L = { w w w L, w L } Vereinigung Verkettung L = n 0 L n Kleene-Stern Regulären Sprachen über einem Alphabet Die Menge der regulären Sprachen über Σ, L reg (Σ), ist die kleinste Menge, sodass gilt: {}, {ε} und {s} sind reguläre Sprachen (für alle s Σ). Wenn L und L reguläre Sprachen sind, dann auch L L, L L und L. 3

4 Was Sie letztes Mal hörten 4. Endliche Automaten 4.8. Beispiel: Flussüberquerung 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 4

5 Reg. Sprache Algebra Ebnf Syntaxdiagramm A A A A Abkürzung {} Leersprache {ε} ε Leerwortsprache {s} s "s" s Terminalsymbol X Y XY XY X Y Aufeinanderfolge X Y X + Y X Y X Y Alternativen {ε} X ε + X [X] X Option X X {X} X Wiederholung 0 X + XX X{X} X Wiederholung 1 (X) (X) (X) Gruppierung 5

6 Posix Extended Regular Expressions (Ere) regexp trifft zu auf Reg. Sprache \s Zeichen s {s} s s, falls kein Sonderzeichen {s}. alle Zeichen Σ ˆ Zeilenanfang $ Zeilenende [s 1 s n ] eines der Zeichen s i {s 1,..., s n } [ˆs 1 s n ] alle Zeichen außer s 1,..., s n Σ {s 1,..., s n } (X) X X XY X gefolgt von Y X Y X Y X oder Y X Y X* 0 Mal X X X+ 1 Mal X X + X? 1 Mal X X {ε} X{i} i Mal X X i X{i,} i Mal X X i X X{i,j} i bis j Mal X X i X i+1 X j 6

7 Reelle Numerale... sind eine reguläre Sprache über {0,..., 9,., E, +, -} real = digit digit {.} digit ({ε} scale) scale = {E} {+, -, ε} digit digit digit = {0,..., 9} = {0} {9}... dargestellt als regulärer Ausdruck in algebraischer Notation R = DD.D (ε + S) S = E( ε)dd D = dargestellt als regulärer Ausdruck in Ebnf-Notation R = D { D } "." { D } [ S ] S = "E" [ "+" "-" ] D { D } D = "0" "1" "2" "9" 7

8 Reelle Numerale... dargestellt als Syntaxdiagramm real = scale = digit = digit digit. scale + E digit dargestellt als Posix Extended Regular Expression ^[0-9]+\.[0-9]*(E[+-]?[0-9]+)?$ 8

9 Was Sie letztes Mal hörten 4. Endliche Automaten 4.8. Beispiel: Flussüberquerung 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 9

10 Vom regulären Ausdruck zum Automaten Automat für : i f Automat für s Σ {ε}: s i f Automat für r 1 r 2 : Automat für r 1 + r 2 : i Automat für r 1 ε i 1 f 1 Automat für r 2 ε i 2 f 2 Automat für r 1 Automat für r 2 ε ε ε i i 1 f 1 i 2 f 2 ε ε f f Automat für r 1 : ε i ε Automat für r1 i 1 f 1 ε f ε 10

11 Was Sie letztes Mal hörten 4. Endliche Automaten 4.8. Beispiel: Flussüberquerung 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 11

12 Vom verallgemeinerten Automaten zum regulären Ausdruck Gegeben: Verallgemeinerter Automat A = Q, Σ, δ, i, f Für jeden Zustand q Q {i, f } führe folgende Schritte durch: 1 Füge zwischen allen Nachbarn p, p von q neue Übergänge hinzu: y y p x q z p = p x q z p (x, y und z bezeichnen reguläre Ausdrücke.) xy z 2 Entferne q und alle Kanten von und nach q aus dem Automaten. r Restautomat: i f Ergebnis: r ist ein regulärer Ausdruck mit L(r) = L(A). 12

13 Was Sie letztes Mal hörten 4. Endliche Automaten 4.8. Beispiel: Flussüberquerung 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 13

14 Kontextfreie Grammatiken... werden beschrieben durch ein 4-Tupel G = V, T, P, S, wobei V... Menge der Nonterminalsymbole (Variablen) T... Menge der Terminalsymbole (V T = {}) P V (V T )... Produktionen S V... Startsymbol Schreibweise: A w statt (A, w) P A w 1 w n statt A w 1,..., A w n Ableitbarkeit v ist in einem Schritt aus u ableitbar, geschrieben u v, falls es Worte x, y (V T ) und eine Produktion A w P gibt, sodass u = xay und v = xwy. v ist in mehreren Schritten aus u ableitbar, geschrieben u v, falls u = v, oder u u und u v für ein Wort u (V T ). 14

15 Von Grammatik G generierte kontextfreie Sprache L(G) = { w T S w } Grammatiken G 1 und G 2 heißen äquivalent, wenn L(G 1 ) = L(G 2 ) gilt. G = {S}, {a, b}, {S ε a S b}, S S aabb, weil S a S b aa S bb aa ε bb aabb L(G) = { a n b n n 0 } = {ε, ab aabb aaabbb,... } Linksableitbarkeit: xay L xwy falls A w P und x T Rechtsableitbarkeit: xay R xwy falls A w P und y T Parallelableitbarkeit: x 0 A 1 x 1 A n x n P x 0 w 1 x 1 w n x n falls A 1 w 1,..., A n w n P und x 0,..., x n T L(G) = { w T S w } = { w T S L w } = { w T S R w } = { w T S P w } 15

16 Was Sie letztes Mal hörten 4. Endliche Automaten 4.8. Beispiel: Flussüberquerung 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition regulärer Sprachen 5.3. Reguläre Ausdrücke 5.4. Eigenschaften regulärer Sprachen 5.5. Vom regulären Ausdruck zum Automaten 5.6. Vom Automaten zum regulären Ausdruck 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 16

17 Wohlgeformte Klammerausdrücke WKA ist die kleinste Menge, sodass ε WKA (w) WKA, wenn w WKA w 1 w 2 WKA, wenn w 1, w 2 WKA G = {W }, {(, )}, {W ε ( W ) W W }, W Beispiel einer Ableitung: W P W W P (W )(W ) P ()(W W ) P ()((W )(W )) P ()(()()) L(G) = {ε, (), (()), ()(), ((())), (())(), ()(()), ()()(),... } = WKA 17

18 Induktive Definition vs. kontextfreie Grammatik Induktive Definition für M kontextfreie Grammatik für M Mengen M, M 0, A 1, B 1,... Var. M, M 0, A 1, B 1,... M ist die kleinste Menge, sodass: M 0 M M M 0 M = L(..., P, M ), wobei P folgende Produktionen sind: f (x 1,..., x m ) M, M f ( A 1,..., A m ) falls x 1 A 1,..., x m A m g(x 1,..., x n ) M, M g( B 1,..., B n ) falls x 1 B 1,..., x n B n M, falls... M... h(x 1, x 2 ) M, falls x 1, x 2 M h(x, x) M, falls x M M h( M, M ) keine Entsprechung, nicht kontextfrei 18

19 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 19

20 Mehrdeutigkeit Eine Grammatik heißt mehrdeutig, wenn es ein Wort mit mehreren Linksableitungen gibt. Eine kontextfreie Sprache heißt (inhärent) mehrdeutig, wenn alle kontextfreien Grammatiken für sie mehrdeutig sind. If-then-else Anweisungen G 1 = {A}, {if, then, else, expr, others}, P 1, A mit P 1 = {A if expr then A if expr then A else A others}. G 1 ist mehrdeutig, da z.b. das Wort w = if expr then if expr then others else others zwei Linksableitungen besitzt: { } if expr then A A L if expr then A else A L if expr then if expr then A else A L w 20

21 If-then-else Anweisungen (Fortsetzung) Die Sprache L(G 1 ) ist nicht mehrdeutig, da es eine zu G 1 äquivalente, aber eindeutige Grammatik G 2 gibt: G 2 = {A, T, TE}, {if, then, else, expr, others}, P 2, A, wobei P 2 = { A T TE T if expr then A if expr then TE else T TE if expr then TE else TE others } In G 2 besitzt w nur eine einzige Linksableitung: A L T L if expr then A L if expr then TE L if expr then if expr then TE else TE L if expr then if expr then others else TE L if expr then if expr then others else others = w 21

22 In mehrdeutigen Grammatiken gibt es Wörter mit mehreren Interpretationen. Problem für die weitere Verarbeitung Problem von G 1 : Die Zugehörigkeit der else-zweige zu den ifs ist nicht eindeutig festgelegt. G 2 : Jeder else-zweig gehört zum letzten unvollständigen if. 22

23 Inhärent mehrdeutige Sprachen Sei L = L 1 L 2, wobei L ist kontextfrei: L 1 = { a m b m c n m, n 0 } L 2 = { a m b n c n m, n 0 } S 1 S 1 c A A a A b ε S S 1 S 2 S 2 a S 2 B B b B c ε Die Grammatik ist mehrdeutig: a n b n c n besitzt zwei Linksableitungen. Man kann zeigen, dass alle Grammatiken für L mehrdeutig sind, d.h., L ist inhärent mehrdeutig. 23

24 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 24

25 Backus-Naur-Form (BNF) Synonym für kontextfreie Produktionen Historische Notation: Nonterminale in spitzen Klammern Terminale unter Anführungszeichen ::= als Trennsymbol Durch diese Konvention entfällt die Notwendigkeit, die Mengen der Nonterminale (V ) und der Terminale (T ) anzugeben. Real ::= Digit Digits "." Digits Scale Digit ::= "0" "9" Digits ::= ε Digit Digits Scale ::= ε "E" Sign Digit Digits Sign ::= ε "+" "-" 25

26 Erweiterte Backus-Naur-Form (Ebnf) Regular Right Part Grammar (Rrpg) erlaubt reguläre Ausdrücke auf rechter Seite der Produktionen Bessere Lesbarkeit durch Vermeidung von Rekursionen und Leerwörtern Kompaktere Spezifikationen keine echte Erweiterung: Ebnf-Notationen lassen sich eliminieren Elimination der Ebnf-Notation: A w 1 (w 2 ) w 3 entspricht A w 1 B w 3 B w 2 A w 1 {w 2 } w 3 entspricht A w 1 B w 3 B ε w 2 B A w 1 [w 2 ] w 3 entspricht A w 1 B w 3 B ε w 2 26

27 Listen von Bezeichnern Ebnf: IdList Id { "," Id } Ohne Ebnf: oder IdList Id B B ε "," Id B IdList Id "," Id IdList Skalierungsfaktor der reellen Numerale Ebnf: Scale "E" ["+" "-"] Digit {Digit} Ohne Ebnf: Scale "E" B 1 Digit B 2 B 1 ε "+" "-" B 2 ε Digit B 2 27

28 Syntaxdiagramme Mit rekursiven Diagrammen können beliebige kontextfreie Grammatiken in Ebnf dargestellt werden. Wohlgeklammerte Ausdrücke W = ( W ) W W W ( W ) ε W W 28

29 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 29

30 Style Guide für Grammatiken Wiederholungsoperator statt Rekursion (wenn möglich). Schlecht: A a A A oder A a a A Besser: a { a } oder a + oder... (je nach gewählter Notation) Optionsoperator statt Leerwort. Schlecht: ε A Besser: [ A ] oder A? oder... (je nach gewählter Notation) 30

31 Modularisierung statt Duplizierung. Schlecht: Identifier ("a" "z") { "a" "z" "0" "9" } Besser: Identifier Letter { Letter Digit } Letter "a" "z" Digit "0" "9" Verwendung sprechender Namen. Schlecht: X Y { Y Z } Y "a" "z" Z "0" "9" Besser: Siehe oben. 31

32 Klare Unterscheidung zwischen Terminalen, Nonterminalen und Metanotationen. Schlecht: \begin{tabular}[[position]]{spalte{spalte}} Besser: "\begin{tabular}" [ "[" Position "]" ] "{" Spalte { Spalte } "}" "\begin{tabular}" [ "[" Position "]" ] "{" Spalte { Spalte } "}" Inhaltliche Strukturierung statt Minimierung der Nonterminale und Regeln. Schlecht: "\begin{tabular}" [ "[" ("t" "b") "]" ] "{" ("l" "c" "r") { "l" "c" "r" } "}" Besser:... "\begin{tabular}" [ Position ] Spalten Position "[b]" "[t]" Spalten "{" Spalte { Spalte } "}" Spalte "l" "c" "r" 32

33 Beispiel: Tabellen in L A TEX TEX... Textsatzsystem von Donald E. Knuth L A TEX... TEX-Makros für logisches Markup von Leslie Lamport \begin{tabular}[t]{lc} Eintrag 11 & Eintrag 12 \\ Eintrag 21 & \begin{tabular}{rr} Eintrag 22 & ist selber \\ eine & Tabelle. \end{tabular}\\ Eintrag 31 & Eintrag 32 \end{tabular} Eintrag 11 Eintrag 12 Eintrag 21 Eintrag 22 ist selber eine Tabelle. Eintrag 31 Eintrag 32 Gesucht: Kontextfreie Grammatik G in Ebnf für die Sprache der L A TEX-Tabellen 33

34 Beispiel: Tabellen in L A TEX G = V, T, P, Tabelle, wobei: P = { Tabelle "\begin{tabular}" [ Position ] Spalten Zeilen "\end{tabular}", Position "[b]" "[t]", Spalten "{" Spalte { Spalte } "}", Spalte "l" "c" "r", Zeilen Zeile { "\\" Zeile }, Zeile Eintrag { "&" Eintrag }, Eintrag { Tabelle Zeichen }, Zeichen "0" "9" "a" "Z" "." " " } V = {Tabelle, Position, Spalten, Spalte, Zeilen, Zeile, Eintrag, Zeichen} T = { "0",..., "9", "a",..., "z", "A",..., "Z", ".", " ", "{", "}", "[", "]", "&", "\" } Nur eine Rekursion für Schachtelung der Tabellen notwendig! 34

35 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 35

36 N. Wirth: Programming in Modula-2 36

37 N. Wirth: Programming in Modula-2 36

38 J. Gosling et al.: Java Language Specification ( ) SYNTAX CHAPTER18 THIS chapter presents a grammar for the Java programming language. Syntax The grammar presented piecemeal in the preceding chapters ( 2.3) is much better for exposition, but it is not well suited as a basis for a parser. The grammar presented in this chapter is the basis for the reference implementation. Note that it is not an LL(1) grammar, though in many cases it minimizes the necessary look ahead. The grammar below uses the following BNF-style conventions: [x] denotes zero or one occurrences of x. {x} denotes zero or more occurrences of x. x y means one of either x or y. Identifier: IDENTIFIER QualifiedIdentifier: Identifier {. Identifier } QualifiedIdentifierList: QualifiedIdentifier {, QualifiedIdentifier } EnumBody: { [EnumConstants] [,] [EnumBodyDeclarations] } EnumConstants: EnumConstant EnumConstants, EnumConstant EnumConstant: [Annotations] Identifier [Arguments] [ClassBody] EnumBodyDeclarations: ; {ClassBodyDeclaration} AnnotationTypeBody: { [AnnotationTypeElementDeclarations] } AnnotationTypeElementDeclarations: AnnotationTypeElementDeclaration AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration AnnotationTypeElementDeclaration: {Modifier} AnnotationTypeElementRest AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest ; ClassDeclaration InterfaceDeclaration EnumDeclaration AnnotationTypeDeclaration AnnotationMethodOrConstantRest: AnnotationMethodRest ConstantDeclaratorsRest AnnotationMethodRest: ( ) [[]] [default ElementValue]

39 J. Gosling et al.: Java Language Specification ( ) SYNTAX CHAPTER18 THIS chapter presents a grammar for the Java programming language. Syntax The grammar presented piecemeal in the preceding chapters ( 2.3) is much better for exposition, but it is not well suited as a basis for a parser. The grammar presented in this chapter is the basis for the reference implementation. Note that it is not an LL(1) grammar, though in many cases it minimizes the necessary look ahead. The grammar below uses the following BNF-style conventions: [x] denotes zero or one occurrences of x. {x} denotes zero or more occurrences of x. x y means one of either x or y. Identifier: IDENTIFIER QualifiedIdentifier: Identifier {. Identifier } QualifiedIdentifierList: QualifiedIdentifier {, QualifiedIdentifier } EnumBody: { [EnumConstants] [,] [EnumBodyDeclarations] } EnumConstants: EnumConstant EnumConstants, EnumConstant EnumConstant: [Annotations] Identifier [Arguments] [ClassBody] EnumBodyDeclarations: ; {ClassBodyDeclaration} AnnotationTypeBody: { [AnnotationTypeElementDeclarations] } AnnotationTypeElementDeclarations: AnnotationTypeElementDeclaration AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration AnnotationTypeElementDeclaration: {Modifier} AnnotationTypeElementRest AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest ; ClassDeclaration InterfaceDeclaration EnumDeclaration AnnotationTypeDeclaration AnnotationMethodOrConstantRest: AnnotationMethodRest ConstantDeclaratorsRest AnnotationMethodRest: ( ) [[]] [default ElementValue]

40 J. Gosling et al.: Java Language Specification ( ) SYNTAX CHAPTER18 THIS chapter presents a grammar for the Java programming language. Syntax The grammar presented piecemeal in the preceding chapters ( 2.3) is much better for exposition, but it is not well suited as a basis for a parser. The grammar presented in this chapter is the basis for the reference implementation. Note that it is not an LL(1) grammar, though in many cases it minimizes the necessary look ahead. The grammar below uses the following BNF-style conventions: [x] denotes zero or one occurrences of x. {x} denotes zero or more occurrences of x. x y means one of either x or y. Identifier: IDENTIFIER QualifiedIdentifier: Identifier {. Identifier } QualifiedIdentifierList: QualifiedIdentifier {, QualifiedIdentifier } EnumBody: { [EnumConstants] [,] [EnumBodyDeclarations] } EnumConstants: EnumConstant EnumConstants, EnumConstant EnumConstant: [Annotations] Identifier [Arguments] [ClassBody] EnumBodyDeclarations: ; {ClassBodyDeclaration} AnnotationTypeBody: { [AnnotationTypeElementDeclarations] } AnnotationTypeElementDeclarations: AnnotationTypeElementDeclaration AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration AnnotationTypeElementDeclaration: {Modifier} AnnotationTypeElementRest AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest ; ClassDeclaration InterfaceDeclaration EnumDeclaration AnnotationTypeDeclaration AnnotationMethodOrConstantRest: AnnotationMethodRest ConstantDeclaratorsRest AnnotationMethodRest: ( ) [[]] [default ElementValue]

41 J. Gosling et al.: Java Language Specification ( ) SYNTAX CHAPTER18 THIS chapter presents a grammar for the Java programming language. Syntax The grammar presented piecemeal in the preceding chapters ( 2.3) is much better for exposition, but it is not well suited as a basis for a parser. The grammar presented in this chapter is the basis for the reference implementation. Note that it is not an LL(1) grammar, though in many cases it minimizes the necessary look ahead. The grammar below uses the following BNF-style conventions: [x] denotes zero or one occurrences of x. {x} denotes zero or more occurrences of x. x y means one of either x or y. Identifier: IDENTIFIER QualifiedIdentifier: Identifier {. Identifier } QualifiedIdentifierList: QualifiedIdentifier {, QualifiedIdentifier } EnumBody: { [EnumConstants] [,] [EnumBodyDeclarations] } EnumConstants: EnumConstant EnumConstants, EnumConstant EnumConstant: [Annotations] Identifier [Arguments] [ClassBody] EnumBodyDeclarations: ; {ClassBodyDeclaration} AnnotationTypeBody: { [AnnotationTypeElementDeclarations] } AnnotationTypeElementDeclarations: AnnotationTypeElementDeclaration AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration AnnotationTypeElementDeclaration: {Modifier} AnnotationTypeElementRest AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest ; ClassDeclaration InterfaceDeclaration EnumDeclaration AnnotationTypeDeclaration AnnotationMethodOrConstantRest: AnnotationMethodRest ConstantDeclaratorsRest AnnotationMethodRest: ( ) [[]] [default ElementValue]

42 N. Wirth: Programming in Modula-2 38

43 N. Wirth: Programming in Modula-2 38

44 N. Wirth: Programming in Modula-2 38

45 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 39

46 Jenseits der Kontextfreiheit Formale Sprachen { a n b n c n n 0 } ist nicht kontextfrei. Formale Sprachen { ww w {a, b, c} } ist nicht kontextfrei. Programmiersprachen Typen- und Deklarationsbedinungen nicht oder nur schwer kontextfrei darstellbar. Natürliche Sprachen (Schweizer Dialekt) Mer d chind em Hans es huus haend wele laa hälfe aastriiche. Wir wollten die Kinder dem Hans helfen lassen das Haus anzustreichen. 40

47 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 41

48 Sokrates aus Sicht der Aussagenlogik Alle Menschen sind sterblich. Sokrates ist ein Mensch. Sokrates ist sterblich. A B C A, B = C Clipart courtesy FCIT Die Prämissen und die Konklusion sind für die Aussagenlogik atomar. Können nur durch (drei unabhängige) Variablen modelliert werden. Keine korrekte Inferenz! Keine Berücksichtigung der inneren Struktur der Aussagen: alle Menschen, ist sterblich, ist Mensch,... Aussagenlogik zu ausdrucksschwach für eine adäquate Modellierung! Prädikatenlogik: Erweiterung der Aussagenlogik um Quantoren: für alle ( ), es gibt ( ) Prädikatensymbole: Mensch(x)... x ist ein Mensch Funktionsterme: Mensch(mutter(sokrates))... Sokrates Mutter ist ein Mensch 42

49 Sokrates aus Sicht der Prädikatenlogik Clipart courtesy FCIT Alle Menschen sind sterblich. Sokrates ist ein Mensch. Sokrates ist sterblich. Warum ist das eine korrekte Inferenz? x (Mensch(x) Sterblich(x)) Mensch(sokrates) Sterblich(sokrates) x P(x) = P(t) (Instanziierungsregel) Wenn P für alle x gilt, dann gilt P für jedes spezielle Objekt t. x(mensch(x) Sterblich(x)) = Mensch(sokrates) Sterblich(sokrates) A, A B = B (Modus ponens) Wenn A gilt und wenn B aus A folgt, dann gilt auch B. Mensch(sokrates), Mensch(sokrates) Sterblich(sokrates) = Sterblich(sokrates) Mensch(sokrates) x(mensch(x) Sterblich(x)) Mensch(sokrates) Sterblich(sokrates) Sterblich(sokrates) 43

50 Funktions-, Prädikaten- und Variablensymbole F... Menge der Funktionssymbole; besitzen Stelligkeit (Arität) f /n F... f ist ein n-stelliges Funktionssymbol. (f benötigt n Argumente.) f /0... nullstelliges Funktionssymbol, Konstantensymbol P... Menge der Prädikatensymbole; besitzen Stelligkeit (Arität) P/n P... P ist ein n-stelliges Prädikatensymbol. (P benötigt n Argumente.) P/0... nullstelliges Prädikatensymbol, entspricht Aussagenvariable V = {x, y, z, x 0, x 1,... }... Individuenvariablensymbole Mensch(mutter(sokrates)), Sterblich(x) Funktionssymbole: mutter/1, sokrates/0 Prädikatensymbole: Mensch/1, Sterblich/1 Variablensymbol: x 44

51 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 45

52 Terme... bestehen aus Variablen- und Funktionssymbolen.... ermöglichen die Bildung von Ausdrücken wie 3 sin(x + 2).... sind eine allgemeine Repräsentationsform für hierarchische Strukturen. Terme über F und V Die Menge T (F, V), kurz T, der Terme über F und V ist die kleinste Menge, für die gilt: (t1) V T (t2) f T, falls f /0 F. (t3) f (t 1,..., t n ) T, falls f /n F und t 1,..., t n T. Individuenvariablen sind Terme. Konstantensymbole sind Terme. Funktionssymbole mit der passenden Zahl an Termargumenten sind Terme. Notation: Pre-/Postfixnotation für manche unären (n = 1) Funktionssymbole Infixnotation für manche binären (n = 2) Funktionssymbole Klammerneinsparungen durch Prioritäten 46

53 Verschiedene Terme 3 sin(x + 2) bzw. (3, sin(+(x, 2))) s(s(s(0))) Darstellung der Zahl 3 = 1 + (1 + (1 + 0)) f (a, f (b, f (c, nil))) Darstellung der Liste [a, b, c] g(f (a), g(a, (f (x)))) ist ein Term, falls a/0, f /1, g/2 F und x V. g/2 F a/0 F a/0 F f /1 F x V x T t2 t2 f /1 F a T g/2 F a T f (x) T f (a) T t3 t3 g(a, (f (x))) T g(f (a), g(a, (f (x)))) T (F, VS) t3 t1 t3 Die Menge der Terme, T (F, V), ist die kleinste Menge, sodass: (t1) v T, falls v V. (t2) f T, falls f /0 F. (t3) f (t 1,..., t n ) T, falls f /n F und t 1,..., t n T. 47

54 Aussagenlogische Formeln sind Terme. Sei V = {A, B, C,... } und F = { /0, /0, /1, /2, /2,... }. Dann ist T (F, V) die Menge der aussagenlogischen Formeln (unter Verwendung der Infixnotation für binäre Operatoren). (A B) C entspricht ( (A, B), C). A (B C) entspricht (A, (B, C)). Reguläre Ausdrücke sind Terme. Sei V = {} und F = {ε/0, /0, +/2, /2, /1} { s/0 s Σ }. Dann ist T (F, V) die Menge der regulären Ausdrücke über Σ. (+ und werden infix notiert, wird nicht angeschrieben, und ist ein Postfixoperator). So ziemlich alles lässt sich als Term auffassen... 48

55 Semantik von Termen Variablensymbole: Wert abhängig von momentaner Wertebelegung Konstanten- und Funktionssymbole: Vordefinierte Symbole: feste, unveränderliche Bedeutung (fix eingebaut in Termsemantik) Freie Symbole: Interpretation als Konstante bzw. Funktionen Interpretation Eine Interpretation I über einem Wertebereich U ordnet jedem Funktionssymbol aus F eine Funktion wie folgt zu: I(f ) U für f /0 F I(f ): U n U für f /n F, n > 0 49

56 Arithmetische Ausdrücke (wie etwa (x+1)*(x+1+1)) F = {0, 1, +, -, *} U = Z = {..., 2, 1, 0, 1, 2,... } I(0) = 0 I(1) = 1 I(+) = + I(-) = I(*) = (Addition) (Subtraktion) (Multiplikation) Aussagenlogik F = { /0, /0, /1, /2, /2,... } U = B = {0, 1} I( ) = 1 I( ) = 0 I( ) = not I( ) = and... Reguläre Ausdrücke F = {ε/0, /0, +/2, /2, /1} { s/0 s Σ } U = 2 Σ I(ε) = {ε} I( ) = {} I(s) = {s} I(+) = I( ) = I( ) = 50

57 σ : V U... Wertebelegung für die Variablensymbole Semantik von Termen Der Wert eines Terms in einer Interpretation I mit Variablenbelegung σ wird festgelegt durch die Funktion val I,σ, definiert als: (v1) val I,σ (v) = σ(v) für v V; (v2) val I,σ (f ) = I(f ) für f /0 F; (v3) val I,σ (f (t 1,..., t n )) = I(f )(val I,σ (t 1 ),..., val I,σ (t n )) für f /n F, n > 0. Wert von (x+1)*(x+1+1) für σ(x) = 0 Arithmetik: U = Z, I 1 (1) = 1, I 1 (+) = +, I 1 (*) = val I1,σ((x+1)*(x+1+1)) = (0 + 1) ( ) = 2 Aussagenlogik: U = B, I 2 (1) = 1, I 2 (+) = or, I 2 (*) = and val I2,σ((x+1)*(x+1+1)) =and (or (0, 1), or (0, or (1, 1))) = 1 51

58 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 52

59 Prädikatenlogik Syntax V... Individuenvariablensymbole F, P... Funktions- bzw. Prädikatensymbole mit Stelligkeiten (F, P)... Signatur Syntax prädikatenlogischer Formeln Die Menge PF der prädikatenlogischen Formeln über der Signatur (F, P) ist die kleinste Menge, für die gilt: (p1) P PF, wenn P/0 P; (p2) P(t 1,..., t n ) PF, wenn P/n P und t 1,..., t n T (F, V); (p3), PF; (p4) F PF, wenn F PF; (p5) (F G) PF, wenn F, G PF und {,,,,,,, }. (p6) x F PF, wenn x V und F PF. (p7) x F PF, wenn x V und F PF. P, P(t 1,..., t n )... Atomformeln 53

60 x (Mensch(x) Sterblich(x)) ist eine Formel Mensch/1 und Sterblich/1 sind Prädikatensymbole. x V x V Mensch/1 P x T t1 x V Sterblich/1 P x T t1 p2 p2 Mensch(x) PF Sterblich(x) PF p5 (Mensch(x) Sterblich(x)) PF p6 x (Mensch(x) Sterblich(x)) PF 54

61 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 55

62 Prädikatenlogik Semantik Prädikatensymbole: repräsentieren Relationen bzw. Elementaraussagen Vordefinierte Symbole wie und : feste, unveränderliche Bedeutung (fix eingebaut in Formelsemantik) Freie Symbole: Interpretation durch Relationen bzw. Wahrheitswerte (Prädikatenlogische) Interpretation Eine Interpretation I über einem Wertebereich U ordnet jedem Symbol der Signatur (F, P) eine Funktion bzw. Relation wie folgt zu: I(f ) U für f /0 F I(f ): U n U für f /n F, n > 0 I(P) {0, 1} für P/0 P I(P) U n für P/n P, n > 0 I(P): U n {0, 1} (alternative Sichtweise) 56

63 Nullstellige Prädikatensymbole = Aussagenvariablen Zwei Interpretationsmöglichkeiten für P/0 P: I(P) = 0 oder I(P) = 1. Einstellige Prädikatensymbole = Typen, Klassen Sei Mann/1, Frau/1 P und U = {Andrea, Anna, Hans, Maria, Tom}. I(Mann) und I(Frau) als Mengen:... oder als Funktionen: I(Mann) = {Andrea, Hans, Tom} I(Frau) = {Andrea, Anna, Maria} x I(Mann)(x) I(Frau)(x) Andrea 1 1 Anna 0 1 Hans 1 0 Maria 0 1 Tom

64 Mehrstellige Prädikatensymbole = Relationen, Beziehungen Sei </2 P und U = N. I(<) als Menge: I(<) = { (m, n) m < n } = {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3),... }... oder als Funktion: { 1 falls m < n I(<)(m, n) = 0 sonst Sei Plus/3 P und U = N. I(Plus) als Menge: I(Plus) = { (k, l, m) k + l = m }... oder als Funktion: = {(0, 0, 0), (1, 0, 1), (0, 1, 1), (2, 0, 2) (1, 1, 2) (0, 2, 2),... } I(Plus)(k, l, m) = { 1 falls k + l = m 0 sonst 58

65 Semantik prädikatenlogischer Formeln Der Wert einer Formel in einer Interpretation I mit Variablenbelegung σ wird festgelegt durch die Funktion val I,σ, definiert als: (v1) val I,σ (P) = I(P) für P/0 P; (v2) val I,σ (P(t 1,..., t n )) = I(P)(val I,σ (t 1 ),..., val I,σ (t n )) für P/n P; (v3) val I,σ ( ) = 1 und val I,σ ( ) = 0; (v4) val I,σ ( F ) = not val I,σ (F ); (v5) val I,σ ( (F G) ) = val I,σ (F ) val I,σ (G), wobei die logische Funktion zum Operator ist; { 1 falls vali,σ (F ) = 1 für alle σ x σ (v6) val I,σ ( x F ) = 0 sonst { 1 falls vali,σ (F ) = 1 für mind. ein σ x σ (v7) val I,σ ( x F ) = 0 sonst σ x σ... σ(v) = σ (v) für alle v V mit v x (σ und σ sind identisch, nur σ(x) und σ (x) können verschieden sein.) 59

66 x y P(x, s(y)) ist wahr... falls wir U = N, I(s)(n) := n 1 und I(P)(m, n) := (m = n) wählen (Variablenbelegungen σ beliebig): val I,σ ( x y P(x, s(y))) = 1 val I,σ ( y P(x, s(y)) = 1 für alle σ x σ val I,σ (P(x, s(y))) = 1 für mind. ein σ y σ und alle σ x σ I(P)(val I,σ (x), val I,σ (s(y))) = 1 für mind. ein σ y σ und alle σ x σ σ (x) = σ (y) 1 für mind. ein σ y σ und alle σ x σ Wir wählen jene Variablenbelegung σ, für die σ (y) = σ (x) + 1 gilt: σ (x) = (σ (x) + 1) 1 Gilt, daher ist x y P(x, s(y)) wahr in dieser Interpretation. 60

67 x y P(x, s(y)) ist falsch... falls wir U = N, I(s)(n) := n + 1 und I(P)(m, n) := (m = n) wählen (Variablenbelegungen σ beliebig): val I,σ ( x y P(x, s(y))) = 1 val I,σ ( y P(x, s(y)) = 1 für alle σ x σ val I,σ (P(x, s(y))) = 1 für mind. ein σ y σ und alle σ x σ I(P)(val I,σ (x), val I,σ (s(y))) = 1 für mind. ein σ y σ und alle σ x σ σ (x) = σ (y) + 1 für mind. ein σ y σ und alle σ x σ Problem: Für σ (x) = σ (x) = 0 besitzt die Gleichung keine Lösung in N: σ (x) σ (y) + 1 für alle σ y σ x y P(x, s(y)) ist daher falsch in dieser Interpretation. 61

68 Eine Formel F heißt erfüllbar, wenn val I,σ (F ) = 1 für mindestens ein I und ein σ (I und σ nennt man Modell von F ); widerlegbar, wenn val I (F ) = 0 für mindestens ein I und ein σ (I und σ nennt man Gegenbeispiel oder Gegenmodell zu F ); unerfüllbar, wenn val I (F ) = 0 für alle I und alle σ; (allgemein)gültig, wenn val I,σ (F ) = 1 für alle I und alle σ (F nennt man in diesem Fall auch Tautologie). F ist meist eine geschlossene Formel: alle Variablen sind durch Quantoren gebunden. Dann ist die Variablenbelegung irrelevant für den Formelstatus. x y P(x, s(y)) ist eine geschlossene Formel. y P(x, s(y)) ist eine offene Formel: x ist durch keinen Quantor gebunden. P(x) x P(x) ist offen: erstes Vorkommen von x ist ungebunden (frei). 62

69 Gültige Formeln Jede gültige Formel der Aussagenlogik liefert gültige PF-Formeln, wenn Aussagenvariablen durch PF-Formeln ersetzt werden, etwa: A A P(x) P(x) x P(x) x P(x) x P(x) x P(x) x y P(x, y) y x P(x, y) Unerfüllbare Formeln Jede unerfüllbare Formel der Aussagenlogik liefert unerfüllbare PF-Formeln, wenn Aussagenvariablen durch PF-Formeln ersetzt werden, etwa: A A P(x) P(x) x P(x) x P(x) x P(x) x P(x) 63

70 Formeln, die sowohl erfüll- als auch widerlegbar sind P(x) P(y) x P(x) x P(x) x P(x) x P(x) x P(x) x P(x) x y (P(x, y) P(y, x)) 64

71 Äquivalenz, Konsequenz und Gültigkeit Semantische Äquivalenz Zwei Formeln F und G heißen äquivalent, geschrieben F = G, wenn val I,σ (F ) = val I,σ (G) für alle I und alle σ gilt. F 1,..., F n = I,σ G: Aus val I,σ (F 1 ) = = val I,σ (F n ) = 1 folgt val I,σ (G) = 1. Logische Konsequenz F 1,..., F n = G: F 1,..., F n = I,σ G gilt für alle I und σ. Die Formeln F und G sind äquivalent (F = G) genau dann, wenn F G eine gültige Formel ist. F 1,..., F n = G genau dann, wenn (F 1 F n ) G gültig. 65

72 Wichtige Äquivalenzen Neben den aussagenlogischen Äquivalenzen gelten auch noch folgende: x F = x F x F = x F x F [x] = y F [y] x F [x] = y F [y] x y F = y x F x y F = y x F x (F G) = x F x G x (F G) = x F x G Dualität von und Umbenennung gebundener Variablen Vertauschung gleichartiger Quantoren Distributivität / Distributivität / Falls x nicht frei in F vorkommt, gilt außerdem: x F = F x F = F x (F G) = F x G x (F G) = F x G Distributivität / Distributivität / 66

73 Das Lügnerparadoxon Ich behaupte: Ich lüge! Sage ich die Wahrheit? Wenn ich die Wahrheit sage, ist Ich lüge richtig, d.h., ich sage nicht die Wahrheit. Widerspruch! Wenn ich nicht die Wahrheit sage, ist Ich lüge falsch, d.h., ich sage die Wahrheit. Widerspruch! Das Kreter paradoxon Der Kreter Epimenides behauptet: Alle Kreter lügen!. Sagt Epimenides die Wahrheit? Wenn ja, lügen alle Kreter, also auch er. Widerspruch! Wenn nein, ist es falsch, dass alle Kreter lügen. Trugschluss: Alle Kreter sagen die Wahrheit! (Also auch Epimenides?) Richtig: Es gibt mindestens einen aufrichtigen Kreter. Kein Widerspruch. Falsch: = Richtig: = 67

74 Das Gültigkeitsproblem der Prädikatenlogik Gültigkeitsproblem Gegeben: prädikatenlogische Formel F Frage: Ist F gültig, d.h., gilt val I,σ (F ) = 1 für alle I und σ? Viele praktische Aufgaben lassen sich als Probleme der Prädikatenlogik formulieren, wie z.b. Verifikation von Software Wissensrepräsentation Die meisten prädikatenlogischen Fragen lassen sich als Gültigkeitsproblem formulieren. Problem: Das Gültigkeitsproblem der Prädikatenlogik ist unentscheidbar. Das bedeutet: Ist die Formel gültig, lässt sich mit verschiedenen Methoden ein Beweis finden (kann allerdings beliebig lange dauern). Ist die Formel nicht gültig, lässt sich das mit keiner Methode zuverlässig feststellen. Beweiser terminieren in diesem Fall meist nicht.68

75 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 69

76 Wahl der Prädikatenstelligkeit Max liest Zeitung. Nullstelliges Prädikat (Aussagenvariable): Max_liest_Zeitung Einstelliges Prädikat: Liest_Zeitung(max) Zweistelliges Prädikat: Liest(max, zeitung) Die beste Wahl hängt von den Umständen ab. Wähle ein eigenes Symbol für Satzteile, die öfter auftreten (können). 70

77 Zeit-, Eigenschafts- und Hauptwörter Sokrates ist sterblich. Möglichkeit 1: Hauptwort wird zum Prädikat. Sokrates_ist(sterblich) Möglichkeit 2: Zeit-/Eigenschaftswort wird zum Prädikat. Ist_sterblich(sokrates) Die zweite Möglichkeit ist fast immer die richtige. Mache Zeitwörter bzw. Eigenschaften zu Prädikatensymbole und Hauptwörter zu ihren Argumenten. 71

78 Fürwörter (Pronomen) Persönliche Fürwörter (ich, du, er, sie, es,... ) oder bezügliche Fürwörter (der, welcher,... ) vermeiden Wiederholungen und stellen Bezüge her. Mia liebt Max, der wiederum sie liebt. Umformung in Mia liebt Max und Max liebt Mia. ergibt die Formel Liebt(mia, max) Liebt(max, mia) Ersetze Fürwörter durch Namen. Wiederhole Satzteile, die durch Fürwörter ersetzt wurden. 72

79 Unbestimmte Fürwörter wie nichts ziehen Subjekt/Objekt und Negation zusammen. Nichts währt ewig. Trenne Verneinung und Subjekt: Es existiert nicht etwas, das ewig währt. Ergibt die Formel x Währt_ewig(x) Ich kann nichts sehen. x Kann_sehen(gernot, x) Führe Variablen für unbestimmte Fürwörter ein. Mache Negationen explizit. 73

80 Fürwörter und Bindewörter Vor mir ist etwas Großes, und es ist hungrig. Die zwei Teilsätze können nicht getrennt behandet werden: es bezieht sich auf etwas Großes. Die entsprechende Variable muss überall dieselbe sein. Es gibt etwas, das vor mir ist, das groß ist, und das hungrig ist. x (Befindet_sich_vor(x,gernot) Groß(x) Hungrig(x)) Erstrecken sich die Bezüge von Fürwörtern über Bindewörter hinweg, behandle die Fürwörter vor den Bindewörtern. 74

81 Quantoren, Typen und Beziehungen Jeder Student ist jünger als irgendein Professor. Identifiziere Objekt-/Personenarten und stelle sie durch einstellige Typprädikate dar. ist Student Stud(... ) ist Professor Prof (... ) Max ist Student. Gernot ist Professor. Jemand ist Student. Stud(max) Prof (gernot) Stud(x) Identifiziere Beziehungen (Relationen) und formalisiere sie durch mehrstellige Prädikatensymbole. ist jünger als Jünger(...,... ) Max ist jünger als Gernot. Jünger(max, gernot) 75

82 Quantoren, Typen und Beziehungen Jeder Student ist jünger als irgendein Professor. Verwende -Quantoren für alle / jede und -Quantoren für es gibt / jemand / irgendein. x (Stud(x) y (Prof (y) Jünger(x, y))) Für alle Individuen x gilt: Falls x ein Student ist, gibt es mindestens ein Individuum y, sodass y Professor ist und x jünger als y ist. 76

83 Funktionssymbole Jedes Kind ist jünger als seine Mutter. x ist ein Kind Kind(x) y ist Mutter von x Mutter(y, x) x y((kind(x) Mutter(y, x)) Jünger(x, y)) Diese Formalisierung berücksichtigt nicht, dass jedes Kind genau eine genetische Mutter hat. Besser: Fasse Mutter als Funktion auf, die jedem Kind seine eindeutig bestimmte Mutter zuordnet. Mutter von x mutter(x) x (Kind(x) Jünger(x, mutter(x)) 77

84 Alternierende Quantoren Vergleichen Sie: x y Mutter(y, x) Jeder hat eine Mutter. y hängt vom gewählten x ab. y x Mutter(y, x) Jemand ist die Mutter von allen. y ist unabhängig vom gewählten x. Vertauschung unterschiedlicher Quantoren ändert die Bedeutung! 78

85 Quantoren und Eigenschaften Alle vernünftigen Leute verabscheuen Gewalt. vernünftige x (x verabscheut Gewalt) x (Vernünftig(x) Verabscheut(x, gewalt)) (Zwischenschritt, ist keine Formel!) Eigenschaften -quantifizierter Variablen werden zu Prämissen einer Implikation. Es gibt vernünftige Leute, die Gewalt verabscheuen. vernünftige x (x verabscheut Gewalt) x (Vernünftig(x) Verabscheut(x, gewalt)) (Zwischenschritt, ist keine Formel!) Eigenschaften -quantifizierter Variablen werden zu Teilen einer Konjunktion. 79

86 Was Sie heute erwartet 6. Kontextfreie Grammatiken 6.1. Definition 6.2. Beispiele 6.3. Mehrdeutigkeit 6.4. Andere Notationen 6.5. Style Guide für Grammatiken 6.6. Grammatiken in freier Wildbahn 6.7. Jenseits der Kontextfreiheit 7. Prädikatenlogik 7.1. Motivation 7.2. Terme 7.3. Syntax 7.4. Semantik 7.5. Modellierung 8. Petri-Netze 80

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 2016 1 Inhalt 0. Überblick 1. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

Was Sie letztes Mal hörten. 3.0 VU Formale Modellierung. Was Sie letztes Mal hörten. Reguläre Sprachen. Regulären Sprachen über einem Alphabet

Was Sie letztes Mal hörten. 3.0 VU Formale Modellierung. Was Sie letztes Mal hörten. Reguläre Sprachen. Regulären Sprachen über einem Alphabet Was Sie letztes Mal hörten 3.0 VU Formale Modellierung Gernot Salzer 17.4.2012 4. Endliche Automaten 4.8. Beispiel: Flussüberquerung 5. Reguläre Sprachen 5.1. Operationen auf formalen Sprachen 5.2. Definition

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 2016 1 Inhalt 0. Überblick 1. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen 1. Was ist eine formale Sprache? Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind. Zeichenkette:

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 19 & Die ist eine Erweiterung der Aussagenlogik. Sie hat eine größere Ausdrucksstärke und erlaub eine feinere Differenzierung. Ferner sind Beziehungen/Relationen

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 206 Inhalt 0. Überblick. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004

Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004 Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004 In der letzten Vorlesung haben wir gesehen, wie man die einzelnen Zahlenbereiche aufbaut. Uns fehlen nur noch die reellen Zahlen (siehe

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer 25.10.2011 1 Was Sie letzte Woche hörten 4. Endliche Automaten 4.1. Einleitung 4.2. Anwendungsbeispiele 4.3. Grundlagen formaler Sprachen 4.4. Deterministische

Mehr

Was Sie letzte Woche hörten. 3.0 VU Formale Modellierung. Formale Sprachen. Was Sie letzte Woche hörten

Was Sie letzte Woche hörten. 3.0 VU Formale Modellierung. Formale Sprachen. Was Sie letzte Woche hörten Was Sie letzte Woche hörten 3. VU Formale Modellierung Gernot Salzer 25..2 4. Endliche Automaten 4.. Einleitung 4.2. Anwendungsbeispiele 4.3. Grundlagen formaler Sprachen 4.4. Deterministische endliche

Mehr

Wiederholung Signatur, Terme

Wiederholung Signatur, Terme Was bisher geschah (algebraische) Strukturen zur zusammenhängenden Modellierung von Mengen von Individuen (evtl. verschiedener Typen) Funktionen auf Individuen dieser Mengen Relationen zwischen Individuen

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

Normalformen boolescher Funktionen

Normalformen boolescher Funktionen Normalformen boolescher Funktionen Jeder boolesche Ausdruck kann durch (äquivalente) Umformungen in gewisse Normalformen gebracht werden! Disjunktive Normalform (DNF) und Vollkonjunktion: Eine Vollkonjunktion

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Namen von Objekten des Diskursbereichs (z. B. Substantive des natürlichsprachlichen Satzes)

Namen von Objekten des Diskursbereichs (z. B. Substantive des natürlichsprachlichen Satzes) Prädikatenlogik Aussagen wie Die Sonne scheint. die in der Aussagenlogik atomar sind, werden in der Prädikatenlogik in Terme (sonne) und Prädikate (scheint) aufgelöst und dann dargestellt als z.b. Terme

Mehr

Wiederholung: Modellierung in Prädikatenlogik

Wiederholung: Modellierung in Prädikatenlogik Was bisher geschah Modellierung von Aussagen durch logische Formeln Daten durch Mengen, Multimengen, Folgen, Sprachen Zusammenhängen und Eigenschaften von Elementen von Mengen durch Relationen (Eigenschaften

Mehr

(Algebraische) Strukturen Beispiele (Träger-)Mengen (Individuenbereiche) mit Relationen (Eigenschaften, Beziehungen) und Funktionen (Operationen) auf

(Algebraische) Strukturen Beispiele (Träger-)Mengen (Individuenbereiche) mit Relationen (Eigenschaften, Beziehungen) und Funktionen (Operationen) auf Was bisher geschah Modellierung von Aussagen durch logische Formeln Daten durch Mengen, Multimengen, Folgen, Sprachen Zusammenhängen und Eigenschaften von Elementen von Mengen durch Relationen (Eigenschaften

Mehr

Prädikatenlogik. Quantoren. Quantoren. Quantoren. Quantoren erlauben Aussagen über Mengen von Objekten des Diskursbereichs, für die ein Prädikat gilt

Prädikatenlogik. Quantoren. Quantoren. Quantoren. Quantoren erlauben Aussagen über Mengen von Objekten des Diskursbereichs, für die ein Prädikat gilt Prädikatenlogik Aussagen wie Die Sonne scheint. die in der Aussagenlogik atomar sind, werden in der Prädikatenlogik in Terme (sonne) und Prädikate (scheint) aufgelöst und dann dargestellt als z.b. scheint(sonne)

Mehr

Logik I. Symbole, Terme, Formeln

Logik I. Symbole, Terme, Formeln Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v

Mehr

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie Was ist Logik? Geschichte der Logik eng verknüpft mit Philosophie Begriff Logik wird im Alltag vielseitig verwendet Logik untersucht, wie man aus Aussagen andere Aussagen ableiten kann Beschränkung auf

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws13/14

Mehr

Alphabet der Prädikatenlogik

Alphabet der Prädikatenlogik Relationen und Alphabet der Das Alphabet der besteht aus Individuenvariablen Dafür verwenden wir kleine Buchstaben vom Ende des deutschen Alphabets, auch indiziert, z. B. x, y, z, x 1, y 2,.... Individuenkonstanten

Mehr

Die Folgerungsbeziehung

Die Folgerungsbeziehung Kapitel 2: Aussagenlogik Abschnitt 2.1: Syntax und Semantik Die Folgerungsbeziehung Definition 2.15 Eine Formel ψ AL folgt aus einer Formelmenge Φ AL (wir schreiben: Φ = ψ), wenn für jede Interpretation

Mehr

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik Theorie der Informatik 3. März 2014 4. Prädikatenlogik I Theorie der Informatik 4. Prädikatenlogik I 4.1 Motivation Malte Helmert Gabriele Röger 4.2 Syntax der Prädikatenlogik Universität Basel 3. März

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 2: Logik 1 Prädikatenlogik (Einleitung) 2 Aussagenlogik Motivation Grundlagen Eigenschaften Eigenschaften Normalformen

Mehr

WS 2015/16 Diskrete Strukturen Kapitel 2: Grundlagen (Prädikatenlogik)

WS 2015/16 Diskrete Strukturen Kapitel 2: Grundlagen (Prädikatenlogik) WS 2015/16 Diskrete Strukturen Kapitel 2: Grundlagen (Prädikatenlogik) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Logik und Künstliche Intelligenz

Logik und Künstliche Intelligenz Logik und Künstliche Intelligenz Kurze Zusammenfassung (Stand: 14. Januar 2010) Prof. Dr. V. Stahl Copyright 2007 by Volker Stahl. All rights reserved. V. Stahl Logik und Künstliche Intelligenz Zusammenfassung

Mehr

Was bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 =

Was bisher geschah. wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min Disjunktion 2 max Negation 1 x 1 x Implikation 2 Äquivalenz 2 = Was bisher geschah (Klassische) Aussagenlogik: Aussage Wahrheitswerte 0 (falsch) und 1 (wahr) Junktoren Syntax Semantik Stelligkeit Symbol Wahrheitswertfunktion wahr 0 t 1 falsch 0 f 0 Konjunktion 2 min

Mehr

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 9. Prädikatenlogik Syntax und Semantik der Prädikatenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der

Mehr

7. Syntax: Grammatiken, EBNF

7. Syntax: Grammatiken, EBNF 7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik

Mehr

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

Mehr

Diskrete Strukturen. Sebastian Thomas RWTH Aachen https://www2.math.rwth-aachen.de/ds17/ Mathematische Logik

Diskrete Strukturen. Sebastian Thomas RWTH Aachen https://www2.math.rwth-aachen.de/ds17/ Mathematische Logik Diskrete Strukturen Sebastian Thomas RWTH Aachen https://www2.math.rwth-aachen.de/ds17/ Mathematische Logik Aussagen Begriff Aussage: Ausdruck, welcher entweder wahr oder falsch ist e Die RWTH Aachen hat

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 18: Logik Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/35 Überblick Formeln in Prädikatenlogik erster Stufe Theorien und

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

Mehr

TU7 Aussagenlogik II und Prädikatenlogik

TU7 Aussagenlogik II und Prädikatenlogik TU7 Aussagenlogik II und Prädikatenlogik Daniela Andrade daniela.andrade@tum.de 5.12.2016 1 / 32 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds

Mehr

Fakten, Regeln und Anfragen

Fakten, Regeln und Anfragen Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de 18.10.99 GK Prolog - Fakten, Regeln und Anfragen 1 Programmieren = Problemlösen Prolog ist eine deklarative

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik

Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik Formale Grundlagen der Informatik 1 Kapitel 19 & Frank Heitmann heitmann@informatik.uni-hamburg.de 23. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/25 Motivation Die ist eine Erweiterung

Mehr

Logik (Prof. Dr. Wagner FB AI)

Logik (Prof. Dr. Wagner FB AI) Logik (Prof. Dr. Wagner FB AI) LERNZIELE: Über die Kenntnis und das Verständnis der gegebenen Definitionen hinaus verfolgt dieser Teil der Lehrveranstaltung die folgenden Lernziele: Bei gegebenen sprachlichen

Mehr

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2015/2016.

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2015/2016. Formale Systeme Prof. Dr. Bernhard Beckert, WS 2015/2016 Aussagenlogik: Syntax und Semantik KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Ronja Düffel WS2018/19 01. Oktober 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis der

Mehr

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2017/2018

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2017/2018 Formale Systeme Prof. Dr. Bernhard Beckert, WS 2017/2018 Aussagenlogik: Syntax und Semantik KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Mehr

Logic in a Nutshell. Christian Liguda

Logic in a Nutshell. Christian Liguda Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung

Mehr

1 Formale Sprachen, reguläre und kontextfreie Grammatiken

1 Formale Sprachen, reguläre und kontextfreie Grammatiken Praktische Informatik 1, WS 2001/02, reguläre Ausdrücke und kontextfreie Grammatiken 1 1 Formale Sprachen, reguläre und kontextfreie Grammatiken Ein Alphabet A ist eine endliche Menge von Zeichen. Die

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Sommersemester 2018 Ronja Düffel 14. März 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis

Mehr

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. 1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. Beschreiben Sie ferner je einen frei gewählten Datentyp aus der Gruppe der skalaren und einen aus der Gruppe der strukturierten

Mehr

Logische Strukturen 7. Vorlesung

Logische Strukturen 7. Vorlesung Logische Strukturen 7. Vorlesung Martin Dietzfelbinger 18. Mai 2010 Kapitel 2 Prädikatenlogik Was ist das? Logik und Strukturen Natürliches Schließen Normalformen Herbrand-Theorie Prädikatenlogische Resolution

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Verarbeitung von Programmiersprachen Was ist das einfachste

Mehr

Syntax vs. Semantik. Behandlung von Variablen. Grammatik vs. Induktive Definition. M: T ω...

Syntax vs. Semantik. Behandlung von Variablen. Grammatik vs. Induktive Definition. M: T ω... Syntax vs. Semantik Ein einfaches Beispiel: additive Terme Sei T = L(G) mit G = T }, (, ), +,0,...,9}, P, T mit P = T 0 9 ( T + T ) } M: T ω... Meaning, interpretiert T als additive Ausdrücke M(0) = 0,...,

Mehr

Kapitel 2. Die Prädikentenlogik (erster Stufe)

Kapitel 2. Die Prädikentenlogik (erster Stufe) Kapitel 2 Die Prädikentenlogik (erster Stufe) Mathematische Strukturen und formale Sprachen Mathematische Logik (WS 2010/11) Prädikatenlogik 1. Stufe 1 / 43 Übersicht Vorbemerkungen Mathematische Strukturen

Mehr

7. Prädikatenlogik. Aussagenlogik hat wünschenswerte Eigenschaften wie Korrektheit, Vollständigkeit, Entscheidbarkeit.

7. Prädikatenlogik. Aussagenlogik hat wünschenswerte Eigenschaften wie Korrektheit, Vollständigkeit, Entscheidbarkeit. 7. Prädikatenlogik Aussagenlogik hat wünschenswerte Eigenschaften wie Korrektheit, Vollständigkeit, Entscheidbarkeit. Aber: Aussagenlogik ist sehr beschränkt in der Ausdrucksmächtigkeit. Wissen kann nur

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß aus Molière, Les Femmes Savantes (1672), 2. kt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing Ziele Zwei Standards zur Definition der Syntax

Mehr

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik

Mehr

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48 Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 48 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs rekursiv definierten baumartigen

Mehr

Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen

Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Barbara König Logik 1 Motivation: Wir beschäftigen uns nun im folgenden mit der, die gegenüber

Mehr

Logik: aussagenlogische Formeln und Wahrheitstafeln

Logik: aussagenlogische Formeln und Wahrheitstafeln FH Gießen-Friedberg, Sommersemester 2010 Lösungen zu Übungsblatt 1 Diskrete Mathematik (Informatik) 7./9. April 2010 Prof. Dr. Hans-Rudolf Metz Logik: aussagenlogische Formeln und Wahrheitstafeln Aufgabe

Mehr

Logik für Informatiker Logic for computer scientists

Logik für Informatiker Logic for computer scientists Logik für Informatiker Logic for computer scientists Till Mossakowski Wintersemester 2014/15 Till Mossakowski Logik 1/ 22 Quantoren Till Mossakowski Logik 2/ 22 Quantoren: Motivierende Beispiele x Cube(x)

Mehr

3.1 Reservierte Wörter

3.1 Reservierte Wörter 3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der

Mehr

3 Syntax von Programmiersprachen

3 Syntax von Programmiersprachen 3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme

Mehr

Logik Vorlesung 7: Grundlagen Prädikatenlogik

Logik Vorlesung 7: Grundlagen Prädikatenlogik Logik Vorlesung 7: Grundlagen Prädikatenlogik Andreas Maletti 5. Dezember 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45 Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten

Mehr

Wissenschaftliches Arbeiten Quantitative Methoden

Wissenschaftliches Arbeiten Quantitative Methoden Wissenschaftliches Arbeiten Quantitative Methoden Prof. Dr. Stefan Nickel WS 2008 / 2009 Gliederung I. Motivation II. III. IV. Lesen mathematischer Symbole Wissenschaftliche Argumentation Matrizenrechnung

Mehr

3 Syntax von Programmiersprachen

3 Syntax von Programmiersprachen 3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Eine Aussage kann eine Eigenschaft für ein einzelnes, konkretes Objekt behaupten:

Eine Aussage kann eine Eigenschaft für ein einzelnes, konkretes Objekt behaupten: Aussagen Aussagen Eine Aussage kann eine Eigenschaft für ein einzelnes, konkretes Objekt behaupten: verbale Aussage formale Aussage Wahrheitswert 1) 201 ist teilbar durch 3 3 201 wahre Aussage (w.a.) 2)

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010

Klausur Formale Systeme Fakultät für Informatik WS 2009/2010. Prof. Dr. Bernhard Beckert. 18. Februar 2010 Klausur Formale Systeme Fakultät für Informatik Name: Mustermann Vorname: Peter Matrikel-Nr.: 0000000 Klausur-ID: 0000 WS 2009/2010 Prof. Dr. Bernhard Beckert 18. Februar 2010 A1 (15) A2 (10) A3 (10) A4

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? 3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? A. Gegeben eine kontextfreie Grammatik G. Gibt es ein

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

Mehr

ÜBUNG ZUM GRUNDKURS LOGIK WS 2015/16 GÜNTHER EDER

ÜBUNG ZUM GRUNDKURS LOGIK WS 2015/16 GÜNTHER EDER ÜBUNG ZUM GRUNDKURS LOGIK WS 2015/16 GÜNTHER EDER WIEDERHOLUNG: SPRACHE DER PL Die Sprache der PL enthält (1) Einfache Individuenterme: Individuenkonstanten (a, b, c, ) und Individuenvariablen (x, y, z,

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer

Mehr

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion

Aussagenlogik. (MAF2) MAF(I, t) = t und MAF(I, f ) = f. Die Semantik aussagenlogischer Formeln ist durch die Funktion 43 Vergleiche mit MBA! (MAF4) MAF(I, (F G)) = MAF(I, F) MAF(I, G), wobei die zum Symbol gehörende Funktion ist. (MAF3) MAF(I, F) = MAF(I, F) (MAF2) MAF(I, t) = t und MAF(I, f ) = f (MAF1) MAF(I, A) = I(A),

Mehr

Formale Systeme, WS 2014/2015 Übungsblatt 5

Formale Systeme, WS 2014/2015 Übungsblatt 5 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Bernhard Beckert Thorsten Bormer, Dr. Vladimir Klebanov, Dr. Mattias Ulbrich Formale Systeme, WS 2014/2015 Übungsblatt

Mehr

Grundlagen der Programmierung (Vorlesung 7)

Grundlagen der Programmierung (Vorlesung 7) Grundlagen der Programmierung (Vorlesung 7) Ralf Möller, FH-Wedel Vorige Vorlesung Boole'sche Logik, Resolution Inhalt dieser Vorlesung Prädikatenlogik erster Stufe Lernziele Syntax, Semantik Entscheidungsprobleme

Mehr

Syntax der Prädikatenlogik: Komplexe Formeln

Syntax der Prädikatenlogik: Komplexe Formeln Syntax der Prädikatenlogik: Komplexe Formeln Σ = P, F eine prädikatenlogische Signatur Var eine Menge von Variablen Definition: Menge For Σ der Formeln über Σ Logik für Informatiker, SS 06 p.10 Syntax

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 9. Prädikatenlogik Syntax und Semantik der Prädikatenlogik Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Syntax der

Mehr

Grundlagen der Logik

Grundlagen der Logik Grundlagen der Logik Denken Menschen logisch? Selektionsaufgabe nach Watson (1966): Gegeben sind vier Karten von denen jede auf der einen Seite mit einem Buchstaben, auf der anderen Seite mit einer Zahl

Mehr

Inhalt Kapitel 11: Formale Syntax und Semantik

Inhalt Kapitel 11: Formale Syntax und Semantik Inhalt Kapitel 11: Formale Syntax und Semantik 1 Abstrakte und konkrete Syntax 2 Lexikalische Analyse 3 Formale Sprachen, Grammatiken, BNF 4 Syntaxanalyse konkret 266 Abstrakte und konkrete Syntax Abstrakte

Mehr

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet.

1 Aussagenlogik. 1.1 Aussagen. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage) Aussage = Behauptung Beispiele: Es regnet. Grundlagen der Mathematik für Informatiker 1 1 Aussagenlogik 1.1 Aussagen Aussage = Behauptung Beispiele: Es regnet. Die Straße ist naß. 15 ist eine Primzahl. 3 < 8 x < 15 (hängt von x ab, keine Aussage)

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 17. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 17 & Frank Heitmann heitmann@informatik.uni-hamburg.de 6. & 7. Juni 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/43 Die ist eine Erweiterung

Mehr

Induktive Definitionen

Induktive Definitionen Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur

Mehr

Einführung in die Informatik. Programming Languages

Einführung in die Informatik. Programming Languages Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14 Logik Logik Vorkurs Informatik Theoretischer Teil WS 2013/14 30. September 2013 Logik > Logik > logische Aussagen Logik Logik > Logik > logische Aussagen Motivation Logik spielt in der Informatik eine

Mehr

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Sprachen sind durch folgenden Aufbau gekennzeichnet: BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 7.

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 7. Formale Logik PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg Wintersemester 16/17 Sitzung vom 7. Dezember 2016 Ein klassischer Mathematikerwitz Ein Soziologe, ein Physiker

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 5 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Jede binäre Operation hat maximal ein

Mehr

Mathematische und logische Grundlagen der Linguistik. Kapitel 3: Grundbegriffe der Aussagenlogik

Mathematische und logische Grundlagen der Linguistik. Kapitel 3: Grundbegriffe der Aussagenlogik Mathematische und logische Grundlagen der Linguistik Kapitel 3: Grundbegriffe der Aussagenlogik Grundbegriffe der Aussagenlogik 1 Die Aussagenlogik ist ein Zweig der formalen Logik, der die Beziehungen

Mehr