Theoretische Informatik II
|
|
|
- Irmela Hochberg
- vor 9 Jahren
- Abrufe
Transkript
1 Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Wintersemester 2007/2008 B. Beckert Theoretischen Informatik II: WS 2007/08 1 / 179
2 Dank Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal) Christoph Kreitz (gehalten an der Universität Potsdam) Ihnen gilt mein herzlicher Dank. Bernhard Beckert, Oktober 2007 B. Beckert Theoretischen Informatik II: WS 2007/08 2 / 179
3 Teil IV Der λ-kalkül B. Beckert Theoretischen Informatik II: WS 2007/ / 179
4 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
5 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
6 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
7 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
8 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
9 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
10 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
11 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
12 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
13 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
14 Die Idee Zweck Formale Definition von Funktionen Untersuchung und Anwendung von Funktionsdefinitionen Berechnungsmodell Grundlage funktionaler Programmiersprachen Einfach und doch mächtig Grundlegende Eigenschaften Funktion identifiziert mit λ-ausdrücken, die sie beschreiben Funktionen angewendet auf Funktionen Nichts außer Funktionen (keine anderen Datentypen) Entwickelt von Alonzo Church und Stephen Kleene in den 1930er Jahren B. Beckert Theoretischen Informatik II: WS 2007/ / 179
15 Syntax Definition 14.1 (λ-ausdruck) Variable Jede Variable x ist ein λ-ausdruck Abstraktion Ist x eine Variable und e ein λ-ausdruck, dann ist λx.e ein λ-ausdruck Anwendung Sind e 1,e 2 λ-ausdrücke, dann ist e 1 e 2 ein λ-ausdruck B. Beckert Theoretischen Informatik II: WS 2007/ / 179
16 Syntax Definition 14.1 (λ-ausdruck) Variable Jede Variable x ist ein λ-ausdruck Abstraktion Ist x eine Variable und e ein λ-ausdruck, dann ist λx.e ein λ-ausdruck Anwendung Sind e 1,e 2 λ-ausdrücke, dann ist e 1 e 2 ein λ-ausdruck B. Beckert Theoretischen Informatik II: WS 2007/ / 179
17 Syntax Definition 14.1 (λ-ausdruck) Variable Jede Variable x ist ein λ-ausdruck Abstraktion Ist x eine Variable und e ein λ-ausdruck, dann ist λx.e ein λ-ausdruck Anwendung Sind e 1,e 2 λ-ausdrücke, dann ist e 1 e 2 ein λ-ausdruck B. Beckert Theoretischen Informatik II: WS 2007/ / 179
18 Syntax Assoziativität und Bindungsstärke Anwendungen sind linksassoziativ: e 1 e 2 e 3 = (e 1 e 2 ) e 3 Anwendung bindet stärker als Abstraktion: λx.e 1 e 2 = λx.(e 1 e 2 ) WICHTIG! Dies muss man wissen, um λ-ausdrücke verstehen zu können! B. Beckert Theoretischen Informatik II: WS 2007/ / 179
19 Syntax Assoziativität und Bindungsstärke Anwendungen sind linksassoziativ: e 1 e 2 e 3 = (e 1 e 2 ) e 3 Anwendung bindet stärker als Abstraktion: λx.e 1 e 2 = λx.(e 1 e 2 ) WICHTIG! Dies muss man wissen, um λ-ausdrücke verstehen zu können! B. Beckert Theoretischen Informatik II: WS 2007/ / 179
20 Syntax Assoziativität und Bindungsstärke Anwendungen sind linksassoziativ: e 1 e 2 e 3 = (e 1 e 2 ) e 3 Anwendung bindet stärker als Abstraktion: λx.e 1 e 2 = λx.(e 1 e 2 ) WICHTIG! Dies muss man wissen, um λ-ausdrücke verstehen zu können! B. Beckert Theoretischen Informatik II: WS 2007/ / 179
21 Syntax Assoziativität und Bindungsstärke Anwendungen sind linksassoziativ: e 1 e 2 e 3 = (e 1 e 2 ) e 3 Anwendung bindet stärker als Abstraktion: λx.e 1 e 2 = λx.(e 1 e 2 ) WICHTIG! Dies muss man wissen, um λ-ausdrücke verstehen zu können! B. Beckert Theoretischen Informatik II: WS 2007/ / 179
22 Beispiele Einige wichtige λ-ausdrücke Indentitätsfunktion: I = λx.x Selbstanwendung: D = λx.x x Auslassen des 2. Argumentes: K = λx.λy.x B. Beckert Theoretischen Informatik II: WS 2007/ / 179
23 Beispiele Einige wichtige λ-ausdrücke Indentitätsfunktion: I = λx.x Selbstanwendung: D = λx.x x Auslassen des 2. Argumentes: K = λx.λy.x B. Beckert Theoretischen Informatik II: WS 2007/ / 179
24 Beispiele Einige wichtige λ-ausdrücke Indentitätsfunktion: I = λx.x Selbstanwendung: D = λx.x x Auslassen des 2. Argumentes: K = λx.λy.x B. Beckert Theoretischen Informatik II: WS 2007/ / 179
25 α-konversion Definition 14.2 Ein Vorkommen einer Variablen x ist gebunden, wenn es im Skopus von λx ist. Andernfalls ist es frei. α-konversion λ-ausdrücke, die gleich sind bis auf Umbenennen gebundener Variablen werden identifiziert beschreiben dieselbe Funktion B. Beckert Theoretischen Informatik II: WS 2007/ / 179
26 α-konversion Definition 14.2 Ein Vorkommen einer Variablen x ist gebunden, wenn es im Skopus von λx ist. Andernfalls ist es frei. α-konversion λ-ausdrücke, die gleich sind bis auf Umbenennen gebundener Variablen werden identifiziert beschreiben dieselbe Funktion B. Beckert Theoretischen Informatik II: WS 2007/ / 179
27 α-konversion Definition 14.2 Ein Vorkommen einer Variablen x ist gebunden, wenn es im Skopus von λx ist. Andernfalls ist es frei. α-konversion λ-ausdrücke, die gleich sind bis auf Umbenennen gebundener Variablen werden identifiziert beschreiben dieselbe Funktion B. Beckert Theoretischen Informatik II: WS 2007/ / 179
28 α-konversion Definition 14.2 Ein Vorkommen einer Variablen x ist gebunden, wenn es im Skopus von λx ist. Andernfalls ist es frei. α-konversion λ-ausdrücke, die gleich sind bis auf Umbenennen gebundener Variablen werden identifiziert beschreiben dieselbe Funktion B. Beckert Theoretischen Informatik II: WS 2007/ / 179
29 Substitution Definition 14.3 Das Ergebnis der Substitution von x in e durch e in Zeichen: [e /x]e entsteht dadurch, dass 1 gebundene Variablen so umbenannt werden, dass sie nur einmal vorkommen 2 x in e syntaktisch durch e ersetzt wird B. Beckert Theoretischen Informatik II: WS 2007/ / 179
30 Substitution Definition 14.3 Das Ergebnis der Substitution von x in e durch e in Zeichen: [e /x]e entsteht dadurch, dass 1 gebundene Variablen so umbenannt werden, dass sie nur einmal vorkommen 2 x in e syntaktisch durch e ersetzt wird B. Beckert Theoretischen Informatik II: WS 2007/ / 179
31 Substitution Definition 14.3 Das Ergebnis der Substitution von x in e durch e in Zeichen: [e /x]e entsteht dadurch, dass 1 gebundene Variablen so umbenannt werden, dass sie nur einmal vorkommen 2 x in e syntaktisch durch e ersetzt wird B. Beckert Theoretischen Informatik II: WS 2007/ / 179
32 β-reduktion β-reduktion Der λ-ausdruck (λx.e) e kann durch β-reduktion zu dem Ausdruck [e /x]e reduziert werden In Zeichen: (λx.e) e β [e /x]e Wenn e β e, dann werden e,e identifiziert beschreiben dieselbe Funktion B. Beckert Theoretischen Informatik II: WS 2007/ / 179
33 β-reduktion β-reduktion Der λ-ausdruck (λx.e) e kann durch β-reduktion zu dem Ausdruck [e /x]e reduziert werden In Zeichen: (λx.e) e β [e /x]e Wenn e β e, dann werden e,e identifiziert beschreiben dieselbe Funktion B. Beckert Theoretischen Informatik II: WS 2007/ / 179
34 β-reduktion β-reduktion Der λ-ausdruck (λx.e) e kann durch β-reduktion zu dem Ausdruck [e /x]e reduziert werden In Zeichen: (λx.e) e β [e /x]e Wenn e β e, dann werden e,e identifiziert beschreiben dieselbe Funktion B. Beckert Theoretischen Informatik II: WS 2007/ / 179
35 β-reduktion Beispiel 14.4 (λf.f (λx.x)) (λx.x) β (λy.y) Beispiel 14.5 Der Ausdruck (λx.x x) (λx.x x) kann nicht weiter reduziert werden B. Beckert Theoretischen Informatik II: WS 2007/ / 179
36 β-reduktion Beispiel 14.4 (λf.f (λx.x)) (λx.x) β (λy.y) Beispiel 14.5 Der Ausdruck (λx.x x) (λx.x x) kann nicht weiter reduziert werden B. Beckert Theoretischen Informatik II: WS 2007/ / 179
37 Eigenschaften der Reduktion Eigenschaften der Reduktion mittels α- und β-reduktion β-reduktion terminiert nicht immer β-reduktion ist nicht deterministisch Jedoch: β ist konfluent (hat die Church-Rosser-Eigenschaft): Gilt e β e 1 und e β e 2 dann gibt es ein e mit e 1 β e und e 2 β e Darum: Normalformen sind eindeutig B. Beckert Theoretischen Informatik II: WS 2007/ / 179
38 Eigenschaften der Reduktion Eigenschaften der Reduktion mittels α- und β-reduktion β-reduktion terminiert nicht immer β-reduktion ist nicht deterministisch Jedoch: β ist konfluent (hat die Church-Rosser-Eigenschaft): Gilt e β e 1 und e β e 2 dann gibt es ein e mit e 1 β e und e 2 β e Darum: Normalformen sind eindeutig B. Beckert Theoretischen Informatik II: WS 2007/ / 179
39 Eigenschaften der Reduktion Eigenschaften der Reduktion mittels α- und β-reduktion β-reduktion terminiert nicht immer β-reduktion ist nicht deterministisch Jedoch: β ist konfluent (hat die Church-Rosser-Eigenschaft): Gilt e β e 1 und e β e 2 dann gibt es ein e mit e 1 β e und e 2 β e Darum: Normalformen sind eindeutig B. Beckert Theoretischen Informatik II: WS 2007/ / 179
40 Eigenschaften der Reduktion Eigenschaften der Reduktion mittels α- und β-reduktion β-reduktion terminiert nicht immer β-reduktion ist nicht deterministisch Jedoch: β ist konfluent (hat die Church-Rosser-Eigenschaft): Gilt e β e 1 und e β e 2 dann gibt es ein e mit e 1 β e und e 2 β e Darum: Normalformen sind eindeutig B. Beckert Theoretischen Informatik II: WS 2007/ / 179
41 Eigenschaften der Reduktion Eigenschaften der Reduktion mittels α- und β-reduktion β-reduktion terminiert nicht immer β-reduktion ist nicht deterministisch Jedoch: β ist konfluent (hat die Church-Rosser-Eigenschaft): Gilt e β e 1 und e β e 2 dann gibt es ein e mit e 1 β e und e 2 β e Darum: Normalformen sind eindeutig B. Beckert Theoretischen Informatik II: WS 2007/ / 179
42 Mächtigkeit des λ-kalküls Ausdrucksstärke Im λ-kalkül kann man ausdrücken: Datentypen wie Integer, Boolean, Listen, Bäume,... Verzweigung Rekursion Turing-Mächtigkeit Der λ-kalkül kann Turing-Maschinen simulieren Unentscheidbarkeit Es ist unentscheidbar, ob für beliebig gegebene e,e gilt, dass e β e B. Beckert Theoretischen Informatik II: WS 2007/ / 179
43 Mächtigkeit des λ-kalküls Ausdrucksstärke Im λ-kalkül kann man ausdrücken: Datentypen wie Integer, Boolean, Listen, Bäume,... Verzweigung Rekursion Turing-Mächtigkeit Der λ-kalkül kann Turing-Maschinen simulieren Unentscheidbarkeit Es ist unentscheidbar, ob für beliebig gegebene e,e gilt, dass e β e B. Beckert Theoretischen Informatik II: WS 2007/ / 179
44 Mächtigkeit des λ-kalküls Ausdrucksstärke Im λ-kalkül kann man ausdrücken: Datentypen wie Integer, Boolean, Listen, Bäume,... Verzweigung Rekursion Turing-Mächtigkeit Der λ-kalkül kann Turing-Maschinen simulieren Unentscheidbarkeit Es ist unentscheidbar, ob für beliebig gegebene e,e gilt, dass e β e B. Beckert Theoretischen Informatik II: WS 2007/ / 179
45 Mächtigkeit des λ-kalküls Ausdrucksstärke Im λ-kalkül kann man ausdrücken: Datentypen wie Integer, Boolean, Listen, Bäume,... Verzweigung Rekursion Turing-Mächtigkeit Der λ-kalkül kann Turing-Maschinen simulieren Unentscheidbarkeit Es ist unentscheidbar, ob für beliebig gegebene e,e gilt, dass e β e B. Beckert Theoretischen Informatik II: WS 2007/ / 179
46 Mächtigkeit des λ-kalküls Ausdrucksstärke Im λ-kalkül kann man ausdrücken: Datentypen wie Integer, Boolean, Listen, Bäume,... Verzweigung Rekursion Turing-Mächtigkeit Der λ-kalkül kann Turing-Maschinen simulieren Unentscheidbarkeit Es ist unentscheidbar, ob für beliebig gegebene e,e gilt, dass e β e B. Beckert Theoretischen Informatik II: WS 2007/ / 179
47 Mächtigkeit des λ-kalküls Ausdrucksstärke Im λ-kalkül kann man ausdrücken: Datentypen wie Integer, Boolean, Listen, Bäume,... Verzweigung Rekursion Turing-Mächtigkeit Der λ-kalkül kann Turing-Maschinen simulieren Unentscheidbarkeit Es ist unentscheidbar, ob für beliebig gegebene e,e gilt, dass e β e B. Beckert Theoretischen Informatik II: WS 2007/ / 179
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.......................
Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung
Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität
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
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
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
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,
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
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,...
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
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
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Beispiel einer nicht berechenbaren Funktion: Busy Beaver
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
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,
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
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
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
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
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.....................................
Der einfach getypter Lambda-Kalkül
Der einfach getypter Lambda-Kalkül Typprüfung und Typinferenz Tobias Nipkow und Steffen Smolka Technische Universität München 1 Einleitung 2 Explizit getypter λ-kalkül 3 Implizit getypter λ-kalkül Statische
Theorie der Informatik
Theorie der Informatik 15. Ackermannfunktion Malte Helmert Gabriele Röger Universität Basel 28. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale Sprachen III. Berechenbarkeitstheorie
Unentscheidbarkeitssätze der Logik
Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):
Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel
Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Berechenbarkeit und Komplexität
Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Berechenbarkeitstheorie 1. Vorlesung
Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen
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
Theorie der Informatik
Theorie der Informatik 13. LOOP-, WHILE- und GOTO-Berechenbarkeit Malte Helmert Gabriele Röger Universität Basel 9. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten.
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
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
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
Übungsblatt 3. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 3 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 21. November 2017 Abgabe 5. Dezember 2017, 11:00 Uhr
Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php
VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,
Das Halteproblem für Turingmaschinen
Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.
Reduktionssysteme und Termersetzungssysteme
Reduktionssysteme und Termersetzungssysteme Untersuchung von Berechnungen mittels Reduktionsregeln Simplifikation von: Datenstrukturen / Termen usw. Erkennen von gleichen Objekten durch Normalisierung
Abschluss unter Operationen
Abschluss unter Operationen Definition Definition: Es seien L eine Menge von Sprachen und τ eine n-stellige Operation, die über Sprachen definiert ist. Dann heißt L abgeschlossen unter τ, wenn für beliebige
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Präsenzübung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 2013/14 Prof. Dr. Berthold Vöcking 28.01.2014 Kamal Al-Bawani Benjamin Ries Präsenzübung Berechenbarkeit und Komplexität Musterlösung Name:...................................
Berechenbarkeit und Komplexität Vorlesung 10
Berechenbarkeit und Komplexität Vorlesung 10 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 27. November 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 27.
Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,
Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen
Grundlagen der Theoretischen Informatik: Übung 10
Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f
Das Postsche Korrespondenzproblem
Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w
Theoretische Informatik
Theoretische Informatik von Dirk Hoffmann 2., aktualisierte Auflage Hanser München 2011 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 42639 9 Zu Leseprobe schnell und portofrei erhältlich bei
Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im
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
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information
Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle
smethoden der Informatik Kapitel 2: Logikkalküle Prädikatenlogik 1. Stufe Norbert Fuhr Gudrun Fischer 29.11.2005 Organisatorisches Organisatorisches Klausur Termin: 20.2.2006, 13-15 Uhr, Audimax Anmeldung
Funktionale Programmierung ALP I. µ-rekursive Funktionen WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
ALP I µ-rekursive Funktionen WS 2012/2013 Primitiv-rekursive Funktionen Jede primitiv-rekursive Funktion ist Loop-berechenbar. Das bedeutet, dass jede PR-Funktion in der Loop-Programmiersprache formuliert
Logik für Informatiker
Vorlesung Logik für Informatiker 5. Aussagenlogik Normalformen Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Normalformen Definition: Literal Atom (aussagenlogische
Kapitel 5: Applikative Programmierung
Kapitel 5: Applikative Programmierung In der applikativen Programmierung wird ein Programm als eine mathematische Funktion von Eingabe-in Ausgabewerte betrachtet. Das Ausführen eines Programms besteht
Beweisen mit Semantischen Tableaux
Beweisen mit Semantischen Tableaux Semantische Tableaux geben ein Beweisverfahren, mit dem ähnlich wie mit Resolution eine Formel dadurch bewiesen wird, dass ihre Negation als widersprüchlich abgeleitet
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
Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle
smethoden der Informatik Kapitel 2: Logikkalküle Prädikatenlogik 1. Stufe Norbert Fuhr Gudrun Fischer 29.11.2005 Organisatorisches Organisatorisches Klausur Termin: 20.2.2006, 13-15 Uhr, Audimax Anmeldung
Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen
Logik für Informatiker
Vorlesung Logik für Informatiker 7. Aussagenlogik Analytische Tableaus Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Der aussagenlogische Tableaukalkül
Logik für Informatiker
Vorlesung Logik für Informatiker 10. Prädikatenlogik Substitutionen und Unifikation Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Substitutionen Definition:
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
Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung
Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen
Einführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
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
