Fri 28 Nov 2025 14:30 - 14:45 at CWI L017 - Ada - Foundations, Verification, and Semantics

Algorithms on restructuring binary search trees are typically presented in imperative pseudocode. Understandably so, as their performance relies on in-place execution, rather than the repeated allocation of fresh nodes in memory. Unfortunately, these imperative algorithms are notoriously difficult to verify as their loop invariants must relate the unfinished tree fragments being rebalanced. This talk presents several novel functional algorithms for accessing and inserting elements in a restructuring binary search tree that are as fast as their imperative counterparts; yet the correctness of these functional algorithms is established using a simple inductive argument.

Fri 28 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change