Functional Data Structures and Algorithms : A Proof Assistant Approach
Overview
This book is an introduction to data structures and algorithms for functional programming languages, with a focus on proofs. Starting with sorting and searching, it moves on to priority queues and advanced design and analysis techniques: dynamic programming, amortized analysis, splay trees, skew heaps and pairing heaps. The final part of the book covers a number of selected fun topics: graph algorithms, string search, Huffman's algorithm for generating optimal codes and alpha-beta pruning of game trees.
The book covers both correctness (does the algorithm do what it is supposed to do?) and running time analysis (does the algorithm terminate within a specified number of steps?). It does so in a unified manner with inductive proofs about functional programs and their running time functions.
What sets this book apart from existing books on algorithms is that all proofs have been machine-checked, by the proof assistant Isabelle. That is, in addition to the text in the book, which requires no knowledge of proof assistants , the Isabelle definitions and proofs are available online. The structured nature of Isabelle proofs permits even novices to follow the high-level arguments.
This book is aimed at teachers and students (it has been classroom-tested for a number of years) but is also a reference work for programmers and researchers who are interested in the (verified ) details of some algorithm or proof.
This item is Non-Returnable
Customers Also Bought
Details
- ISBN-13: 9798400731570
- ISBN-10: 9798400731570
- Publisher: Association for Computing Machinery
- Publish Date: September 2025
- Dimensions: 9.25 x 7.5 x 0.94 inches
- Shipping Weight: 2.05 pounds
- Page Count: 418
Related Categories
