Skip to main content Accessibility help

When are Two Algorithms the Same?

  • Andreas Blass (a1), Nachum Dershowitz (a2) and Yuri Gurevich (a3)


People usually regard algorithms as more abstract than the programs that implement them. The natural way to formalize this idea is that algorithms are equivalence classes of programs with respect to a suitable equivalence relation. We argue that no such equivalence relation exists.



Hide All
[1] Aho, Alfred, Hopcroft, John, and Ullman, Jeferey, The design and analysis of computer algorithms, Addison-Wesley, 1974.
[2] Blass, Andreas and Gurevich, Yuri, Algorthms: A quest for absoute definitions, Bulletin of the European Association for Theoretical Computer Science, vol. 81 (2003), pp. 195.
[3] Blass, Andreas and Gurevich, Yuri, Ordinary interactive small-step algorithms, ACM Transactions on Computational Logic, Part I, vol. 7 (2006), pp. 363419, Part II, vol. 8 (2007), article 15, and Part III, vol. 8 (2007), article 16.
[4] Bourbaki, Nicolas, Eléments de mathématique XVII, première partie: Les structures fondamentales de l'analyse, Livre I. Théorie des ensembles, Hermann & Cie, 1954, English translation Theory of sets , Hermann and Addison-Wesley, 1968, reprinted by Springer-Verlag (2004).
[5] Buss, Samuel, Kechris, Alexander, Pillay, Anand, and Shore, Richard, The prospects for mathematical logic in the twenty-first century, this Bulletin, vol. 7 (2001), pp. 169196.
[6] de Bruijn, Nicolaas, Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem, Koninklijke Nederlandse Akademie van Wetenschappen Proc. Ser. A, vol. 75 = Indagationes Mathematicae, vol. 34 (1972), pp. 381·392.
[7] Dershowitz, Nachum and Gurevich, Yuri, A natural axiomatization of computability and proof of Church's thesis, this Bulletin, vol. 14 (2008), pp. 299350.
[8] Friedman, Harvey, Some systems of second-order arithmetic and their use, Proceedings of the International Congress of Mathematicians, Vancouver 1974, vol. I, 1975, pp. 235242.
[9] Girard, Jean-Yves, Linear logic, Theoretical Computer Science, vol. 50 (1987), pp. 1101.
[10] Gurevich, Yuri, Evolving algebras: Lipari guide, Specification and validation methods (Börger, E., editor), Oxford University Press, 1995, pp. 936.
[11] Gurevich, Yuri, Sequential abstract state machines capture sequential algorithms, ACM Transactions on Computational Logic, vol. 1 (2000), pp. 77.
[12] Joyce, David, Euclid's elements, web page at (viewed on 01 27, 2008.).
[13] Knuth, Donald E., Sorting and searching, The art of computer programming, vol. 3, Addison-Wesley, 1973.
[14] Lambek, Joachim, Deductive systems and categories. I. Syntactic calculus and residuated categories, Mathematical Systems Theory, vol. 2 (1968), pp. 287.
[15] Moschovakis, Yiannis, English as a programming language, Tarski Lecture 2, (03 5, 2008) available at
[16] Moschovakis, Yiannis, What is an algorithm?, Mathematics unlimited (Engquist, B. and Schmid, W., editors), Springer-Verlag, 2001, pp. 919936.
[17] Papadimitriou, Christos, Algorithms, games, and the internet, Proceedings of the 33rd annual ACM Symposium on Theory of Computing (STOC), ACM, 2001, pp. 749753.
[18] Literate programs, Merge sort, web site,
[19] Simpson, Stephen, Subsystems of second order arithmetic, Perspectives in Mathematical Logic, Springer-Verlag, 1999.
[20] Tarski, Alfred, Undecidable theories, North-Holland, 1953, with the collaboration of Andrzej Mostowski and Raphael Robinson.
[21] Vopěnka, Petr, Mathematics in the alternative set theory, Teubner Verlag, 1979.
[22] Wikipedia, Euclidean algorithm, 2008, web site, (viewed on 01 27, 2008.).
[23] Yanofsky, Noson, Towards a definition of an algorithm, preprint, 2006, arXiv:math/0602053.


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed