Verified Analysis of Random Trees

This work is a case study of the formal verification and complexity analysis of some famous probabilistic algorithms and data structures in the proof assistant Isabelle/HOL: the expected number of comparisons in randomised quicksort, the relationship between randomised quicksort and average-case deterministic quicksort, the expected shape of an unbalanced random Binary Search Tree, and the expected shape of a Treap. The last two have, to our knowledge, not been analysed in a theorem prover before and the last one is of particular interest because it involves continuous distributions.

[1]  Tobias Nipkow Amortized Complexity Verified , 2015, ITP.

[2]  Joost-Pieter Katoen,et al.  Weakest Precondition Reasoning for Expected Run-Times of Probabilistic Programs , 2016, ESOP.

[3]  Johannes Hölzl,et al.  Three Chapters of Measure Theory in Isabelle/HOL , 2011, ITP.

[4]  Cecilia R. Aragon,et al.  Randomized search trees , 1989, 30th Annual Symposium on Foundations of Computer Science.

[5]  Philippe Flajolet,et al.  Lambda - Upsilon - Omega: An Assistant Algorithms Analyzer , 1988, AAECC.

[6]  Johannes Hölzl,et al.  A Verified Compiler for Probability Density Functions , 2015, ESOP.

[7]  Tobias Nipkow,et al.  Verified Root-Balanced Trees , 2017, APLAS.

[8]  Markus Wenzel,et al.  Isabelle, Isar - a versatile environment for human readable formal proof documents , 2002 .

[9]  Robert Sedgewick,et al.  The analysis of Quicksort programs , 1977, Acta Informatica.

[10]  Bruce A. Reed,et al.  The height of a random binary search tree , 2003, JACM.

[11]  Tobias Nipkow,et al.  Concrete Semantics: With Isabelle/HOL , 2014 .

[12]  Manuel Eberl The number of comparisons in QuickSort , 2017, Arch. Formal Proofs.

[13]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[14]  David A. Basin,et al.  CryptHOL: Game-Based Proofs in Higher-Order Logic , 2020, Journal of Cryptology.

[15]  Johannes Hölzl,et al.  Formalising Semantics for Expected Running Time of Probabilistic Programs , 2016, ITP.

[16]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[17]  Christine Paulin-Mohring,et al.  Proofs of randomized algorithms in Coq , 2006, Sci. Comput. Program..

[18]  Tobias Nipkow,et al.  Automatic Functional Correctness Proofs for Functional Search Trees , 2016, ITP.

[19]  Manuel Eberl Expected Shape of Random Binary Search Trees , 2017, Arch. Formal Proofs.

[20]  Thomas Ottmann,et al.  Algorithmen und Datenstrukturen , 1990, Reihe Informatik.

[21]  C. Caramanis What is ergodic theory , 1963 .

[22]  Marta Z. Kwiatkowska,et al.  Quantitative Analysis With the Probabilistic Model Checker PRISM , 2006, QAPL.

[23]  Johannes Hölzl,et al.  Markov Chains and Markov Decision Processes in Isabelle/HOL , 2017, Journal of Automated Reasoning.

[24]  Tobias Nipkow,et al.  Treaps , 2018, Arch. Formal Proofs.

[25]  Benjamin Grégoire,et al.  Formal certification of code-based cryptographic proofs , 2009, POPL '09.

[26]  Andreas Lochbihler,et al.  Probabilistic Functions and Cryptographic Oracles in Higher Order Logic , 2016, ESOP.

[27]  Roman Fric,et al.  A Categorical Approach to Probability Theory , 2010, Stud Logica.

[28]  J. Gregory Morrisett,et al.  The Foundational Cryptography Framework , 2014, POST.

[29]  Joe Hurd,et al.  Formal verification of probabilistic algorithms , 2003 .

[30]  Krishnendu Chatterjee,et al.  Automated Recurrence Analysis for Almost-Linear Expected-Runtime Bounds , 2017, CAV.

[31]  James McKinna,et al.  A Machine-Checked Proof of the Average-Case Complexity of Quicksort in Coq , 2009, TYPES.

[32]  M. V. Wilkes,et al.  The Art of Computer Programming, Volume 3, Sorting and Searching , 1974 .