Das Buch bietet Studierenden und Praktiker*innen mit Kenntnissen der (objektorientierten) Anwendungsentwicklung einen Einstieg in die theoretischen Grundlagen der Programmierung.
Auf Basis des Curry-Howard-Isomorphismus werden die Gemeinsamkeiten der konstruktiven Logik und der Programmierung beleuchtet. Damit können essentielle Grundlagen der Programmierung betrachtet werden, die sich durch klare Regeln (Reduktion und Inferenz) formulieren lassen.
Die vermittelte Theorie findet praktische Anwendung, indem Beweise in Agda programmiert werden. Grundlegende Zusammenhänge der Programmierung werden damit bewiesen. An elementaren Beispielen wird gezeigt, wie die Korrektheit von Programmen formal nachgewiesen werden kann und wie korrekte Programme unter Nutzung von Dependent Types konstruiert werden können. Aufgaben helfen beim Selbststudium. Die zugehörigen Lösungsvorschläge können über den Autor bezogen werden.
Der Inhalt
- Funktionale Programmierung im Überblick
- Lambda-Kalkül und Typisierung
- Natürliches Schließen und Propositions-as-Types
- Agda als funktionale Sprache und Beweisassistent
- Grundlagen der Programmierung mit Agda
Die Zielgruppen
- Studierende der Informatik
- Studierende der Mathematik/Logik mit Interesse an Beweisunterstützungssystemen
- Software-Entwickler mit Interesse an Dependent Types und formaler Verifikation
Der Autor
Prof. Dr. Dirk Wiesmann Nach einer Tätigkeit in der betrieblichen Softwareentwicklung lehrt Prof. Dr. Dirk Wiesmann Programmierung und Softwaretechnik am Fachbereich Informatik der Fachhochschule Dortmund.
Das Buch bietet Studierenden und Praktiker*innen mit Kenntnissen der (objektorientierten) Anwendungsentwicklung einen Einstieg in die theoretischen Grundlagen der Programmierung.
Auf Basis des Curry-Howard-Isomorphismus werden die Gemeinsamkeiten der konstruktiven Logik und der Programmierung beleuchtet. Damit können essentielle Grundlagen der Programmierung betrachtet werden, die sich durch klare Regeln (Reduktion und Inferenz) formulieren lassen.
Die vermittelte Theorie findet praktische Anwendung, indem Beweise in Agda programmiert werden. Grundlegende Zusammenhänge der Programmierung werden damit bewiesen. An elementaren Beispielen wird gezeigt, wie die Korrektheit von Programmen formal nachgewiesen werden kann und wie korrekte Programme unter Nutzung von Dependent Types konstruiert werden können. Aufgaben helfen beim Selbststudium. Die zugehörigen Lösungsvorschläge können über den Autor bezogen werden.
Dirk Wiesmann
Programmierung Funktionale Programmierung Theorie der Programmierung Lambda-Kalkül Proposition-as-Types Dependent Types Agda Logik und Programmierung Formale Verifikation