fbpx
Wikipedia

Pure type system

Unsolved problem in computer science:

Prove or disprove the Barendregt–Geuvers–Klop conjecture.

In the branches of mathematical logic known as proof theory and type theory, a pure type system (PTS), previously known as a generalized type system (GTS), is a form of typed lambda calculus that allows an arbitrary number of sorts and dependencies between any of these. The framework can be seen as a generalisation of Barendregt's lambda cube, in the sense that all corners of the cube can be represented as instances of a PTS with just two sorts.[1][2] In fact, Barendregt (1991) framed his cube in this setting.[3] Pure type systems may obscure the distinction between types and terms and collapse the 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).[1][2] Barendregt discussed them at length in his subsequent papers.[4] In his PhD thesis,[5] Berardi defined a cube of 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 strongly normalizing. Pure type systems in general need not be, for example System U from Girard's paradox is not. (Roughly speaking, Girard found pure systems in which one can express the sentence "the types form a type".) Furthermore, all known examples of pure type systems that are not strongly normalizing are not even (weakly) normalizing: they contain expressions that do not have normal forms, just like the 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 edit

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 edit

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

See also edit

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

Notes edit

  1. ^ a b Pierce, Benjamin (2002). Types and Programming Languages. MIT Press. p. 466. ISBN 0-262-16209-1.
  2. ^ a b Kamareddine, Fairouz D.; Laan, Twan; Nederpelt, Rob P. (2004). "Section 4c: Pure type systems". A modern perspective on type theory: from its origins until today. Springer. p. 116. ISBN 1-4020-2334-0.
  3. ^ Barendregt, H. P. (1991). "Introduction to generalized type systems". Journal of Functional Programming. 1 (2): 125–154. doi:10.1017/s0956796800020025. hdl:2066/17240. S2CID 44757552.
  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. ^ Berardi, S. (1990). Type dependence and Constructive Mathematics (PhD thesis). University of Torino.
  6. ^ Geuvers, H. (1993). Logics and Type Systems (PhD thesis). University of Nijmegen. CiteSeerX 10.1.1.56.7045.
  7. ^ Barthe, G.; Hatcliff, J.; Sørensen, M. H. (1997). "A Notion of Classical Pure Type System". Electronic Notes in Theoretical Computer Science. 6: 4–59. CiteSeerX 10.1.1.32.1371. doi:10.1016/S1571-0661(05)80170-7.
  8. ^ Borghuis, Tijn (1998). "Modal Pure Type Systems". Journal of Logic, Language and Information. 7 (3): 265–296. doi:10.1023/A:1008254612284. S2CID 5067584.
  9. ^ Jan-Willem Roorda; Johan Jeuring. . 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. ^ Sørensen, Morten Heine; Urzyczyn, Paweł (2006). "Pure type systems and the lambda cube § 14.7". Lectures on the Curry–Howard isomorphism. Elsevier. p. 358. ISBN 0-444-52077-5.
  11. ^ SAGE
  12. ^ Yarrow
  13. ^

References edit

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

  • Schmidt, David A. (1994). "§ 8.3 Generalized Type Systems". The structure of typed programming languages. MIT Press. pp. 255–8. ISBN 0-262-19349-3.

External links edit

  • Pure type system at the nLab
  • Jones, Roger Bishop (1999). "Pure Type Systems overview".

pure, type, system, unsolved, problem, computer, science, prove, disprove, barendregt, geuvers, klop, conjecture, more, unsolved, problems, computer, science, branches, mathematical, logic, known, proof, theory, type, theory, pure, type, system, previously, kn. Unsolved problem in computer science Prove or disprove the Barendregt Geuvers Klop conjecture more unsolved problems in computer science In the branches of mathematical logic known as proof theory and type theory a pure type system PTS previously known as a generalized type system GTS is a form of typed lambda calculus that allows an arbitrary number of sorts and dependencies between any of these The framework can be seen as a generalisation of Barendregt s lambda cube in the sense that all corners of the cube can be represented as instances of a PTS with just two sorts 1 2 In fact Barendregt 1991 framed his cube in this setting 3 Pure type systems may obscure the distinction between types and terms and collapse the 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 1 2 Barendregt discussed them at length in his subsequent papers 4 In his PhD thesis 5 Berardi defined a cube of 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 strongly normalizing Pure type systems in general need not be for example System U from Girard s paradox is not Roughly speaking Girard found pure systems in which one can express the sentence the types form a type Furthermore all known examples of pure type systems that are not strongly normalizing are not even weakly normalizing they contain expressions that do not have normal forms just like the 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 editA pure type system is defined by a triple S A R textstyle mathcal S mathcal A mathcal R nbsp where S textstyle mathcal S nbsp is the set of sorts A S 2 textstyle mathcal A subseteq mathcal S 2 nbsp is the set of axioms and R S 3 textstyle mathcal R subseteq mathcal S 3 nbsp is the set of rules Typing in pure type systems is determined by the following rules where s textstyle s nbsp is any sort 4 s 1 s 2 A s 1 s 2 axiom displaystyle frac s 1 s 2 in mathcal A vdash s 1 s 2 quad text axiom nbsp G A s x dom G G x A x A start displaystyle frac Gamma vdash A s quad x notin text dom Gamma Gamma x A vdash x A quad text start nbsp G A B G C s x dom G G x C A B weakening displaystyle frac Gamma vdash A B quad Gamma vdash C s quad x notin text dom Gamma Gamma x C vdash A B quad text weakening nbsp G A s 1 G x A B s 2 s 1 s 2 s 3 R G P x A B s 3 product displaystyle frac Gamma vdash A s 1 quad Gamma x A vdash B s 2 quad s 1 s 2 s 3 in mathcal R Gamma vdash Pi x A B s 3 quad text product nbsp G C P x A B G a A G C a B x a application displaystyle frac Gamma vdash C Pi x A B quad Gamma vdash a A Gamma vdash Ca B x a quad text application nbsp G x A b B G P x A B s G l x A b P x A B abstraction displaystyle frac Gamma x A vdash b B quad Gamma vdash Pi x A B s Gamma vdash lambda x A b Pi x A B quad text abstraction nbsp G A B B b B G B s G A B conversion displaystyle frac Gamma vdash A B quad B beta B quad Gamma vdash B s Gamma vdash A B quad text conversion nbsp Implementations editThe following programming languages have pure type systems citation needed SAGE 11 Yarrow 12 Henk 2000 13 See also editSystem U an example of an inconsistent PTS lm calculus uses a different approach to control than CPTSNotes edit a b Pierce Benjamin 2002 Types and Programming Languages MIT Press p 466 ISBN 0 262 16209 1 a b Kamareddine Fairouz D Laan Twan Nederpelt Rob P 2004 Section 4c Pure type systems A modern perspective on type theory from its origins until today Springer p 116 ISBN 1 4020 2334 0 Barendregt H P 1991 Introduction to generalized type systems Journal of Functional Programming 1 2 125 154 doi 10 1017 s0956796800020025 hdl 2066 17240 S2CID 44757552 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 Berardi S 1990 Type dependence and Constructive Mathematics PhD thesis University of Torino Geuvers H 1993 Logics and Type Systems PhD thesis University of Nijmegen CiteSeerX 10 1 1 56 7045 Barthe G Hatcliff J Sorensen M H 1997 A Notion of Classical Pure Type System Electronic Notes in Theoretical Computer Science 6 4 59 CiteSeerX 10 1 1 32 1371 doi 10 1016 S1571 0661 05 80170 7 Borghuis Tijn 1998 Modal Pure Type Systems Journal of Logic Language and Information 7 3 265 296 doi 10 1023 A 1008254612284 S2CID 5067584 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 Sorensen Morten Heine Urzyczyn Pawel 2006 Pure type systems and the lambda cube 14 7 Lectures on the Curry Howard isomorphism Elsevier p 358 ISBN 0 444 52077 5 SAGE Yarrow Henk 2000References editBerardi 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 editSchmidt David A 1994 8 3 Generalized Type Systems The structure of typed programming languages MIT Press pp 255 8 ISBN 0 262 19349 3 External links editPure type system at the nLab Jones Roger Bishop 1999 Pure Type Systems overview Retrieved from https en wikipedia org w index php title Pure type system amp oldid 1184626064, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.