### Abstract

We provide a formalization of the mergesort algorithm as used in GHC's Data.List module, proving correctness and stability. Furthermore, experimental data suggests that generated (Haskell-)code for this algorithm is much faster than for previous algorithms available in the Isabelle distribution.

### License

BSD License

### History

November 20, 2020
  Additional theory Natural_Mergesort that developes an efficient mergesort algorithm without key-functions for educational purposes.
September 19, 2018
  Theory Efficient_Mergesort replaces theory Efficient_Sort but keeping the old name Efficient_Sort.
September 17, 2018
  Added theory Efficient_Mergesort that works exclusively with the mutual induction schemas generated by the function package.
October 24, 2012
  Added reference to journal article.

### Topics

- Computer science/Algorithms

### Session Efficient-Mergesort

- Efficient_Sort
- Mergesort_Complexity
- Natural_Mergesort

### Used by

- The Factorization Algorithm of Berlekamp and Zassenhaus
- Unified Decision Procedures for Regular Expression Equivalence

## Cite

×

Efficient-Mergesort-AFP

    @article{Efficient-Mergesort-AFP,
      author  = {Christian Sternagel},
      title   = {Efficient Mergesort},
      journal = {Archive of Formal Proofs},
      month   = {November},
      year    = {2011},
      note    = {\url{https://isa-afp.org/entries/Efficient-Mergesort.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Apr 18, 2020 : Isabelle2020
- Jun 11, 2019 : Isabelle2019
- Aug 16, 2018 : Isabelle2018
- Oct 10, 2017 : Isabelle2017
- Dec 17, 2016 : Isabelle2016-1
- Feb 22, 2016 : Isabelle2016
- May 27, 2015 : Isabelle2015
- Aug 28, 2014 : Isabelle2014
- Dec 11, 2013 : Isabelle2013-2
- Nov 17, 2013 : Isabelle2013-1
- Mar 2, 2013 : Isabelle2013
- Feb 16, 2013 : Isabelle2013
- May 24, 2012 : Isabelle2012
- Nov 10, 2011 : Isabelle2011-1