Batcher, K. E. (1968) Sorting networks and their applications. In Proceedings of the April 30–May 2, 1968, Spring Joint Computer Conference. AFIPS '68 (Spring), ACM, pp. 307–314.
Bove, A. & Coquand, T. (2006) Formalising bitonic sort in type theory. In Types for Proofs and Programs, Filliâtre, J.-C., Paulin-Mohring, C. & Werner, B. (eds), Lecture Notes in Computer Science, vol. 3839. Berlin, Heidelberg: Springer, pp. 82–97.
Day, N. A., Launchbury, J. & Lewis, J. (1999) Logical abstractions in Haskell. In Proceedings of the 1999 Haskell Workshop.
Feijen, W. & Bijlsma, L. (1990) Exercises in formula manipulation. In Formal Development of Programs and Proofs, Dijkstra, E. W. (ed). Addison-Wesley Longman Publishing Co., Inc, pp. 139–158.
Hinze, R. (2009) Functional pearl: la tour d'Hanoï. In Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming (ICFP '09), Tolmach, A. (ed), ACM. pp. 3–10.
Knuth, D. E. (1998) The Art of Computer Programming, Volume~3: Sorting and Searching. 2nd ed. Addison-Wesley Publishing Company.
Reynolds, J. C. (1983) Types, abstraction and parametric polymorphism. In IFIP Congress, Mason, R. (ed), pp. 513–523.
Wadler, P. (1989) Theorems for free! In Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture. FPCA '89, ACM, pp. 347–359.