lean4-htt/tests
Kim Morrison 4aa74d9c0b
feat: List.mergeSort (#5092)
Defines `mergeSort`, a naive stable merge sort algorithm, replaces it
via a `@[csimp]` lemma with something faster at runtime, and proves the
following results:

* `mergeSort_sorted`: `mergeSort` produces a sorted list.
* `mergeSort_perm`: `mergeSort` is a permutation of the input list.
* `mergeSort_of_sorted`: `mergeSort` does not change a sorted list.
* `mergeSort_cons`: proves `mergeSort le (x :: xs) = l₁ ++ x :: l₂` for
some `l₁, l₂`
so that `mergeSort le xs = l₁ ++ l₂`, and no `a ∈ l₁` satisfies `le a
x`.
* `mergeSort_stable`: if `c` is a sorted sublist of `l`, then `c` is
still a sublist of `mergeSort le l`.
2024-08-20 06:32:52 +00:00
..
bench feat: List.mergeSort (#5092) 2024-08-20 06:32:52 +00:00
compiler fix: split libleanshared on Windows to avoid symbol limit 2024-08-12 14:14:42 +02:00
elabissues
ir
lean feat: List.mergeSort (#5092) 2024-08-20 06:32:52 +00:00
pkg feat: accept user-defined options on the cmdline (#4741) 2024-08-02 12:24:56 +00:00
playground
plugin chore: when a linter crashes, prefix its name (#4967) 2024-08-12 02:36:42 +00:00
simpperf
.gitignore
common.sh
lean-toolchain