README.md 1.02 KB
Newer Older
1 2 3
Equivalence checking with CurryCheck
====================================

4 5 6 7 8
This directory contains some examples for the use
of CurryCheck to check the equivalence of operations.

Since most of these are examples to test whether CurryCheck
is able to report counter-examples, their test fails intentionally.
9
These are the programs
10
- BacciEtAl12 (simple example from Bacci et al PPDP'12)
Michael Hanus 's avatar
Michael Hanus committed
11
- Intersperse (inserting separators in a list [Christiansen/Seidel'11])
12 13
- Ints12 (generators for infinite lists)
- NDInsert (non-deterministic list insertion)
14
- Perm (permutation from library Combinatorial vs. less strict version)
15 16
- RevRev (double reverse)
- SortEquiv (two variants of permutation sort)
17
- SortPermute (two variants of permutation sort with a stricter permutation)
Michael Hanus 's avatar
Michael Hanus committed
18 19
- Take (two variants of take [Foner/Zhang/Lampropoulos'18])
- Unzip (two variants of unzip [Chitil'11])
20

21 22 23 24
The following programs contain successful equivalence tests:
- Fac (recursive specification of factorial vs. iterative implementation)
- SelectionSort
- SortISortEquiv