Computational Interpretations of Classical Reasoning: From the Epsilon Calculus to Stateful Programs

  • Thomas PowellEmail author
Part of the Synthese Library book series (SYLI, volume 412)


The problem of giving a computational meaning to classical reasoning lies at the heart of logic. This article surveys three famous solutions to this problem – the epsilon calculus, modified realizability and the Dialectica interpretation – and re-examines them from a modern perspective, with a particular emphasis on connections with algorithms and programming.



I am grateful to the anonymous referee, together with Ulrik Buchholtz, Felix Canavoi and Sam Sanders, whose corrections and suggestions improved this paper considerably.


  1. Ackermann, W. (1940). Zur widerspruchsfreiheit der zahlentheorie. Mathematische Annalen, 117, 162–194.CrossRefGoogle Scholar
  2. Aschieri, F. (2011a). Learning, realizability and games in classical arithmetic. Ph.D. thesis, Universita degli Studi di Torino and Queen Mary, University of London.Google Scholar
  3. Aschieri, F. (2011b). Transfinite update procedures for predicative systems of analysis. In Computer Science Logic (CSL’11) (Volume 12 of Leibniz international proceedings in informatics, pp. 1–15).Google Scholar
  4. Aschieri, F., & Berardi, S. (2010). Interactive learning-based realizability for Heyting arithmetic with EM1. Logical Methods in Computer Science, 6(3), 1–22.CrossRefGoogle Scholar
  5. Avigad, J. (2002). Update procedures and the 1-consistency of arithmetic. Mathematical Logic Quarterly, 48(1), 3–13.CrossRefGoogle Scholar
  6. Avigad, J., & Feferman, S. (1998). Gödel’s functional (“Dialectica”) interpretation. In S. R. Buss (Ed.), Handbook of proof theory (Volume 137 of studies in logic and the foundations of mathematics, pp. 337–405). Amsterdam: North Holland.CrossRefGoogle Scholar
  7. Avigad, J., & Zach, R. (2013). The epsilon calculus. In The Stanford encyclopedia of philosophy. Revised edition Nov 2013 edition. Available online at
  8. Berardi, S., Bezem, M., & Coquand, T. (1998). On the computational content of the axiom of choice. Journal of Symbolic Logic, 63(2), 600–622.CrossRefGoogle Scholar
  9. Berger, U. (2004). A computational interpretation of open induction. In Proceedings of LICS 2004 (pp. 326–334). IEEE Computer Society.Google Scholar
  10. Berger, U., Lawrence, A., Forsberg, F., & Seisenberger, M. (2015). Extracting verified decision procedures: DPLL and resolution. Logical Methods in Computer Science, 11(1:6), 1–18.Google Scholar
  11. Berger, U., Miyamoto, K., & Schwichtenberg, H. (2016). Logic for Gray-code computation. In D. Probst & P. Schuster (Eds.), Concepts of proof in mathematics, philosophy, and computer science. Berlin/Boston: De Gruyter.Google Scholar
  12. Berger, U., & Schwichtenberg, H. (1995). Program extraction from classical proofs. In D. Leivant (Ed.), Logic and Computational Complexity Workshop (LCC’94) (Volume 960 of lecture notes in computer science, pp. 77–97).Google Scholar
  13. Berger, U., Seisenberger, M., & Woods, G. (2014). Extracting imperative programs from proofs: In-place quicksort. In Proceedings of TYPES 2013 (Volume 26 of LIPIcs, pp. 84–106).Google Scholar
  14. Birolo, G. (2012). Interative realizability, monads and witness extraction. Ph.D. thesis, Universitá degli Studi di Torino.Google Scholar
  15. Coquand, T. (1995). A semantics of evidence for classical arithmetic. Journal of Symbolic Logic, 60, 325–337.CrossRefGoogle Scholar
  16. de Paiva, V. (1991). The dialectica categories. Ph.D. thesis, University of Cambridge. Published as Technical report 213, Computer Laboratory, University of Cambridge.Google Scholar
  17. Ferreira, G., & Oliva, P. (2012). On the relation between various negative translations. In Logic, construction, computation (Volume 3 of Ontos-Verlag mathematical logic, pp. 227–258).Google Scholar
  18. Giese, M., & Ahrendt, W. (1999). Hilbert’s epsilon-terms in automated theorem proving. In TABLEAUX (Volume 1617 of LNCS, pp. 171–185). Springer.Google Scholar
  19. Gödel, K. (1958). Über eine bisher noch nicht benützte Erweiterung des finiten Standpunktes. Dialectica, 12, 280–287.CrossRefGoogle Scholar
  20. Gödel, K. (1990). Collected works (Vol. II). New York: Oxford University Press.Google Scholar
  21. Kohlenbach, U. (1999). On the no-counterexample interpretation. Journal of Symbolic Logic, 64, 1491–1511.CrossRefGoogle Scholar
  22. Kohlenbach, U. (2008). Applied proof theory: Proof interpretations and their use in mathematics (Monographs in mathematics). Berlin/Heidelberg: Springer.Google Scholar
  23. Kohlenbach, U. (2018). Kreisel’s ‘shift of emphasis’ and contemporary proof mining. Chapter for forthcoming book ‘Intuitionism, Computation, and Proof: Selected themes from the research of G. Kreisel’.Google Scholar
  24. Kohlenbach, U., & Safarik, P. (2014). Fluctuations, effective learnability and metastability in analysis. Annals of Pure and Applied Logic, 165, 266–304.CrossRefGoogle Scholar
  25. Kreisel, G. (1951). On the interpretation of non-finitist proofs, Part I. Journal of Symbolic Logic, 16, 241–267.Google Scholar
  26. Kreisel, G. (1952). On the interpretation of non-finitist proofs, part II: Interpretation of number theory. Journal of Symbolic Logic, 17, 43–58.CrossRefGoogle Scholar
  27. Kreisel, G. (1959). Interpretation of analysis by means of functionals of finite type. In A. Heyting (Ed.), Constructivity in mathematics (pp. 101–128). Amsterdam: North-Holland.Google Scholar
  28. Krivine, J.-L. (2009). Realizability in classical logic. In Interactive models of computation and program behaviour (Volume 27 of Panoramas et synthèses, pp. 197–229). Société Mathématique de France.Google Scholar
  29. Minlog. (2018). Official homepage of MINLOG, as of January 2018.
  30. Mints, G. (2008). Cut elimination for a simple formulation of the epsilon calculus. Annals of Pure and Applied Logic, 152(1–3), 148–169.CrossRefGoogle Scholar
  31. Miquel, A. (2011). Existential witness extraction in classical realizability and via a negative translation. Logical Methods in Computer Science, 7(2:2), 1–47.Google Scholar
  32. Moggi, E. (1991). Notions of computation and monads. Information and Computation, 93(1), 55–92.CrossRefGoogle Scholar
  33. Moser, G. (2006). Ackermann’s substitution method (remixed). Annals of Pure and Applied Logic, 142(1–3), 1–18.CrossRefGoogle Scholar
  34. Moser, G., & Zach, R. (2006). The epsilon calculus and Herbrand complexity. Studia Logica, 82(1), 133–155.CrossRefGoogle Scholar
  35. Novikoff, P. S. (1943). On the consistency of certain logical calculi. Matematiceskij Sbornik, 12(54), 230–260.Google Scholar
  36. Oliva, P. (2006). Unifying functional interpretations. Notre Dame Journal of Formal Logic, 47(2), 263–290.CrossRefGoogle Scholar
  37. Oliva, P., & Powell, T. (2015a). A constructive interpretation of Ramsey’s theorem via the product of selection functions. Mathematical Structures in Computer Science, 25(8), 1755–1778.CrossRefGoogle Scholar
  38. Oliva, P., & Powell, T. (2015b). A game-theoretic computational interpretation of proofs in classical analysis. In R. Kahle & M. Rathjen (Eds.), Gentzen’s centenary: The quest for consistency (pp. 501–532). Cham: Springer.CrossRefGoogle Scholar
  39. Oliva, P., & Powell, T. (2017). Spector bar recursion over finite partial functions. Annals of Pure and Applied Logic, 168(5), 887–921.CrossRefGoogle Scholar
  40. Pedrot, P.-M. (2015). A materialist dialectica. Ph.D. thesis, Université Paris Diderot.Google Scholar
  41. Powell, T. (2012). Applying Gödel’s Dialectica interpretation to obtain a constructive proof of Higman’s lemma. In Proceedings of classical logic and computation’12 (Volume 97 of EPTCS, pp. 49–62).Google Scholar
  42. Powell, T. (2013). On bar recursive interpretations of analysis. Ph.D. thesis, Queen Mary University of London.Google Scholar
  43. Powell, T. (2014). The equivalence of bar recursion and open recursion. Annals of Pure and Applied Logic, 165(11), 1727–1754.CrossRefGoogle Scholar
  44. Powell, T. (2015). Parametrised bar recursion: A unifying framework for realizability interpretations of classical dependent choice. Journal of Logic and Computation. (Advance access).Google Scholar
  45. Powell, T. (2016). Gödel’s functional interpretation and the concept of learning. In Proceedings of Logic in Computer Science (LICS 2016) (pp. 136–145). ACM.Google Scholar
  46. Powell, T. (2018a). A functional interpretation with state. In Proceedings of Logic in Computer Science (LICS 2018). ACM.Google Scholar
  47. Powell, T. (2018b, To appear). Well quasi-orders and the functional interpretation. In P. Schuster, M. Seisenberger, & A. Weiermann (Eds.), Well quasi-orders in computation, logic, language and reasoning (Trends in logic). Springer.Google Scholar
  48. Schwichtenberg, H., & Wainer, S. (2011). Proofs and computations (Perspectives in logic). Cambridge: Cambridge University Press.CrossRefGoogle Scholar
  49. Smullyan, R. (1978). What is the name of this book? The riddle of Dracula and other logical puzzles. Englewood Cliffs/London: Prentice Hall.Google Scholar
  50. Spector, C. (1962). Provably recursive functionals of analysis: A consistency proof of analysis by an extension of principles in current intuitionistic mathematics. In F. D. E. Dekker (Ed.), Recursive function theory: Proceedings of symposia in pure mathematics (Vol. 5, pp. 1–27). Providence, Rhode Island: American Mathematical Society.CrossRefGoogle Scholar
  51. Trifonov, T. (2011). Analysis of methods for extraction of programs from non-constructive proofs. Ph.D. thesis, Ludwig-Maximilians-Universität Munich.Google Scholar
  52. Wadler, P. (1995). Monads for functional programming. In Advanced functional programming (Volume 925 of lecture notes in computer science).Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.TU DarmstadtDarmstadtGermany

Personalised recommendations