A New Implementation of Automath

  • Authors:
  • Freek Wiedijk

  • Affiliations:
  • Department of Computer Science, University of Nijmegen, The Netherlands, e-mail: freek@cs.kun.nl

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

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