Reduktionssysteme und Termersetzungssysteme

Ähnliche Dokumente
Zusammenfassung des Stoffes zur Vorlesung Formale Systeme

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

WS 2009/10. Diskrete Strukturen

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit

Beispiele für Relationen

R = {(1, 1), (2, 2), (3, 3)} K 1 = {1} K 2 = {2} K 3 = {3}

Spickzettel Mathe C1

Vorlesung 4. Tilman Bauer. 13. September Wir befassen uns in dieser Vorlesung noch einmal mit Mengen.

mathematische Grundlagen der Modelltheorie: Mengen, Relationen, Funktionen

Informationsverarbeitung auf Bitebene

1.4 Äquivalenzrelationen

5 Relationen. Formale Grundlagen der Informatik I Herbstsemester Robert Marti

6. Induktives Beweisen - Themenübersicht

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Inferenzmethoden. Einheit 18. Logik höherer Stufe

Einführung in die Informatik 2

Theoretische Grundlagen des Software Engineering

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Logik für Informatiker. 1. Grundlegende Beweisstrategien. Viorica Sofronie-Stokkermans Universität Koblenz-Landau

3. Relationen Erläuterungen und Schreibweisen

Algebraische Kurven. Holger Grzeschik

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Theoretische Informatik II

Übung 4: Aussagenlogik II

Logik (Teschl/Teschl 1.1 und 1.3)

Einführung in die Mengenlehre

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Binäre Suchbäume (binary search trees, kurz: bst)

In diesem Kapitel wiederholen wir Begriffe und Notationen für grundlegende mathematische

Axiomatische Beschreibung der ganzen Zahlen

Mathematik für Informatiker I

Technische Universität München

Der λ-kalkül. Frank Huch. Sommersemester 2015

Grundlagen der Mathematik

Brückenkurs Mathematik

Einführung in die Informatik Algorithms

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

Was bisher geschah: Formale Sprachen

3. Grundlegende Begriffe von Logiken - Aussagenlogik

1 Algebraische Strukturen

TU5 Aussagenlogik II

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Technische Informatik - Eine Einführung

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Klausur zur Vorlesung Mathematische Logik

Logic in a Nutshell. Christian Liguda

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Teil 1: Digitale Logik

Beispiel Aussagenlogik nach Schöning: Logik...

A.1 Schaltfunktionen und Schaltnetze

Mathematik 1 für Informatik Inhalt Grundbegrie

2 Modellierung mit Wertebereichen

Grundbegriffe der Informatik Tutorium 7

Aufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010

Geordnete Mengen. Eine Relation heißt Ordnung oder Ordnungsrelation, wenn sie reflexiv, transitiv und antisymmetrisch ist.

Relationen A = Z A = R. R = {(a, b) a, b Z, a b} R = {(a, b) a, b R, a 3 = b 3 } R =, R = {(a, b) a, b N 0, a b ist ungerade }, A = N 0 A = N

Logische Strukturen 7. Vorlesung

Kapitel 1. Grundlagen Mengen

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Kapitel 1. Grundlagen

Semantische Bewertung und personalisierte Erzeugung von Übungsaufgaben zu Mathematik, Logik, Informatik

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

4 Einige Grundstrukturen. Themen: Abbildungen und Relationen Gruppen Die natürlichen Zahlen Körper

Programmierung 1 - Repetitorium

Vorlesung: Nicht-kooperative Spieltheorie. Teil 1: Organisatorisches, Inhalte der Vorlesung und Nutzentheorie

Wie kann man beweisen, dass (H, ) eine Gruppe ist?

$Id: gruppen.tex,v /04/24 15:25:02 hk Exp $ $Id: ring.tex,v /04/24 15:35:17 hk Exp $

Permutationen und symmetrische Gruppe

Teil 7. Grundlagen Logik

Informatik I WS 07/08 Tutorium 24

Grundlagen der Programmierung 2. Sortierverfahren

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Kapitel 4. Induktive Definitionen und Beweise

Grundlagen der Informationverarbeitung

WS 2009/10. Diskrete Strukturen

7 Vektorräume und Körperweiterungen

1 Definition von Relation, Äquivalenzrelation und Äquivalenzklassen

Kapitel 2: Mathematische Grundlagen

Aussagenlogik. Aussagen und Aussagenverknüpfungen

Ordnungsrelationen. Bernhard Ganter. Institut für Algebra TU Dresden D Dresden

Kapitel 5: Applikative Programmierung

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Formale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz

Übungen zu Logik und Künstliche Intelligenz Blatt 8

II. Grundlagen der Programmierung

Mathematik für Informatiker 1 Tutorium

Probeklausur der Tutoren

Grundbegriffe der Informatik

Outline. 1 Vektoren im Raum. 2 Komponenten und Koordinaten. 3 Skalarprodukt. 4 Vektorprodukt. 5 Analytische Geometrie. 6 Lineare Räume, Gruppentheorie

Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen

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

Grundkurs Semantik. Sitzung 3: Mengenlehre. Andrew Murphy

Was bisher geschah. Darstellung von Sprachen Ausführen von Berechnungen

4: Algebraische Strukturen / Gruppen

Transkript:

Reduktionssysteme und Termersetzungssysteme Untersuchung von Berechnungen mittels Reduktionsregeln Simplifikation von: Datenstrukturen / Termen usw. Erkennen von gleichen Objekten durch Normalisierung Auswertungen in Programmiersprachen durch eine operationale Semantik mit kleinen Schritten Beispiele: Vergleich von arithmetischen Polynomen mittels: Darstellung als Summe von Produkten Kürzen von Brüchen Deduktion, SS 10, F olien Reduktion 01, Seite 0, 17. Juni2010

Wichtige Fragestellungen bei Reduktionssystemen Kommt es auf die Reihenfolge der Anwendung der Regeln an, oder nicht? Terminiert die Reduktion? Ist das Ergebnis eindeutig? D.h. hat man den Begriff einer Normalform? Beispiele: Normalform eines Polynoms als Summe von Produkten ist eindeutig, die Berechnung terminiert Auswertung Boolescher Ausdrücke ohne Variablen ist eindeutig operationale Semantik: Auswertung terminiert nicht immer. Bei Determinismus: Ergebnis eindeutig. Deduktion, SS 10, F olien Reduktion 01, Seite 1, 17. Juni2010

Spezialfall: Termersetzungssysteme Alle Regeln sind von der Form s t wobei s, t Terme (der Prädikatenlogik erster Stufe sind. Deduktion, SS 10, F olien Reduktion 01, Seite 2, 17. Juni2010

Vervollständigung: Operation auf Reduktionssystemen Abänderung durch Verändern bzw. Hinzufügen von Regeln z.b. um eine eindeutige Normalform zu erhalten! Die Abänderung muss die Semantik erhalten meist definiert durch eine Äquivalenzrelation Deduktion, SS 10, F olien Reduktion 01, Seite 3, 17. Juni2010

Beispiel: Verknüpfungen: Gruppenaxiome Gleichheits-Axiome: E : x 1 = x x x 1 = 1 (x y) z = x (y z) Deduktion, SS 10, F olien Reduktion 01, Seite 4, 17. Juni2010

Beispiel: Verknüpfungen: Gruppenaxiome: Vervollständigung Vervollständigung R als Termersetzungssystem (nach Methode von Knuth-Bendix) x 1 x 1 x x x x 1 1 x 1 x 1 1 1 1 (x 1 ) 1 x (x y) 1 y 1 x 1 (x y) z x (y z) x (x 1 y) y x 1 (x y) y Deduktion, SS 10, F olien Reduktion 01, Seite 5, 17. Juni2010

Beispiel: Gruppenaxiome R terminiert und produziert Normalformen von Termen. s = E t gdw. s = t ((a b) 1 a) a) b (((b 1 a 1 ) a) a) b (((b 1 (a 1 a)) a) b ((b 1 1) a) b (b 1 a) b b 1 (a b)) Rechnen in der freien Gruppe Deduktion, SS 10, F olien Reduktion 01, Seite 6, 17. Juni2010

Gruppenaxiome Intuitiver ist es Klammern wegzuzlassen (wg. Assoziativität) und dann zu vervollständigen. Problem: automatische Vervollständigung ist dann einiges komplizierter: Denn Assoziativität muss berücksichtigt werden. unendlich viele Reduktionsregeln?? Deduktion, SS 10, F olien Reduktion 01, Seite 7, 17. Juni2010

Beispiel Spezifikation und abstrakte Datentypen Listen über natürlichen Zahlen true, false : not : and : BOOL BOOL BOOL BOOL, BOOL BOOL not(true) = false not(false) = true not(not(x)) = x and(true, x) = x and(false, x) = false and(x, true) = x and(x, false) = false Deduktion, SS 10, F olien Reduktion 01, Seite 8, 17. Juni2010

Beispiel Spezifikation: Zahlen 0 : NAT s : NAT NAT + NAT, NAT NAT NAT, NAT BOOL x + 0 = x x + s(y) = s(x + y) 0 x = true s(x) 0 = false s(x) s(y) = x y (Zahlen i sind dargestellt als s i (0) ) Deduktion, SS 10, F olien Reduktion 01, Seite 9, 17. Juni2010

Beispiel Spezifikation: Listen nil : LIST. : NAT, LIST LIST app : LIST, LIST LIST if : BOOL, LIST, LIST LIST app(nil, q 1 ) = q 1 app(x.q 0, q 1 ) = x.app(q 0, q 1 ) if(true, x, y) = x if(false, x, y) = y ( Listen sind als a 1.a 2.... a n.nil dargestellt) Deduktion, SS 10, F olien Reduktion 01, Seite 10, 17. Juni2010

Beispiel Spezifikation von Quicksort qsort(nil) = nil qsort(x.nil) = x.nil qsort(x.y.q) = split(x, y.q, nil, nil) split(x, nil, q 1, q 2 ) = app(qsort(q 1 ), x.qsort(q 2 )) split(x, y.q 1, q 2, q 3 ) = if(y x, split(x, q 1, y.q 2.q 3 ), split(x, q 1, q 2, y.q 3 )) Als Regelsystem ist das ein Sortier- Programm Z.B. gilt: qsort(5.2.1.nil) 1.2.5.nil (Das Beispiel ist Verifun-geeignet) Deduktion, SS 10, F olien Reduktion 01, Seite 11, 17. Juni2010

Beispiel: Aussagenlogik Operatoren (Konjunktion) und + ( XOR) x y x y x y x y + x + y x y x y + y + 1 x x + 1 x + 0 x x + x 0 x 1 x x x x x 0 0 x (y + z) x y + x z wobei + und assoziativ und kommutativ sind, Deduktion, SS 10, F olien Reduktion 01, Seite 12, 17. Juni2010

R ist Regelsystem zum Herstellen einer Polynomdarstellung: Summe von Produkten. Es gilt: f ist allgemeingültig gdw. f = 1 f ist unerfüllbar gdw. f = 0

Beispiel: disjunktive Normalform ( (x)) x (x y) x y (x y) x y x (y z) (x y) (x z) (x y) z (x y) (y z) x (y z) (x y) (x z) Herbei sind, assoziativ und kommutativ. nicht eindeutige Normalformen Terminierung? Deduktion, SS 10, F olien Reduktion 01, Seite 14, 17. Juni2010

Beispiel: Kaffeebohnenprobleme Wort aus weißen und schwarzen Kaffeebohnen Kaffeebohnen 1 Die Spielregeln des ersten Spiels sind: sw s ws s ss w Deduktion, SS 10, F olien Reduktion 01, Seite 15, 17. Juni2010

Beispiel: Kaffeebohnenproblem 1 Reduktionssequenz: wwsswwss wwsswss wwwwss wwwsss wwss wss ss w Richtig gespielt: eine weiße Bohne übrig, (wg. Parität) andere Ergebnisse aus nur weißen Bohnen sind möglich. Deduktion, SS 10, F olien Reduktion 01, Seite 16, 17. Juni2010

Kaffebohnenbeispiel 2 sw s ws s ss w ww w Ergebnis ist jetzt eindeutig. Ergebnis unabhängig ist von der Reihenfolge der Regelanwendungen Nachweis durch Betrachtung von Überlappungen: wss kann ss bzw. ww sein Terminierung gilt. Deduktion, SS 10, F olien Reduktion 01, Seite 17, 17. Juni2010

Kaffebohnenbeispiel 3 Wie 2, aber die Anzahl der Bohnen kann zwischendurch ansteigen: sw wwws ws s ss wwww ww w Deduktion, SS 10, F olien Reduktion 01, Seite 18, 17. Juni2010

Kaffebohnenbeispiel 4 Bohnen sind Multimenge Regeln gelten für Multimengen hat: sw s ss w ww w Auch hier: Ergebnis unabhängig von der Reihenfolge. Deduktion, SS 10, F olien Reduktion 01, Seite 19, 17. Juni2010

Beispiel: Lambdakalkül λ-terme λx.x λx.(λy.(x y)) λx.(λy.x) λx.λy.λz(xz)(yz) ist die Identität I Anwendung (ist bekannt als K-Kombinator mit (K x) y x ) (ist bekannt als S-Kombinator mit ((S x) y) z (x z)(y z) Reduktion: Einsetzen von aktuellen Parametern für formale Parameter: (λx.(λy.x)a)b ((λy.a)b) a (λx.x x)2 2 2 4 Deduktion, SS 10, F olien Reduktion 01, Seite 20, 17. Juni2010

Grundlagen: Relationen, Reduktion, Konfluenz, Erinnerung. und Terminierung Eine binäre Relation R auf einer Menge M heißt reflexiv : x M : xrx. transitiv : x, y, z M : xry yrz xrz. symmetrisch : x, y M : xry yrx. antisymmetrisch : x, y M : xry yrx x = y asymmetrisch : x, y M : xry (yrx) irreflexiv : x M : xrx linear(total) : x, y M : xry x = y yrx Eine reflexive, transitive Relation heißt Präordnung (Quasi-Ordnung). Eine lineare reflexive Ordnung heißt lineare Ordnung (totale Ordnung). Deduktion, SS 10, F olien Reduktion 01, Seite 21, 17. Juni2010

Eine partielle Ordnung ist definiert als eine Relation auf M, die reflexiv, transitiv und antisymmetrisch ist. Der strikte Anteil {(x, y) x y}, bezeichnet mit < Quasi-Ordnungen definieren eine Äquivalenzrelation mittels x y gdw. x y und y x. partielle Ordnung auf den Äquivalenzklassen: [x] [y] gdw x y.

Grundlagen: Relationen Sei (M, R) eine partielle Ordnung und sei N M. 1. a N heißt größtes Element von N, wenn es größer als alle anderen Elemente von N ist : ( x N : xra). 2. a N heißt kleinstes Element von N, wenn es kleiner als alle anderen Elemente ist : x N : arx. 3. a heißt maximal, wenn es kein echt größeres Element gibt. 4. a heißt minimal, wenn es kein echt kleineres Element gibt. 5. obere Schranken von N: ub(n) := {x M y N : yrx}. Deduktion, SS 10, F olien Reduktion 01, Seite 23, 17. Juni2010

6. untere Schranken von N: lb(n) := {x M y N : xry}. 7. minimale Elemente in ub(n): lub(n) 8. maximale Elemente in lb(n): glb(n)

Wortproblem Sei E eine Menge und eine Äquivalenzrelation auf E. Dann ist das Wortproblem zu (E, ) gegeben durch: Eingabe: u, v E Frage: Gilt u v? Erweiterte Frage: Gibt es einen Entscheidungs-Algorithmus zu u v? Deduktion, SS 10, F olien Reduktion 01, Seite 25, 17. Juni2010

Grundlagen: Reduktion (E, ) nennt man ein abstraktes Reduktionssystem: wenn E eine Menge und zweistellige Relation auf E ist Bezeichnungen: x 0 y gdw. x = y x i+1 y gdw. y.x i y y y x + y gdw. i > 0 : x i y x y gdw. i 0 : x i y x y gdw. x y oder y x Die Relationen +,, i sind analog zu +,, i definiert. Deduktion, SS 10, F olien Reduktion 01, Seite 26, 17. Juni2010

Grundlagen: Reduktion a ist reduzibel, falls es ein b gibt mit a b, sonst ist a irreduzibel. b ist eine Normalform zu a, falls a b und b irreduzibel ist. Hat a genau eine Normalform, so wird sie mit a bezeichnet. a, b heißen zusammenführbar (konfluent), falls es ein c gibt mit a c und b c. a b. Deduktion, SS 10, F olien Reduktion 01, Seite 27, 17. Juni2010

Wortproblem und Reduktion Lösung des Wortproblems zu (E, ) mittels Reduktionssystem (E, ) mit den Eigenschaften: Jedes u E hat genau eine Normalform u. u v gdw. u = v. Das ist eine Lösung des Wortproblems, falls effektiv ist. I.a.nimmt man = Deduktion, SS 10, F olien Reduktion 01, Seite 28, 17. Juni2010