Proof pearl: Braun trees
Paper i proceeding, 2020

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 }.

Isabelle

Braun tree

Verification

Författare

Tobias Nipkow

Technische Universität München

Thomas Sewell

Chalmers

CPP 2020 - Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2020

18-31

9th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2020, co-located with POPL 2020
New Orleans, USA,

Ämneskategorier

Språkteknologi (språkvetenskaplig databehandling)

Bioinformatik (beräkningsbiologi)

Matematisk analys

DOI

10.1145/3372885.3373834

Mer information

Senast uppdaterat

2020-05-12