Skip to main content
Log in

A New Implementation of Automath

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

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 <http://www.cs.kun.nl/~freek/aut/>.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Balsters, H.: Lambda calculus extended with segments, Ph.D. thesis, Eindhoven University of Technology, 1986.

  • 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 

  • 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 

  • 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 

  • de Bruijn, N.: Telescopic mappings in typed lambda calculus, Inform. Comput. 91 (1991), 189–204.

    Google Scholar 

  • 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.

  • Gordon, M., Milner, R. and Wadsworth, C.: Edinburgh LCF: A Mechanised Logic of Computation, LNCS 78, Springer-Verlag, Berlin, 1979.

    Google Scholar 

  • 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.

  • 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 

  • Kamareddine, F. and Nederpelt, R.: Canonical typing and П-conversion in the Barendregt cube, J. Funct. Programming 6 (1996), 245–267.

    Google Scholar 

  • Landau E.: Grundlagen der Analysis, 4th edn, Chelsea, New York, 1965. First edition 1930.

  • Megill, N. D.: Metamath, a computer language for pure mathematics, 1997. <http://metamath.org/>. A NEW IMPLEMENTATION OF AUTOMATH 387

  • 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 

  • Nipkow, T., Paulson, L. and Wenzel, M.: Isabelle/HOL – A Proof Assistant for Higher-Order Logic, LNCS 2283, Springer, 2002.

  • Paulson, L.: Isabelle: A Generic Theorem Prover, LNCS 828, Springer-Verlag, New York, 1994.

    Google Scholar 

  • 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. <http://www.cs.cmu.edu/~fp/papers/caap96.ps.gz>.

  • The Coq Development Team: The Coq Proof Assistant Reference Manual, 2002. <ftp://ftp.inria.fr/INRIA/coq/current/doc/Reference-Manual-all.ps.gz>.

  • van Benthem Jutting, L.: A translation of Landau's “Grundlagen” in AUTOMATH, Technical Report, Eindhoven University of Technology, 1976.

  • van Benthem Jutting, L.: Checking Landau's “Grundlagen” in the Automath System, Mathematical Centre Tracts 83, Mathematisch Centrum, Amsterdam, 1979.

    Google Scholar 

  • van Benthem Jutting, L.: Typing in pure type systems, Technical Report, Dept. Computer Science, University of Nijmegen, Nijmegen, 1990.

    Google Scholar 

  • 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).

  • van Daalen, D.: The language theory of Automath, Ph.D. thesis, Eindhoven University of Technology, 1980.

  • Wiedijk, F.: The De Bruijn factor, 2000. <http://www.cs.kun.nl/~freek/notes/factor.ps.gz>.

  • Wiedijk, F.: The fifteen provers of the world, 2002. <http://www.cs.kun.nl/~freek/comparison.ps.gz>.

  • 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).

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wiedijk, F. A New Implementation of Automath. Journal of Automated Reasoning 29, 365–387 (2002). https://doi.org/10.1023/A:1021983302516

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1021983302516

Navigation