Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coq-community/fav-ssr
Functional Algorithms Verified in SSReflect [maintainer=@clayrat]
https://github.com/coq-community/fav-ssr
2-3-tree avl-tree binomial-heap coq huffman-coding leftist-heap mathcomp quadtree redblack-tree ssreflect
Last synced: 7 days ago
JSON representation
Functional Algorithms Verified in SSReflect [maintainer=@clayrat]
- Host: GitHub
- URL: https://github.com/coq-community/fav-ssr
- Owner: coq-community
- License: mit
- Created: 2021-10-29T17:07:42.000Z (about 3 years ago)
- Default Branch: trunk
- Last Pushed: 2024-11-17T20:08:15.000Z (about 1 month ago)
- Last Synced: 2024-12-10T01:10:33.237Z (17 days ago)
- Topics: 2-3-tree, avl-tree, binomial-heap, coq, huffman-coding, leftist-heap, mathcomp, quadtree, redblack-tree, ssreflect
- Language: Coq
- Homepage:
- Size: 450 KB
- Stars: 45
- Watchers: 8
- Forks: 7
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Functional Data Structures and Algorithms in SSReflect
[![Docker CI][docker-action-shield]][docker-action-link]
[![Contributing][contributing-shield]][contributing-link]
[![Code of Conduct][conduct-shield]][conduct-link]
[![Zulip][zulip-shield]][zulip-link][docker-action-shield]: https://github.com/coq-community/fav-ssr/actions/workflows/docker-action.yml/badge.svg?branch=trunk
[docker-action-link]: https://github.com/coq-community/fav-ssr/actions/workflows/docker-action.yml[contributing-shield]: https://img.shields.io/badge/contributions-welcome-%23f7931e.svg
[contributing-link]: https://github.com/coq-community/manifesto/blob/master/CONTRIBUTING.md[conduct-shield]: https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-%23f15a24.svg
[conduct-link]: https://github.com/coq-community/manifesto/blob/master/CODE_OF_CONDUCT.md[zulip-shield]: https://img.shields.io/badge/chat-on%20zulip-%23c1272d.svg
[zulip-link]: https://coq.zulipchat.com/#narrow/stream/237663-coq-community-devs.20.26.20usersA port of the book https://functional-algorithms-verified.org/ to Coq/SSReflect.
The book was previously called "Functional Algorithms Verified", hence the FAV acronym.
## Meta
- Author(s):
- Alex Gryzlov (initial)
- Coq-community maintainer(s):
- Alex Gryzlov ([**@clayrat**](https://github.com/clayrat))
- License: [MIT license](LICENSE)
- Compatible Coq versions: 8.15 to 8.19
- Additional dependencies:
- [MathComp ssreflect](https://math-comp.github.io) 1.17.0 to 1.19.0
- [MathComp algebra](https://math-comp.github.io)
- [Equations](https://github.com/mattam82/Coq-Equations) 1.3 or later
- Coq namespace: `favssr`
- Related publication(s): none## Building instructions
To build manually, do:
```shell
make # or make -j
```## Contents
1. [Basics](src/basics.v)
### Part I: Sorting and Selection
2. [Sorting](src/sorting.v)
3. [Selection](src/selection.v)
### Part II: Search Trees
4. [Binary Trees](src/bintree.v)
5. [Binary Search Trees](src/bst.v)
6. [Abstract Data Types](src/adt.v)
7. [2-3 Trees](src/twothree.v)
8. [Red-Black Trees](src/redblack.v)
9. [AVL Trees](src/avl.v)
10. [Beyond Insert and Delete: \cup, \cap and -](src/beyond.v)
11. [Arrays via Braun Trees](src/braun.v)
12. [Tries](src/trie.v)
13. [Region Quadtrees](src/quadtree.v)
### Part III: Priority Queues
14. [Priority Queues](src/priority.v)
15. [Leftist Heaps](src/leftist.v)
16. [Priority Queues via Braun Trees](src/braun_queue.v)
17. [Binomial Heaps](src/binom_heap.v)
### Part IV: Advanced Design and Analysis Techniques
18. Dynamic Programming
19. Amortized Analysis
20. Queues
21. Splay Trees
22. Skew Heaps
23. Pairing Heaps
### Part V: Selected Topics
24. Knuth–Morris–Pratt String Search
25. [Huffman’s Algorithm](src/huffman.v)
26. Alpha-Beta Pruning