see also the index (by topic, by tool, by reference, by year)

## Jean-Christophe Filliâtre

- A small mathematical puzzle from a Dijkstra paper
- A small puzzle involving a Roberval balance
- A tiny register allocator for tree expressions
- Algorithm 63 (partition)
- Algorithm 64 (quicksort)
- Algorithm 65 (find)
- Amortized Queue, in Why3
- An example from EWD 673
- Bellman-Ford algorithm
- Binary Sort
- Binary Square Root
- Binary multiplication
- Binary search
- Binary search in C annotated in ACSL
- Binomial heaps
- Boyer and Moore's MJRTY algorithm (1980)
- Braun Trees
- Bresenham line drawing algorithm
- Build a balanced tree from a list
- Call-by-value reduction of SK terms
- Check an array of integers for duplicate values
- Checking that a word is a Dyck word
- Circular queue in an array
- Coincidence count
- Computing the height of a tree in CPS style
- Computing the number of solutions to the N-queens puzzle
- Conjugate of a partition
- Depth-First Search
- Dijkstra's national flag
- Dijkstra's national flag (variant)
- Dijkstra's shortest path algorithm
- Edition distance
- Euclidean division
- Extract non-zero values from an array
- Fast exponentiation
- Fibonacci function, linear/logarithmic algorithms, Why3 version
- Fibonacci with memoization
- Find a value in a sorted list of integers
- Find the maximal element in an array
- Find the shortest path in a directed graph using BFS
- FoVeOOS'11 Competition: challenge 2 in Why3
- FoVeOOS'11 Competition: challenge 3 in Why3
- Generate all binary trees of size n
- Gnome Sort
- Greatest common divisor with Bezout coefficients
- Greatest common divisor, using the Euclidean algorithm
- Hash table implementation
- Hash tables with linear probing
- Hillel challenge
- Hoare's
*Proof of a Program: FIND* - Insertion sort (arrays)
- Insertion sort (lists)
- Inverse in place
- Inverting an Injection, in Why3
- Knuth's prime numbers
- Knuth-Morris-Pratt string searching algorithm
- Koda-Ruskey's algorithm
- Maximal sum in a matrix
- Maximum subarray problem
- Maze building from the VACID-0 benchmarks
- McCarthy's 91 function
- Mergesort (arrays)
- Mergesort (lists)
- Mergesort (queues)
- Minimum excludant (aka mex)
- Optimal replay
- Pigeonhole principle
- Program proofs from Floyd's
*Assigning Meanings to Programs*(1967) - Program verification examples from the book "Software Foundations"
- Proof from Turing's
*Checking a Large Routine*(1949) - Quicksort (arrays)
- Random Access Lists
- Red-black trees
- Remove duplicate elements in an array, in-place
- Removing duplicate elements in an array, using a mutable set
- Resizable arrays
- Ropes
- Same fringe
- Searching a Linked List, in Why3
- Searching a zero in an array where values never decrease by more than one
- Selection sort (arrays)
- Skew heaps
- Snapshotable Trees
- Sort an array of Boolean values
- Sort an array of integers, assuming all elements are in the range 0..k-1
- Sparse Arrays in Why3
- Sum and Maximum, in Why3
- The N-queens problem, in C with Caduceus tool
- The N-queens problem, in Why3
- The N-queens problem, using bit vectors
- Tortoise and hare algorithm
- Traversing a tree inorder, filling an array
- Tree of array
- Tree reconstruction from a list of leave depths
- Tree relabelling
- Two puzzles from Danvy and Goldberg's ``There and back again''
- Unraveling a Card Trick
- Various programs computing the factorial, in Why3
- Various ways of proving an induction principle
- VerifyThis 2015: solution to problem 1
- VerifyThis 2015: solution to problem 2
- VerifyThis 2015: solution to problem 3
- VerifyThis 2017: Maximum-sum submatrix
- VerifyThis 2017: Odd-even transposition sort
- VerifyThis 2017: Pair Insertion Sort
- VerifyThis 2017: Tree Buffer
- VerifyThis @ FM 2012, problem 3
- Warshall algorithm

see also the index (by topic, by tool, by reference, by year)