A Brief Overview of Agda – A Functional Language with Dependent Types

  • Ana Bove
  • Peter Dybjer
  • Ulf Norell
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5674)


We give an overview of Agda, the latest in a series of dependently typed programming languages developed in Gothenburg. Agda is based on Martin-Löf’s intuitionistic type theory but extends it with numerous programming language features. It supports a wide range of inductive data types, including inductive families and inductive-recursive types, with associated flexible pattern-matching. Unlike other proof assistants, Agda is not tactic-based. Instead it has an Emacs-based interface which allows programming by gradual refinement of incomplete type-correct terms.


Type Theory Dependent Type Proof Assistant Concrete Syntax Standard Library 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. In: Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Bove, A., Dybjer, P.: Dependent types at work. In: Barbosa, L., Bove, A., Pardo, A., Pinto, J.S. (eds.) LerNet ALFA Summer School 2008. LNCS, vol. 5520, pp. 57–99. Springer, Heidelberg (to appear, 2009)Google Scholar
  4. 4.
    Coquand, T., Huet, G.: The calculus of constructions. Information and Computation 76, 95–120 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Dybjer, P.: Inductive families. Formal Aspects of Computing 6, 440–465 (1994)CrossRefzbMATHGoogle Scholar
  6. 6.
    Dybjer, P.: A general formulation of simultaneous inductive-recursive definitions in type theory. Journal of Symbolic Logic 65(2) (June 2000)Google Scholar
  7. 7.
    Dybjer, P., Setzer, A.: Indexed induction-recursion. Journal of Logic and Algebraic Programming 66(1), 1–49 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Epigram homepage,
  9. 9.
    Gonthier, G.: The four colour theorem: Engineering of a formal proof. In: Kapur, D. (ed.) ASCM 2007. LNCS, vol. 5081, p. 333. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Gordon, M., Milner, R., Wadsworth, C.: Edinburgh LCF. In: Kahn, G. (ed.) Semantics of Concurrent Computation. LNCS, vol. 70. Springer, Heidelberg (1979)Google Scholar
  11. 11.
    Martin-Löf, P.: Constructive mathematics and computer programming. In: Logic, Methodology and Philosophy of Science, VI, 1979, pp. 153–175. North-Holland, Amsterdam (1982)Google Scholar
  12. 12.
    Martin-Löf, P.: Intuitionistic Type Theory. Bibliopolis, Napoli (1984)zbMATHGoogle Scholar
  13. 13.
    Nordström, B., Petersson, K., Smith, J.M.: Programming in Martin-Löf’s Type Theory. An Introduction. Oxford University Press, Oxford (1990)zbMATHGoogle Scholar
  14. 14.
    Norell, U.: Towards a practical programming language based on dependent type theory. PhD thesis, Chalmers University of Technology (2007)Google Scholar
  15. 15.
    Norell, U.: Dependently typed programming in Agda. In: Lecture Notes from the Summer School in Advanced Functional Programming (2008) (to appear)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Ana Bove
    • 1
  • Peter Dybjer
    • 1
  • Ulf Norell
    • 1
  1. 1.Chalmers University of TechnologyGothenburgSweden

Personalised recommendations