Functional Data Structures

Chair for Logic and Verification

Overview

Professor Prof. Tobias Nipkow,
Lecture Tue 14:15-15:45
Tutorial Fri 12:00-14:00
Start Lecture 16.04., Tutorial 19.04.
Language English
TUMonline IN2347
Submission System Proving for Fun
Discussion Platform Zulip FDS streams: Announcements (mandatory) and Discussion
Tutorial Organizers Simon Roßkopf
Exam 24.07.2024, 11:00 - 13:00, Room 003, Hörsaal 2, Interims II (5416.01.003)

Organization

Aims

The course introduces students to the design and analysis of data structures for functional programming languages. It assumes that the students are familiar with functional programming and with running time analysis of algorithms. The course covers a range of functional data structures with an emphasis on their precise analysis. Proofs of both functional correctness and complexity will be a core part of the course. Proofs are carried out with the help of a computer-based proof assistant Isabelle. An introduction to Isabelle is part of the course. There is an emphasis on search trees and priority queues, but the syllabus is still evolving.

At the end of the course students should be familiar with a number of efficient functional data structures and algorithms and should be able to prove both functional and complexity properties about them with the theorem prover Isabelle.

Prerequisites

Homework

Homework is the heart and soul of this course.

Further Literature

This is the canonical reference to functional data structures: