Gliederung. Programmierparadigmen. Mathematische Funktionen: Mathematische Funktionen: Lambda-Kalkül

Größe: px
Ab Seite anzeigen:

Download "Gliederung. Programmierparadigmen. Mathematische Funktionen: Mathematische Funktionen: Lambda-Kalkül"

Transkript

1 Gliederung Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2013, 9. Juli 2013, c D.Rösner 1 Einführung Arithmetik Boolesche Operationen Datenstrukturen Kontrollstrukturen D. Rösner PGP D. Rösner PGP Mathematische Funktionen: Mathematische Funktionen: math.: Funktion ist (eindeutige) Abbildung einer Menge (Urbild, domain) in eine andere Menge (Bildbereich, range) z.b. sqrt: R R plus: [R R] R totale Funktion: alle Elemente des Urbildbereiches besitzen ein Bild andernfalls: partielle Funktion Beispiel: Sei f die Funktion, die jeder natürlichen Zahl a die kleinste natürliche Zahl b zuordnet, für die gilt, dass die Ziffern von a in dezimaler Repräsentation in der dezimalen Expansion von π zum ersten Mal nach b Ziffern rechts vom Dezimalpunkt auftauchen z.b. a = 59, π = 3,14159, f (59) = 4 Frage: Ist f total oder partiell? D. Rösner PGP D. Rösner PGP

2 Funktionen als Mengen: Funktionen sind math. Objekte: Funktionen sind Teilmengen des kartesischen Produkts aus Urbild- und Bildbereich z.b. sqrt [R R] plus [R R R] in Mengennotation: sqrt {(x, y) R R y = x 2 } plus {(x, y, z) R R R z = x + y} beachte: dies sind intensionale Darstellungen, aber keine Berechnungsvorschriften Wenn f Funktion von A nach B, dann ist f Teilmenge von A B, m.a.w.: f ist Element der Potenzmenge von A B, d.h. der Menge aller Teilmengen von A B, kurz: 2 A B wegen der geforderten Eindeutigkeit sind nicht alle Elemente von 2 A B Funktionen von A nach B D. Rösner PGP D. Rösner PGP Funktionen sind math. Objekte: Funktionsraum A B: diejenigen Elemente von 2 A B, bei denen in jedem Paar die erste Komponente eindeutig (A B) 2 A B höhere Funktionen in Mengennotation, z.b. compose {(f, g, h) x R : h(x) = f (g(x))} compose [(R R) (R R)] (R R) Lambda-Ausdruck: rekursive Definition Lambda-Ausdruck ist entweder 1 Name 2 Lambda-Abstraktion aus λ, Name, Punkt und Lambda-Ausdruck 3 Funktionsanwendung aus zwei nebeneinander stehenden n 4 geklammerter Lambda-Ausdruck D. Rösner PGP D. Rösner PGP

3 meist zusätzliche Vorrangregeln: Funktionsanwendung linksassoziativ, d.h. f A B interpretiert als (f A) B (und nicht f (A B)) Anwendung hat höhere Präzedenz als Abstraktion, d.h. λ x.ab interpretiert als λ x.(a B) (und nicht (λ x.a)b) kontextfreie Grammatik (CFG) für mit minimaler Klammernzahl expr name number λ name. expr func arg func name (λ name. expr) func arg arg name number (λ name. expr) (func arg) Bemerkung: es wird unterschieden zwischen n, die als Funktionen (s. func), und solchen, die als Argumente verwendet werden (s. arg). D. Rösner PGP D. Rösner PGP mit λ werden formale Parameter eingeführt der mit λ eingeführte Name wird im nachfolgenden Ausdruck als gebunden bezeichnet und der Ausdruck ist der Gültigkeitsbereich (Skopus) für diesen Namen eine nicht gebundene Variable heißt frei freie Variable müssen in einem umgebenden Skopus gebunden sein Beispiel: in λ x.λ y. times x y ist x gebunden, in λ y. times x y ist x frei Ein Name < name > ist frei in einem λ-ausdruck, wenn einer der drei Fälle zutrifft: < name > ist frei in < name >. < name > ist frei in λ < name 1 >. < exp >, wenn der Identifikator < name > < name 1 > und < name > ist frei in < exp > < name > ist frei in E 1 E 2 wenn < name > ist frei in E 1 oder < name > ist frei in E 2 s.a. [Roj98] D. Rösner PGP D. Rösner PGP

4 Ein Name < name > ist gebunden in einem λ-ausdruck, wenn einer der zwei Fälle zutrifft: < name > ist gebunden in λ < name 1 >. < exp >, wenn der Identifikator < name >=< name 1 > oder < name > ist gebunden in < exp > < name > ist gebunden in E 1 E 2 wenn < name > ist gebunden in E 1 oder < name > ist gebunden in E 2 ein Identifikator kann in einem Ausdruck sowohl frei als auch gebunden vorkommen Beispiel: (λx.xy)(λy.y) s.a. [Roj98] zur vereinfachten Referenz können Ausdrücken Namen (im Sinne von Synonymen oder Kurzschreibweisen) gegeben werden z.b. square λx.times x x identity λx.x const7 λx.7 hypot λx.λy. sqrt (plus (square x) (square y)) lies: ist Abkürzung für D. Rösner PGP D. Rösner PGP Rechnen mit dem Rechnen mit dem Zum Rechnen mit dem genügen im wesentlichen drei : β-reduktion α-konversion η-reduktion β-reduktion: Für jede λ-abstraktion λx.e und jeden Ausdruck M: (λx.e)m β E[M \ x] Dabei bezeichnet E[M \ x] den Ausdruck E mit allen freien Vorkommen von x ersetzt durch M. Anwendungsbedingung: β-reduktion ist nicht erlaubt, wenn irgendwelche in M freien Variablen in E[M \ x] gebunden würden. D. Rösner PGP D. Rösner PGP

5 Rechnen mit dem Rechnen mit dem Anwendungsbedingung der β-reduktion: verhindert sog. Variablenergreifen (engl. variable capture) Beispiel: würde der Ausdruck (λx.(λy.xy))y ohne Beachtung der Anwendungsbedingung β-reduziert, so ergäbe sich (λy.yy) das korrekte Resultat ergibt sich, wenn zunächst eine Umbenennung vorgenommen wird (λx.(λy.xy))y (λx.(λt.xt))y (λt.yt) s.a. [Roj98] α-konversion: Für jede λ-abstraktion λx.e und jede Variable y, die keine freien Vorkommen in E hat: λx.e α λy.e[y \ x] η-reduktion: Für jede λ-abstraktion λx.e, wobei E von der Form F x und x hat keine freien Vorkommen in F: λx.fx η F (überflüssige λ-abstraktionen eliminieren) D. Rösner PGP D. Rösner PGP Bemerkungen zu den : Rechnen mit dem β-reduktion: ähnelt Parameterübergabe durch call-by-name; unbeabsichtigtes Ergreifen (capture) einer Variable wird durch die Anwendungsbedingung verhindert α-konversion: Umbenennungen, damit β-reduktion möglich η-reduktion: von geringerer Bedeutung wenn square wie oben definiert, dann mit η-reduktion erlaubt: λx.square x η square zusätzlich für Arithmetik (falls nicht direkt innerhalb des Kalküls behandelt) : δ-reduktion ein Ausdruck der Form op x y mit x, y numerische Literale und op aus kleiner Menge von Standardfunktionen kann durch arithmetischen Wert ersetzt werden Beispiele: plus 2 3 δ 5 minus 5 2 δ 3 times 2 3 δ 6 D. Rösner PGP D. Rösner PGP

6 Rechnen mit dem Rechnen mit dem β-reduktion und α-konversion (und ggf. η-reduktion) werden wiederholt angewendet, bis keine weitere Reduktion möglich ist und der λ-ausdruck sich in seiner einfachsten Form befindet Church-Rosser [1936]: einfachste Formen sind eindeutig jede Folge von Reduktionen, die in einem nicht weiter reduzierbaren Ausdruck endet, produziert das gleiche Resultat beachte: Termination ist nicht garantiert Beispiel: (λx.xx)(λx.xx) β... Reduktion in Normalordnung: wenn mehr als eine β-reduktion möglich, wird hierbei diejenige gewählt, deren λ am weitesten links im gesamten Ausdruck steht Beispiel: (λf.λg.λh.fg(hh))(λx.λy.x)h(λx.xx) β... D. Rösner PGP D. Rösner PGP Rechnen mit dem Rechnen mit dem Arithmetik mit natürlichen Zahlen lässt sich wie folgt im λ-kalkül darstellen: benötigt wird eine Darstellung für Null sowie eine Darstellung für Nachfolger-Funktion (engl. successor) n-fache Anwendung der Nachfolger-Funktion auf Null repräsentiert dann die jeweilige Zahl n die so dargestellten Zahlen werden auch als Church-Numerale bezeichnet eine Darstellung für natürliche Zahlen im λ-kalkül 0 λs.(λz.z) auch geschrieben als: λsz.z die Definitionen weiterer Zahlen: 1 λsz.s(z) 2 λsz.s(s(z)) 3 λsz.s(s(s(z)))... D. Rösner PGP D. Rösner PGP

7 Rechnen mit dem Rechnen mit dem die Nachfolger-Funktion lässt sich durch folgenden Kombinator darstellen: S λwyx.y(wyx) Bemerkung: als Kombinatoren werden λ-ausdrücke ohne freie Variable bezeichnet Frage: Was ergibt die Anwendung von S auf 0, 1,...? die Addition zweier Zahlen m und n wird zurückgeführt auf die m-fach wiederholte Anwendung der Nachfolger-Funktion auf die Zahl n Beispiel: wird berechnet durch die Reduktion von (λsz.s(s(z)))(λwyx.y(wyx))(λuv.u(u(u(v)))) D. Rösner PGP D. Rösner PGP Rechnen mit dem Rechnen mit dem die Multiplikation zweier Zahlen m und n wird realisiert durch die Anwendung der Funktion λxyz.x(yz) auf die Zahlen m und n Beispiel: 2 2 wird berechnet durch die Reduktion von (λxyz.x(yz))2 2 Beispiel: 2 2 wird berechnet durch die Reduktion (hier in Normalordnung) von (λxyz.x(yz))2 2 β λz.2 (2 z) Def.2 λz.(λst.s(s t))(2 z) β λz.λt.(2 z)(2 z t) Def.2 λz.λt.((λuv.u(u v))z)(2 z t) β λz.λt.(λv.z(z v))(2 z t)... D. Rösner PGP D. Rösner PGP

8 Rechnen mit dem Rechnen mit dem Beispiel: cont.... β λz.λt.z(z (2 z t))) Def.2 λz.λt.z(z ((λuv.u(u v)) z t)) β λz.λt.z(z ((λv.z (z v)) t)) β λz.λt.z(z (z (z t))) Def.4 4 auch die booleschen Werte T und F werden durch Funktionen repräsentiert T λxy.x F λxy.y als Funktionen werden die beiden Wahrheitswerte auch als select_first bzw. select_second bezeichnet, [Sco00] D. Rösner PGP D. Rösner PGP Rechnen mit dem Rechnen mit dem die logischen Verknüpfungen lassen sich dann wie folgt definieren: λxy.xy(λuv.v) λxy.xyf λxy.x(λuv.u)y λxy.xty Negation eines Arguments ergibt sich mit λx.x(λuv.v)(λab.a) λx.xft Negation angewendet auf T ergibt T λx.x(λuv.v)(λab.a) (λcd.c) reduzierbar zu: D. Rösner PGP D. Rösner PGP

9 Rechnen mit dem Rechnen mit dem Paare (a, b) lassen sich als Funktion wie folgt darstellen: λz.zab die Selektion des ersten bzw. zweiten Elements des Paares erfolgt dann durch Anwendung dieser Funktion auf T bzw. F (λz.zab)t =... (λz.zab)f =... mit Paaren lassen sich weitere nützliche Funktionen definieren Beispiel: Vorgängerfunktion (engl. predecessor) Grundidee: kreiere Paare der Form (n, n 1) und selektiere das zweite Element Umsetzung: die folgende Funktion ordnet einem Paar (n, n 1) das Paar (n + 1, n) zu: Φ (λpz.z(s(pt))(pt)) D. Rösner PGP D. Rösner PGP Rechnen mit dem Rechnen mit dem die Vorgängerfunktion P gewinnen wir dann mit folgendem Vorgehen: wende Φ n-mal auf das Paar λz.z00 an und selektiere dann das zweite Element des entstandenen Paares im λ-kalkül: P λn.nφ(λz.z00)f eine bedingte Verzweigung lässt sich als Funktion wie folgt darstellen: if λc.λt.λe.cte D. Rösner PGP D. Rösner PGP

10 Rechnen mit dem Literatur: I das erstaunlichste Ergebnis über den λ-kalkül ist die Darstellbarkeit rekursiver Funktionen eine zentrale Rolle dabei spielt der Operator Y, definiert durch: Y λh.(λx.h(xx))(λx.h(xx)) eine besonders detaillierte Herleitung von Y liefert [Gab01] Chris Barker. Lambda Tutorial, interactive tutorial. cb125/lambda/. Henk Barendregt and Erik Barendsen. Introduction to Lambda Calculus, revised; Kostas Chatzikokolakis. LCI - A lambda calculus interpreter, an open source interpreter. D. Rösner PGP D. Rösner PGP Literatur: II Literatur: III Richard P. Gabriel. The Why of Y, Achim Jung. A short introduction to the Lambda Calculus, axj/pub/papers/lambdacalculus.pdf. Raul Rojas. A Tutorial Introduction to the Lambda Calculus, 1997/1998. tutorial notes; Michael Lee Scott. Programming Language Pragmatics. Academic Press, San Diego, CA, USA, ISBN D. Rösner PGP D. Rösner PGP

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

Interpreter (Hilfsfunktionen)

Interpreter (Hilfsfunktionen) Interpreter (Hilfsfunktionen) -- Berechnet die Liste der gebundenen Variablen boundlist :: Expr -> [String] boundlist (Var x) = [] boundlist (Lambda x e) = x : (boundlist e) boundlist (App e1 e2) = (boundlist

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Dr. Eva Richter / Holger Arnold Universität Potsdam, Theoretische Informatik, Sommersemester 2008 Übungsblatt 3 (Version 4) Abgabetermin: 13.5.2008, 12.00 Uhr Der λ-kalkül Da

Mehr

Funktionale Programmierung Einführung

Funktionale Programmierung Einführung Einführung Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 13.09.2017 15:29 Inhaltsverzeichnis Was ist imperative Programmierung.......................

Mehr

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

Funktionale Programmierung ALP I. λ Kalkül. Teil 2 WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I λ Kalkül Teil 2 WS 2012/2013 Lokale Variablennamen Haskell: let x = exp1 in exp2 Lambda: λ exp1. exp2 Einfache Regel: Der Geltungsbereich eines Lambda-Ausdrucks erstreckt sich soweit wie möglich

Mehr

1 Geschichte. 2 Syntax und Konzepte. Lamdba-Kalkül

1 Geschichte. 2 Syntax und Konzepte. Lamdba-Kalkül 1 Geschichte 1673 Gottfried Wilhelm Leibniz entwickelt eine mechanische Rechenmaschine, beginnt zu träumen: Gibt es eine universelle Sprache, in der alle Probleme dargestellt werden können? Gibt es eine

Mehr

Der untypisierte Lambda-Kalkül als Programmiersprache

Der untypisierte Lambda-Kalkül als Programmiersprache Der untypisierte Lambda-Kalkül als Programmiersprache November 29, 2006 betreut von Prof. Tobias Nipkow Einführung In den 1930er Jahren von Alonzo Church und Stephen Kleene eingeführt Der Lambda-Kalkül

Mehr

Lambda-Kalkül. Dr. Eva Richter. 27.April 2012

Lambda-Kalkül. Dr. Eva Richter. 27.April 2012 Lambda-Kalkül Dr. Eva Richter 27.April 2012 1 / 32 Historisches um 1200 Einführung des Zahlensystems in Europa u.a. durch Fibonacci; ist charakterisiert durch ein kleine Menge von Ziffern, deren Wert von

Mehr

3 Exkurs: Der λ-kalkül

3 Exkurs: Der λ-kalkül 3 Exkurs: Der λ-kalkül Alonso Churchs λ-kalkül (ca. 1940) ist der formale Kern jeder funktionalen Programmiersprache. Der λ-kalkül ist eine einfache Sprache, mit nur wenigen syntaktischen Konstrukten und

Mehr

Algorithmen und Datenstrukturen I

Algorithmen und Datenstrukturen I Algorithmen und Datenstrukturen I Einführung in Haskell (I) D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10, 12. Oktober

Mehr

Der untypisierte Lambda-Kalkül

Der untypisierte Lambda-Kalkül Der untypisierte Lambda-Kalkül Kern einer minimalen Programmiersprache Sabine Rieder Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen des Lambda-Kalküls 2 2.1 Syntax.....................................

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen in Scheme D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2013, 17. Juni 2013, c 2011-13 D.Rösner D.

Mehr

Einführung in das λ-kalkül

Einführung in das λ-kalkül Einführung in das λ-kalkül Max Wagner IPD Snelting 1 3.11.2017 Max Wagner - Einführung in das λ-kalkül IPD KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Syntax Abstrakte Syntax:

Mehr

Theoretische Informatik II

Theoretische Informatik II Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Wintersemester 2007/2008 B. Beckert Theoretischen Informatik II: WS 2007/08 1 / 179 Dank Diese Vorlesungsmaterialien basieren

Mehr

Übung zur Vorlesung Automatisierte Logik und Programmierung I

Übung zur Vorlesung Automatisierte Logik und Programmierung I Übung zur Vorlesung Automatisierte Logik und Programmierung I Prof. Chr. Kreitz Universität Potsdam, Theoretische Informatik Wintersemester 2008/09 Blatt 3 Abgabetermin: 26.11.08 nach der Übung Das dritte

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 22. Juni 2009, c 2009 D.Rösner D. Rösner PGP 2009...

Mehr

Gliederung. Programmierparadigmen. Sprachmittel in SCHEME. Objekte: Motivation. Objekte in Scheme

Gliederung. Programmierparadigmen. Sprachmittel in SCHEME. Objekte: Motivation. Objekte in Scheme Gliederung Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Einführung Sprachmittel Sommer 2011, 20. Juni 2011,

Mehr

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen Gliederung Programmierparadigmen Programmieren in Prolog D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 26. April

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2011, 20. Juni 2011, c 2011 D.Rösner D. Rösner PGP 2011...

Mehr

LINCOS Lingua Cosmica. December 14 nd, 2011 Wolfgang Sakuler

LINCOS Lingua Cosmica. December 14 nd, 2011 Wolfgang Sakuler Lingua Cosmica December 14 nd, 2011 Wolfgang Sakuler Einleitung lat. Lingua Cosmica : eine auf mathematischer Basis konstruierte Sprache vom holländ. Mathematiker Hans Freudenthal (1905-1990) 1960 entwickelt,

Mehr

Universität Hannover Fakultät für Elektrotechnik und Informatik Institut für Theoretische Informatik. Thema: von. Paul Krüger

Universität Hannover Fakultät für Elektrotechnik und Informatik Institut für Theoretische Informatik. Thema: von. Paul Krüger 1 Universität Hannover Fakultät für Elektrotechnik und Informatik Institut für Theoretische Informatik Thema: - Kalkül von Paul Krüger Betreuer: Prof. Dr. Heribert Vollmer Das Rahmenthema ist " Berechenbarkeit

Mehr

Formale Semantik. λ Typenlogik. Tutorium WiSe 2013/ November Sitzung: Folien freundlicherweise bereitgestellt von Andreas Bischoff

Formale Semantik. λ Typenlogik. Tutorium WiSe 2013/ November Sitzung: Folien freundlicherweise bereitgestellt von Andreas Bischoff Formale Semantik Tutorium WiSe 2013/14 20. November 2013 3. Sitzung: λ Typenlogik Folien freundlicherweise bereitgestellt von Andreas Bischoff Grenzen der Typenlogik Das letzte Mal: lesen(duden*) ( Eigenschaft

Mehr

Funktionale Programmierung - Grundlagen -

Funktionale Programmierung - Grundlagen - Funktionale Programmierung - Grundlagen - λ Logische und funktionale Programmierung - Universität Potsdam - M. Thomas - Funkt. Programmierung Gundlagen - IX.1 λ-ausdrücke 1) Variablen: x, y, z,...v,v 1,...

Mehr

GTI. Hannes Diener. 18. Juni. ENC B-0123,

GTI. Hannes Diener. 18. Juni. ENC B-0123, GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.

Mehr

Programmierparadigmen

Programmierparadigmen in Haskell Programmierparadigmen in Haskell D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2011, 4. April 2011, c 2011 D.Rösner

Mehr

Einführung in die funktionale Programmierung

Einführung in die funktionale Programmierung Einführung in die funktionale Programmierung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 17. Oktober 2006 Einführung in Haskell: Syntax, Reduktionen, Kernsprachen Haskell,

Mehr

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Semantische Modelle nebenläufiger Programmiersprachen. Einleitung

Übersicht. Nebenläufige Programmierung: Praxis und Semantik. Semantische Modelle nebenläufiger Programmiersprachen. Einleitung Stand der Folien: 24. Januar 2012 Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Semantische Modelle nebenläufiger Programmiersprachen 1 2 Call-by-Name

Mehr

Vortrag. Vortrag im Rahmen der Master-Vorlesung Semantik von Programmiersprachen an der FH München, Fachbereich Informatik

Vortrag. Vortrag im Rahmen der Master-Vorlesung Semantik von Programmiersprachen an der FH München, Fachbereich Informatik Vortrag β- and η-conversion Vortrag im Rahmen der Master-Vorlesung Semantik von Programmiersprachen an der FH München, Fachbereich Informatik von Stefan Hertel (sh_ccbiker@gmx.de Thomas Wöllert (thomas@woellert.net

Mehr

Funktionen und sprachliche Bedeutungen

Funktionen und sprachliche Bedeutungen Einführung in die Semantik,4. Sitzung Mehr zu Funktionen / Mengen, Relationen, Göttingen 1. November 2006 Mengen und sprachliche Bedeutungen Abstraktion und Konversion Rekursion Charakteristische Funktionen

Mehr

Lambda-Kalkül. Philipp Meyer. 28. April 2009

Lambda-Kalkül. Philipp Meyer. 28. April 2009 Lambda-Kalkül Philipp Meyer 28. April 2009 1 Einleitung Der λ-kalkül ist eine von Alonzo Church und Stephen Kleene in den 1930er Jahren eingeführtes Modell zur Beschreibung berechenbarer Funktionen. Es

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Listen in Haskell: Listen in Haskell: Listen in Haskell. Datentyp Liste Strings Listenkomprehension

Gliederung. Algorithmen und Datenstrukturen I. Listen in Haskell: Listen in Haskell: Listen in Haskell. Datentyp Liste Strings Listenkomprehension Gliederung Algorithmen und Datenstrukturen I D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10, 16. Oktober 2009, c

Mehr

Der untypisierte Lambda-Kalkül

Der untypisierte Lambda-Kalkül Der untypisierte Lambda-Kalkül Fabian Immler 08.05.2008 1 Motivation und Einführung Der Lambda-Kalkül ist ein formales System zur Beschreibung von Funktionen, welches Funktionsdefinition sowie das Auswerten

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D. Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner

Mehr

WS 2012/2013. Robert Giegerich. 21. November 2012

WS 2012/2013. Robert Giegerich. 21. November 2012 WS 2012/2013 Robert AG Praktische Informatik 21. November 2012 Funktionen als Bürger erster Klasse Funktionen definieren kann man in jeder Programmiersprache. Eine funktionalen Programmiersprache erlaubt

Mehr

Gliederung. Funktionale Programmierung. Pattern matching in Haskell. Pattern matching in ERLANG. Materialien zur Vorlesung

Gliederung. Funktionale Programmierung. Pattern matching in Haskell. Pattern matching in ERLANG. Materialien zur Vorlesung Gliederung Funktionale Programmierung Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 7.

Mehr

3.4 Struktur von Programmen

3.4 Struktur von Programmen 3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest Gliederung Algorithmen und Datenstrukturen I Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10,

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

Grundlagen der Programmierung 2. Operationale Semantik

Grundlagen der Programmierung 2. Operationale Semantik Grundlagen der Programmierung 2 Operationale Semantik Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 29. April 2009 Semantik von Programmiersprachen Semantik = Bedeutung

Mehr

WS 2013/2014. Robert Giegerich. 11. Dezember 2013

WS 2013/2014. Robert Giegerich. 11. Dezember 2013 WS 2013/2014 Robert AG Praktische Informatik 11. Dezember 2013 höherer Ordnung Worum geht es heute? In Haskell gibt es, die als Argument haben oder als Ergebnis liefern. Diese nennt man höherer Ordnung.

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 15. Oktober 2015 Zu der Vorlesung gibt es ein Skript, welches auf meiner Homepage veröffentlicht

Mehr

Objektorientierte Programmierung mit C++ (WS 2016/2017)

Objektorientierte Programmierung mit C++ (WS 2016/2017) Institut für Numerische Mathematik Dr. Andreas F. Borchert und Dr. Michael C. Lehn 26. Januar 2017 Blatt 12 Objektorientierte Programmierung mit C++ (WS 2016/2017) Abgabe bis zum 2. Februar 2017, 16:00

Mehr

Ausdrücke (1) Grundlegende Eigenschaften

Ausdrücke (1) Grundlegende Eigenschaften Ausdrücke () Grundlegende Eigenschaften bestehen aus Literalen, Konstanten, Variablen und Operatoren einfachster Ausdruck ist das Semikolon, es bewirkt nichts. Ausdrücke werden mit einem Semikolon abgeschlossen.

Mehr

WS 2013/2014. Robert Giegerich. 11. Dezember 2013

WS 2013/2014. Robert Giegerich. 11. Dezember 2013 WS 2013/2014 Robert AG Praktische Informatik 11. Dezember 2013 höherer Ordnung Worum geht es heute? In Haskell gibt es, die als Argument haben oder als Ergebnis liefern. Diese nennt man höherer Ordnung.

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr

Inferenzmethoden. Einheit 18. Logik höherer Stufe

Inferenzmethoden. Einheit 18. Logik höherer Stufe Inferenzmethoden Einheit 18 Logik höherer Stufe 1. Syntax und Semantik 2. Simulation mathematischer Konstrukte 3. Beweisführung in Logik höherer Stufe Logik höherer Stufe Logik erster Stufe hat nur einfache

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 3.2 Boolsche Algebra 3.3 Induktion und Rekursion Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 46 / 708 Überblick

Mehr

Einführung in die funktionale Programmierung

Einführung in die funktionale Programmierung Einführung in die funktionale Programmierung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 28. Oktober 2008 Einführung in Haskell: Syntax, Reduktionen, Kernsprachen Haskell,

Mehr

Formale Methoden 1. Gerhard Jäger 7. November Uni Bielefeld, WS 2007/2008 1/18

Formale Methoden 1. Gerhard Jäger 7. November Uni Bielefeld, WS 2007/2008 1/18 1/18 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 7. November 2007 2/18 Geordnete Paare Mengen sind ungeordnet: {a, b} = {b, a} für viele Anwendungen braucht

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18 19. Oktober 2017 1/27 Zu der Vorlesung gibt es ein Skript, welches auf meiner Homepage

Mehr

Überblick. Ausdrücke. 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke

Überblick. Ausdrücke. 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke Überblick 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen 3 Ausdrücke Einf. Progr. (WS 08/09) 148 Ausdrücke Betrachten wir folgende

Mehr

Analysis für Informatiker

Analysis für Informatiker Analysis für Informatiker Wintersemester 2017/2018 Carsten.Schneider@risc.jku.at 1 Bemerkung: Dies ist kein Skript, welches den gesamten Inhalt der Vorlesung abdeckt. Es soll den Studierenden aber während

Mehr

Seminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik

Seminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik Seminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik Linda Raabe 7. März 2012 1 L-Strukturen Definition 1.1 (Struktur) Eine Struktur A ist eine nichtleere Trägermenge A zusammen mit

Mehr

Die Definition eines Typen kann rekursiv sein, d.h. Typ-Konstruktoren dürfen Elemente des zu definierenden Typ erhalten.

Die Definition eines Typen kann rekursiv sein, d.h. Typ-Konstruktoren dürfen Elemente des zu definierenden Typ erhalten. 4.5.5 Rekursive Typen Die Definition eines Typen kann rekursiv sein, d.h. Typ-Konstruktoren dürfen Elemente des zu definierenden Typ erhalten. datatype IntList = Nil Cons o f ( i n t IntList ) ; Damit

Mehr

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

Satzsemantik. Semantik und Pragmatik. Satzsemantik. Satzsemantik

Satzsemantik. Semantik und Pragmatik. Satzsemantik. Satzsemantik Satzsemantik 8. Mai 2007 Gerhard Jäger Erklärungsanspruch der Satzsemantik Wahrheitsbedingungen von Aussagensätzen Bedeutungsbeziehungen zwischen (Aussage-)Sätzen Kompositionale Berechnung von Satzbedeutungen

Mehr

Semantik und Pragmatik

Semantik und Pragmatik 1/17 Semantik und Pragmatik 15. Mai 2006 Gerhard Jäger Satzsemantik 2/17 Erklärungsanspruch der Satzsemantik Wahrheitsbedingungen von Aussagensätzen Bedeutungsbeziehungen zwischen (Aussage-)Sätzen Kompositionale

Mehr

4. Induktives Definieren - Themenübersicht

4. Induktives Definieren - Themenübersicht Induktives Definieren 4. Induktives Definieren - Themenübersicht Induktives Definieren Natürliche Zahlen Operationen auf natürlichen Zahlen Induktive Algorithmen Induktiv definierte Mengen Binärbäume Boolesche

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 22 Exkurs: Formale Sprachen Im Kapitel

Mehr

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke Informatik I: Einführung in die Programmierung 3. Werte,, n und Albert-Ludwigs-Universität Freiburg Peter Thiemann 30. Oktober 2018 1 30. Oktober 2018 P. Thiemann Info I 3 / 39 Bits Der Computer repräsentiert

Mehr

Kapitel 3: Boolsche Algebra

Kapitel 3: Boolsche Algebra Kapitel 3: Boolsche Algebra 1. Mengen 2. Relationen und Abbildungen 3. Boolsche Algebra 4. Induktion und Rekursion Prof. Dr. Peer Kröger: EiP (WS 18/19) Teil 2: Mathematische Grundlagen 3. Boolsche Algebra

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren 3. Wurzelsysteme Als erstes führen wir den Begriff eines Wurzelsystems ein. Definition 3.1 (Wurzelsystem). Eine endliche Teilmenge Φ V {0} heißt Wurzelsystem falls gilt: (R1) Φ Rα = {±α} für α Φ, (R2)

Mehr

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V8, 5.11.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 3.2 Induktion und Rekursion 3.3 Boolsche Algebra Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 48 / 155 Überblick

Mehr

Kapitel 15 Lineare Gleichungssysteme

Kapitel 15 Lineare Gleichungssysteme Kapitel 15 Lineare Gleichungssysteme Kapitel 15 Lineare Gleichungssysteme Mathematischer Vorkurs TU Dortmund Seite 1 / 27 Kapitel 15 Lineare Gleichungssysteme Definition 15.1 (Lineares Gleichungssystem

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen 121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;

Mehr

2. Ganze Zahlen int unsigned int

2. Ganze Zahlen int unsigned int 88 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp

Mehr

Vorlesung Objektorientierte Programmierung Klausur

Vorlesung Objektorientierte Programmierung Klausur Prof. Dr. Stefan Brass 16. Februar 2007 Dipl.-Inform. Annett Thüring Institut für Informatik MLU Halle-Wittenberg Vorlesung Objektorientierte Programmierung Klausur Name: Matrikelnummer: Studiengang: Aufgabe

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 30. Oktober 2013 ZÜ DS ZÜ

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Mengen) 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_16

Mehr

Höhere Programmiersprachen

Höhere Programmiersprachen Höhere Programmiersprachen Prof. Dr. Dr. h.c. Gerhard Goos Dipl.-Inform. Sebastian Hack (ggoos hack)@ipd.info.uni-karlsruhe.de Institut für Programmstrukturen und Datenorganisation Universität Karlsruhe

Mehr

1 Formen und äußeres Differential

1 Formen und äußeres Differential 1 Formen und äußeres Differential Wir betrachten den n-dimensionalen reellen Raum R n = { x = x 1,...,x n ) : x i R für i = 1,...,n }. Definition 1.1 Ein Tangentialvektor an R n im Punkt x R n ist ein

Mehr

2. Ganze Zahlen int unsigned int

2. Ganze Zahlen int unsigned int 99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp

Mehr

1 Erste Schritte in Scheme

1 Erste Schritte in Scheme 1 Erste Schritte in Scheme Die Programmiersprache Scheme geboren 1975 Eltern: Gerald Jay Sussman and Guy Lewis Steele Jr. Ort: Massachusetts Institute of Technology aktuelle Beschreibung: R6RS (September

Mehr

Analysis I - Notizen 1. Daniel Lenz Jena - Wintersemester 2016

Analysis I - Notizen 1. Daniel Lenz Jena - Wintersemester 2016 Analysis I - Notizen 1 Daniel Lenz Jena - Wintersemester 2016 1 Es handelt sich nicht um ein Skriptum zur Vorlesung. Besten Dank an alle, die zu Verbesserungen früherer Notizen zur Analysis I beigetragen

Mehr

Der untypisierte Lambda-Kalkül als Programmiersprache

Der untypisierte Lambda-Kalkül als Programmiersprache Proseminar: Programmiersprachen bei Prof. Tobias Nipkow Der untypisierte Lambda-Kalkül als Programmiersprache von Benjamin Peherstorfer betreut von Prof. Tobias Nipkow 23. November 2006 Inhaltsverzeichnis

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen Einf. Progr. (WS 08/09) 102 Überblick 3.

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

Mehr

3. Ganze Zahlen int unsigned int

3. Ganze Zahlen int unsigned int 110 3. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp

Mehr

Einführung in die mathematische Logik

Einführung in die mathematische Logik Prof. Dr. H. Brenner Osnabrück SS 2014 Einführung in die mathematische Logik Vorlesung 12 Wir haben bisher nur Axiomensysteme in Sinne einer beliebigen Ausdrucksmenge Γ L S gesprochen, die im Allgemeinen

Mehr

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int

2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen Teil 1: Funktionale Programmierung Kapitel 3 Lambda Kalkül (Dieses Kapitel orientiert sich an Material von Prof. Dr.-Ing. Snelting, KIT) http://www.tu-ilmenau.de/fakia/functional.html

Mehr

Münchner Volkshochschule. Planung. Tag 08

Münchner Volkshochschule. Planung. Tag 08 Planung Tag 08 Prof.Dr. Nils Mahnke Mathematischer Vorkurs Folie: 181 Vektoren Analytische Darstellung: Jedem Punkt im Raum kann ein Ortsvektor zugeordnet werden. P: (6; 5) R 2 P(6; 5) a = OP = 6 5 a Vektoren

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 4 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Modus Ponens A B B A MP Axiome für

Mehr

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Rückschau 12.11.04 Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Wir haben das Prinzip der Diagonalisierung eingeführt und mit DIAG eine erste nicht rek. aufz. Sprache

Mehr

Beschreibung von Werten: Beschreibung von Werten: (2) Begriffsklärung: (Ausdruck, expression) (2) Begriffsklärung: (Ausdruck, expression)

Beschreibung von Werten: Beschreibung von Werten: (2) Begriffsklärung: (Ausdruck, expression) (2) Begriffsklärung: (Ausdruck, expression) Beschreibung von Werten: Beschreibung von Werten: (2) mittels Konstanten oder Bezeichnern für Werte: 23 " Ich bin eine Zeichenreihe" True x durch direkte Anwendung von Funktionen: abs (-28382) "Urin" ++

Mehr

Kapitel 1. Aussagenlogik

Kapitel 1. Aussagenlogik Kapitel 1 Aussagenlogik Einführung Mathematische Logik (WS 2012/13) Kapitel 1: Aussagenlogik 1/17 Übersicht Teil I: Syntax und Semantik der Aussagenlogik (1.0) Junktoren und Wahrheitsfunktionen (1.1) Syntax

Mehr

$Id: matrix.tex,v /12/02 21:08:55 hk Exp $ $Id: vektor.tex,v /12/05 11:27:45 hk Exp hk $

$Id: matrix.tex,v /12/02 21:08:55 hk Exp $ $Id: vektor.tex,v /12/05 11:27:45 hk Exp hk $ $Id: matrixtex,v 14 2008/12/02 21:08:55 hk Exp $ $Id: vektortex,v 12 2008/12/05 11:27:45 hk Exp hk $ II Lineare Algebra 6 Die Matrixmultiplikation 63 Inverse Matrizen und reguläre lineare Gleichungssysteme

Mehr

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) 5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:

Mehr

WS 20013/14. Diskrete Strukturen

WS 20013/14. Diskrete Strukturen WS 20013/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/ws1314

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner

Mehr

Mengen, Funktionen und Logik

Mengen, Funktionen und Logik Wirtschaftswissenschaftliches Zentrum Universität Basel Mathematik für Ökonomen 1 Dr. Thomas Zehrt Mengen, Funktionen und Logik Literatur Referenz: Gauglhofer, M. und Müller, H.: Mathematik für Ökonomen,

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

Logische Grundlagen der Mathematik, WS 2014/15

Logische Grundlagen der Mathematik, WS 2014/15 Logische Grundlagen der Mathematik, WS 2014/15 Thomas Timmermann 12. November 2014 Darstellung natürlicher Zahlen durch Mengen 1. Wie können wir natürliche Zahlen durch Mengen darstellen? Idee 0 = und

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

Mehr