21
Automatisierte Logik und Programmierung II Sommersemester 2004 Christoph Kreitz Theoretische Informatik, Raum 1.18, Telephon 3060 [email protected] http://www.cs.uni-potsdam.de/ti/lehre/alupII.htm 1. Ziele 2. R¨ uckblick Wintersemester 2003/04 3. Ausblick Sommersemester 2004 4. Organisatorisches

Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Embed Size (px)

Citation preview

Page 1: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II

Sommersemester 2004

Christoph Kreitz

Theoretische Informatik, Raum 1.18, Telephon 3060

[email protected]

http://www.cs.uni-potsdam.de/ti/lehre/alupII.htm

1. Ziele

2. Ruckblick Wintersemester 2003/04

3. Ausblick Sommersemester 2004

4. Organisatorisches

Page 2: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 1 Einfuhrung

Ziel: Computergestutztes logisches Schließen

• Mathematische Beweisfuhrung

– Aufdeckung und Korrektur von Fehlern (Beweisprufung)

– Automatische Suche nach neuen Beweisen (Theorembeweisen)

Page 3: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 1 Einfuhrung

Ziel: Computergestutztes logisches Schließen

• Mathematische Beweisfuhrung

– Aufdeckung und Korrektur von Fehlern (Beweisprufung)

– Automatische Suche nach neuen Beweisen (Theorembeweisen)

• Unterstutzung fur Entwurf zuverlassiger Software

– Fehlersuche und Korrektheitsbeweise (Verifikation)

– Verbesserung der Performanz (Optimierung)

– Erzeugung aus Spezifikationen (Synthese)

Page 4: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 1 Einfuhrung

Ziel: Computergestutztes logisches Schließen

• Mathematische Beweisfuhrung

– Aufdeckung und Korrektur von Fehlern (Beweisprufung)

– Automatische Suche nach neuen Beweisen (Theorembeweisen)

• Unterstutzung fur Entwurf zuverlassiger Software

– Fehlersuche und Korrektheitsbeweise (Verifikation)

– Verbesserung der Performanz (Optimierung)

– Erzeugung aus Spezifikationen (Synthese)

• Inferenzmaschine fur KI-Systeme

– Problemloser und Planer fur Roboter, . . .

Page 5: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 2 Einfuhrung

Themen des ersten Semesters (Winter 2003/04)

Inferenzkalkule fur Mathematik und Programmierung

• Beweisen = Anwendung formaler Regeln– Umgeht Mehrdeutigkeiten der naturlichen Sprache

– Erlaubt schematische Losung mathematischer Probleme

Page 6: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 2 Einfuhrung

Themen des ersten Semesters (Winter 2003/04)

Inferenzkalkule fur Mathematik und Programmierung

• Beweisen = Anwendung formaler Regeln– Umgeht Mehrdeutigkeiten der naturlichen Sprache

– Erlaubt schematische Losung mathematischer Probleme

• Kernbestandteile:– Formale Sprache (Syntax + Semantik)

– Ableitungssystem (Axiome + Inferenzregeln)

– Notwendige Eigenschaften: korrekt, vollstandig, automatisierbar

– Nutzliche Eigenschaften: konstruktiv, ausdrucksstark, lesbar

Page 7: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 2 Einfuhrung

Themen des ersten Semesters (Winter 2003/04)

Inferenzkalkule fur Mathematik und Programmierung

• Beweisen = Anwendung formaler Regeln– Umgeht Mehrdeutigkeiten der naturlichen Sprache

– Erlaubt schematische Losung mathematischer Probleme

• Kernbestandteile:– Formale Sprache (Syntax + Semantik)

– Ableitungssystem (Axiome + Inferenzregeln)

– Notwendige Eigenschaften: korrekt, vollstandig, automatisierbar

– Nutzliche Eigenschaften: konstruktiv, ausdrucksstark, lesbar

• Vorgestellte Kalkule– Pradikatenlogik (Logisches Schließen)

– λ-Kalkul (Programmierung)

– einfache Typentheorie (Programmeigenschaften)

– Intuitionistische/Konstruktive Typentheorie (Uniformer Kalkul)

Page 8: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 3 Einfuhrung

Eigenschaften der konstruktiven Typentheorie

• Extrem ausdrucksstarkes Inferenzsystem

– Direkte Darstellung der zentralen Konzepte (keine Simulation)

– Formalisierung “naturlicher” Gesetze als Regeln

Page 9: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 3 Einfuhrung

Eigenschaften der konstruktiven Typentheorie

• Extrem ausdrucksstarkes Inferenzsystem

– Direkte Darstellung der zentralen Konzepte (keine Simulation)

– Formalisierung “naturlicher” Gesetze als Regeln

– Sehr umfangreiche Theorie

· Viele Basiskonstrukte, mehr als 150 Inferenzregeln

· Programmkonstruktion durch konstruktive Beweisfuhrung moglich

· Abhangige Datentypen machen Wohlgeformtheit unentscheidbar

Page 10: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 3 Einfuhrung

Eigenschaften der konstruktiven Typentheorie

• Extrem ausdrucksstarkes Inferenzsystem

– Direkte Darstellung der zentralen Konzepte (keine Simulation)

– Formalisierung “naturlicher” Gesetze als Regeln

– Sehr umfangreiche Theorie

· Viele Basiskonstrukte, mehr als 150 Inferenzregeln

· Programmkonstruktion durch konstruktive Beweisfuhrung moglich

· Abhangige Datentypen machen Wohlgeformtheit unentscheidbar

· Gestutzt auf konstruktive semantische Theorie

Page 11: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 3 Einfuhrung

Eigenschaften der konstruktiven Typentheorie

• Extrem ausdrucksstarkes Inferenzsystem

– Direkte Darstellung der zentralen Konzepte (keine Simulation)

– Formalisierung “naturlicher” Gesetze als Regeln

– Sehr umfangreiche Theorie

· Viele Basiskonstrukte, mehr als 150 Inferenzregeln

· Programmkonstruktion durch konstruktive Beweisfuhrung moglich

· Abhangige Datentypen machen Wohlgeformtheit unentscheidbar

· Gestutzt auf konstruktive semantische Theorie

• Praktische Probleme

– Beweise erfordern viel Schreibarbeit → interaktive Beweissysteme

Page 12: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 3 Einfuhrung

Eigenschaften der konstruktiven Typentheorie

• Extrem ausdrucksstarkes Inferenzsystem

– Direkte Darstellung der zentralen Konzepte (keine Simulation)

– Formalisierung “naturlicher” Gesetze als Regeln

– Sehr umfangreiche Theorie

· Viele Basiskonstrukte, mehr als 150 Inferenzregeln

· Programmkonstruktion durch konstruktive Beweisfuhrung moglich

· Abhangige Datentypen machen Wohlgeformtheit unentscheidbar

· Gestutzt auf konstruktive semantische Theorie

• Praktische Probleme

– Beweise erfordern viel Schreibarbeit → interaktive Beweissysteme

– Beweise sind unubersichtlich (komplexer Beweisbaum)

– Beweise manchmal schwer zu finden (viele Regeln und Parameter)

→ Automatisierung der Beweisfuhrung

Page 13: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 4 Einfuhrung

Themen des zweiten Teils (Sommer 2004)

• Aufbau von BeweissystemenGUI

Evaluator

Translator

GUI GUI

Evaluator

Evaluator

Evaluator

Translator

InferenceEngine

InferenceEngine

InferenceEngine

InferenceEngine

InferenceEngine

Java OCaml

Maude

MetaPRL

SoS (Lisp)

Nuprl-5 Web

Library Nuprl

HOL/SPIN

MetaPRL

PVS

MEGAΩ

PRL

(PVS)(HOL)

....

....

....THEORY

defs, thms, tacticsrules, structure, code

rules, structure, code

rules, structure, codedefs, thms, tactics defs, thms, tactics

rules, structure, code

rules, structure, codedefs, thms, tactics

rules, structure, codedefs, thms, tactics

defs, thms, tactics

THEORY

THEORY

THEORY THEORY

THEORY

– Implementierung interaktiver Beweisassistenten

– Das Nuprl Logical Programming Environment

Page 14: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 4 Einfuhrung

Themen des zweiten Teils (Sommer 2004)

• Aufbau von BeweissystemenGUI

Evaluator

Translator

GUI GUI

Evaluator

Evaluator

Evaluator

Translator

InferenceEngine

InferenceEngine

InferenceEngine

InferenceEngine

InferenceEngine

Java OCaml

Maude

MetaPRL

SoS (Lisp)

Nuprl-5 Web

Library Nuprl

HOL/SPIN

MetaPRL

PVS

MEGAΩ

PRL

(PVS)(HOL)

....

....

....THEORY

defs, thms, tacticsrules, structure, code

rules, structure, code

rules, structure, codedefs, thms, tactics defs, thms, tactics

rules, structure, code

rules, structure, codedefs, thms, tactics

rules, structure, codedefs, thms, tactics

defs, thms, tactics

THEORY

THEORY

THEORY THEORY

THEORY

– Implementierung interaktiver Beweisassistenten

– Das Nuprl Logical Programming Environment

• Beweisautomatisierung

– Taktisches Beweisen

– Entscheidungsprozeduren

– Integration externer Systeme

Page 15: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 4 Einfuhrung

Themen des zweiten Teils (Sommer 2004)

• Aufbau von BeweissystemenGUI

Evaluator

Translator

GUI GUI

Evaluator

Evaluator

Evaluator

Translator

InferenceEngine

InferenceEngine

InferenceEngine

InferenceEngine

InferenceEngine

Java OCaml

Maude

MetaPRL

SoS (Lisp)

Nuprl-5 Web

Library Nuprl

HOL/SPIN

MetaPRL

PVS

MEGAΩ

PRL

(PVS)(HOL)

....

....

....THEORY

defs, thms, tacticsrules, structure, code

rules, structure, code

rules, structure, codedefs, thms, tactics defs, thms, tactics

rules, structure, code

rules, structure, codedefs, thms, tactics

rules, structure, codedefs, thms, tactics

defs, thms, tactics

THEORY

THEORY

THEORY THEORY

THEORY

– Implementierung interaktiver Beweisassistenten

– Das Nuprl Logical Programming Environment

• Beweisautomatisierung

– Taktisches Beweisen

– Entscheidungsprozeduren

– Integration externer Systeme

• Anwendungen & Demonstrationen /RJLF/RJLF &RPPXQLFDWLRQ&RPPXQLFDWLRQ3URJUDPPLQJ3URJUDPPLQJ

6HFXUHVRIWZDUHLQIUDVWUXFWXUH6HFXUHVRIWZDUHLQIUDVWUXFWXUH

– Entwicklung formaler Theorien

– Programmsynthese

– Optimierung des Kommunikationssytems Ensemble...

Page 16: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 5 Einfuhrung

Organisatorisches

• Zuordnung: theoretische/angewandte Informatik

Page 17: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 5 Einfuhrung

Organisatorisches

• Zuordnung: theoretische/angewandte Informatik

• Veranstaltungsarten– Vorlesung: Prasentation der zentralen Konzepte

– Ubung: Vertiefung und Anwendung theoretischer Aspekte

– Praktikum (optional): selbstgewahltes praktisches Beweiserprojekt

Page 18: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 5 Einfuhrung

Organisatorisches

• Zuordnung: theoretische/angewandte Informatik

• Veranstaltungsarten– Vorlesung: Prasentation der zentralen Konzepte

– Ubung: Vertiefung und Anwendung theoretischer Aspekte

– Praktikum (optional): selbstgewahltes praktisches Beweiserprojekt

• Kreditpunkte: 6–9 (Verbindliche Anmeldung bis 6. Mai)

Page 19: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 5 Einfuhrung

Organisatorisches

• Zuordnung: theoretische/angewandte Informatik

• Veranstaltungsarten– Vorlesung: Prasentation der zentralen Konzepte

– Ubung: Vertiefung und Anwendung theoretischer Aspekte

– Praktikum (optional): selbstgewahltes praktisches Beweiserprojekt

• Kreditpunkte: 6–9 (Verbindliche Anmeldung bis 6. Mai)

• Veranstaltungstermine– Mo 13:30–15:00 – Vorlesung

– Di 13:30–15:00 – Vorlesung/Ubung im Wechsel

– Do 11:00–12:30 – Praktikum

Page 20: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 5 Einfuhrung

Organisatorisches

• Zuordnung: theoretische/angewandte Informatik

• Veranstaltungsarten– Vorlesung: Prasentation der zentralen Konzepte

– Ubung: Vertiefung und Anwendung theoretischer Aspekte

– Praktikum (optional): selbstgewahltes praktisches Beweiserprojekt

• Kreditpunkte: 6–9 (Verbindliche Anmeldung bis 6. Mai)

• Veranstaltungstermine– Mo 13:30–15:00 – Vorlesung

– Di 13:30–15:00 – Vorlesung/Ubung im Wechsel

– Do 11:00–12:30 – Praktikum

• Lehrmaterialien:– Vorlesungsskript von 1995, Fachartikel und Manuals

Page 21: Automatisierte Logik und Programmierung II · GUI Evaluator Translator GUI GUI Evaluator Evaluator Evaluator Translator Inference Engine Inference Engine Inference Engine Inference

Automatisierte Logik und Programmierung II 5 Einfuhrung

Organisatorisches

• Zuordnung: theoretische/angewandte Informatik

• Veranstaltungsarten– Vorlesung: Prasentation der zentralen Konzepte

– Ubung: Vertiefung und Anwendung theoretischer Aspekte

– Praktikum (optional): selbstgewahltes praktisches Beweiserprojekt

• Kreditpunkte: 6–9 (Verbindliche Anmeldung bis 6. Mai)

• Veranstaltungstermine– Mo 13:30–15:00 – Vorlesung

– Di 13:30–15:00 – Vorlesung/Ubung im Wechsel

– Do 11:00–12:30 – Praktikum

• Lehrmaterialien:– Vorlesungsskript von 1995, Fachartikel und Manuals

• Erfolgskriterien– Aktive Teilnahme an Ubungen

– Abschlußprufung (mundlich) und praktische Projektaufgabe (je 50%)