Journal of Automated Reasoning

, Volume 29, Issue 3–4, pp 365–387 | Cite as

A New Implementation of Automath

  • Freek Wiedijk


This paper presents aut, a modern Automath checker. It is a straightforward re-implementation of the Zandleven Automath checker from the seventies. It was implemented about five years ago, in the programming language C. It accepts both the AUT-68 and AUT-QE dialects of Automath. This program was written to restore a damaged version of Jutting's translation of Landau's Grundlagen. Some notable features:

• It is fast. On a 1 GHz machine it will check the full Jutting formalization (736 K of nonwhitespace Automath source) in 0.6 seconds.

• Its implementation of λ-terms does not use named variables or de Bruijn indices (the two common approaches) but instead uses a graph representation. In this representation variables are represented by pointers to a binder.

• The program can compile an Automath text into one big ‘Automath single line’-style λ-term. It outputs such a term using de Bruijn indices. (These λ-terms cannot be checked by modern systems like Coq or Agda, because the λ-typed λ-calculi of de Bruijn are different from the Π-typed λ-calculi of modern type theory.)

The source of aut is freely available on the Web at the address <>.

Automath formalized mathematics proof objects type theory 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Balsters, H.: Lambda calculus extended with segments, Ph.D. thesis, Eindhoven University of Technology, 1986.Google Scholar
  2. Barendregt, H.: Lambda calculi with types, in S. Abramsky, D. Gabbay and T. Maibaum (eds), Handbook of Logic in Computer Science, Vol. II, Oxford University Press, 1992, pp. 117–309.Google Scholar
  3. de Bruijn, N.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem, Indigationes Math. 34 (1972), 381–392. (C.2) in (Nederpelt et al., 1994).Google Scholar
  4. de Bruijn, N.: Generalizing Automath by means of a lambda-typed lambda calculus, in D. Kueker, E. Lopez-Escobar and C. Smith (eds), Mathematical Logic and Theoretical Computer Science, Lecture Notes in Pure and Appl. Math. 106, Marcel Dekker, New York, 1987, pp. 71–92. (B.7) in (Nederpelt et al., 1994).Google Scholar
  5. de Bruijn, N.: Telescopic mappings in typed lambda calculus, Inform. Comput. 91 (1991), 189–204.Google Scholar
  6. de Groote, P.: Defining λ-typed λ-calculi by axiomatizing the typing relation, Technical Report CRIN 93-R-003, Centre de Recherche en Informatique de Nancy, 1993.Google Scholar
  7. Gordon, M., Milner, R. and Wadsworth, C.: Edinburgh LCF: A Mechanised Logic of Computation, LNCS 78, Springer-Verlag, Berlin, 1979.Google Scholar
  8. Harper, R., Honsell, F. and Plotkin, G.: A framework for defining logics, Technical Report ECSLFCS-91-162, Laboratory for Foundations of Computer Science, Department of Computer Science, The University of Edinburgh, 1991.Google Scholar
  9. F., Bloo, R. and Nederpelt, R.: On П-conversion in the λ-cube and the combination with abbreviations, Ann. Pure Appl. Logic 97 (1999), 27–45.Google Scholar
  10. Kamareddine, F. and Nederpelt, R.: Canonical typing and П-conversion in the Barendregt cube, J. Funct. Programming 6 (1996), 245–267.Google Scholar
  11. Landau E.: Grundlagen der Analysis, 4th edn, Chelsea, New York, 1965. First edition 1930.Google Scholar
  12. Megill, N. D.: Metamath, a computer language for pure mathematics, 1997. <>. A NEW IMPLEMENTATION OF AUTOMATH 387Google Scholar
  13. Nederpelt, R., Geuvers, J. and de Vrijer, R.: Selected Papers on Automath, Studies in Logic and the Foundations of Mathematics, Elsevier Science, Amsterdam, 1994.Google Scholar
  14. Nipkow, T., Paulson, L. and Wenzel, M.: Isabelle/HOL – A Proof Assistant for Higher-Order Logic, LNCS 2283, Springer, 2002.Google Scholar
  15. Paulson, L.: Isabelle: A Generic Theorem Prover, LNCS 828, Springer-Verlag, New York, 1994.Google Scholar
  16. Pfenning, F.: The practice of logical frameworks, in H. Kirchner (ed.), Proceedings of the Colloquium on Trees in Algebra and Programming, Linköping, Sweden, LNCS 1059, Springer-Verlag, 1996, pp. 119–134. <>.Google Scholar
  17. The Coq Development Team: The Coq Proof Assistant Reference Manual, 2002. <>.Google Scholar
  18. van Benthem Jutting, L.: A translation of Landau's “Grundlagen” in AUTOMATH, Technical Report, Eindhoven University of Technology, 1976.Google Scholar
  19. van Benthem Jutting, L.: Checking Landau's “Grundlagen” in the Automath System, Mathematical Centre Tracts 83, Mathematisch Centrum, Amsterdam, 1979.Google Scholar
  20. van Benthem Jutting, L.: Typing in pure type systems, Technical Report, Dept. Computer Science, University of Nijmegen, Nijmegen, 1990.Google Scholar
  21. van Daalen, D.: A description of Automath and some aspects of its language theory, in P. Braffort (ed.), Proceedings of the Symposium APLASM, Vol. 1, Orsay, 1973. (A.3) in (Nederpelt et al., 1994).Google Scholar
  22. van Daalen, D.: The language theory of Automath, Ph.D. thesis, Eindhoven University of Technology, 1980.Google Scholar
  23. Wiedijk, F.: The De Bruijn factor, 2000. <>.Google Scholar
  24. Wiedijk, F.: The fifteen provers of the world, 2002. <>.Google Scholar
  25. Zandleven, I.: A verifying program for Automath, in P. Braffort (ed.), Proceedings of the Symposium APLASM, Vol. I, Orsay, 1973. (E.1) in (Nederpelt et al., 1994).Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Freek Wiedijk

There are no affiliations available

Personalised recommendations