POPL 2020 (series) / CPP 2020 (series) / The 9th ACM SIGPLAN International Conference on Certified Programs and Proofs /
Proof Pearl: Braun Trees
Braun trees are functional data structures for implementing extensible arrays and priority queues (and sorting functions based on the latter) efficiently. Some well-known functions on Braun trees have not yet been verified, including especially Okasaki’s linear time conversion from lists to Braun trees. We supply the missing proofs and verify all of these algorithms in Isabelle, including non-obvious time complexity claims. In particular we provide the first linear-time conversion from Braun trees to lists. We also state and verify a new characterization of Braun trees as the trees t whose index set is the interval {1, … size of t}.
Mon 20 JanDisplayed time zone: Saskatchewan, Central America change
Mon 20 Jan
Displayed time zone: Saskatchewan, Central America change
10:30 - 11:35 | |||
10:30 21mTalk | A Verified Packrat Parser Interpreter for Parsing Expression Grammars CPP DOI Pre-print Media Attached | ||
10:51 22mTalk | Proof Pearl: Braun Trees CPP Tobias Nipkow Technische Universität München, Thomas Sewell Chalmers University of Technology, Sweden DOI Pre-print Media Attached | ||
11:13 22mTalk | FreeSpec: Specifying, Verifying and Executing Impure Computations in Coq CPP DOI Pre-print Media Attached |