Pure type system

Source: Wikipedia, the free encyclopedia.
Unsolved problem in computer science:

Prove or disprove the Barendregt–Geuvers–Klop conjecture.

In the branches of

type hierarchy, as is the case with the calculus of constructions, but this is not generally the case, e.g. the simply typed lambda calculus
allows only terms to depend on terms.

Pure type systems were independently introduced by Stefano Berardi (1988) and Jan Terlouw (1989).

constructive logics akin to the lambda cube (these specifications are non-dependent). A modification of this cube was later called the L-cube by Herman Geuvers, who in his PhD thesis extended the Curry–Howard correspondence to this setting.[6] Based on these ideas, G. Barthe and others defined classical pure type systems (CPTS) by adding a double negation operator.[7]
Similarly, in 1998, Tijn Borghuis introduced modal pure type systems (MPTS).[8] Roorda has discussed the application of pure type systems to functional programming; and Roorda and Jeuring have proposed a programming language based on pure type systems.[9]

The systems from the lambda cube are all known to be

untyped lambda calculus[citation needed]. It is a major open problem in the field whether this is always the case, i.e. whether a (weakly) normalizing PTS always has the strong normalization property. This is known as the Barendregt–Geuvers–Klop conjecture[10] (named after Henk Barendregt, Herman Geuvers, and Jan Willem Klop
).

Definition

A pure type system is defined by a triple where is the set of sorts, is the set of axioms, and is the set of rules. Typing in pure type systems is determined by the following rules, where is any sort:[4]

Implementations

The following programming languages have pure type systems:[citation needed]

See also

  • System U – an example of an inconsistent PTS
  • λμ-calculus uses a different approach to control than CPTS

Notes

  1. ^ .
  2. ^ .
  3. .
  4. ^ a b Barendregt, H. (1992). "Lambda calculi with types". In Abramsky, S.; Gabbay, D.; Maibaum, T. (eds.). Handbook of Logic in Computer Science. Oxford Science Publications.
  5. University of Torino
    .
  6. CiteSeerX 10.1.1.56.7045
    .
  7. .
  8. .
  9. ^ Jan-Willem Roorda; Johan Jeuring. "Pure Type Systems for Functional Programming". Archived from the original on 2011-10-02. Retrieved 2010-08-29. Roorda's masters' thesis (linked from the cited page) also contains a general introduction to pure type systems.
  10. .
  11. ^ SAGE
  12. ^ Yarrow
  13. ^ Henk 2000

References

  • Berardi, Stefano (1988). Towards a mathematical analysis of the Coquand–Huet calculus of constructions and the other systems in Barendregt's cube (Technical report). Department of Computer Science, CMU, and Dipartimento Matematica, Universita di Torino. CMU-CS-88-131.
  • Terlouw, J. (1989). "Een nadere bewijstheoretische analyse van GSTTs" (Document) (in Dutch). Netherlands: University of Nijmegen.

Further reading

External links