MarketPure type system
Company Profile

Pure type system

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. In fact, Barendregt (1991) framed his cube in this setting. 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.

Definition
A pure type system is defined by a triple (\mathcal{S}, \mathcal{A}, \mathcal{R}) where \mathcal{S} is the set of sorts, \mathcal{A} \subseteq \mathcal{S}^2 is the set of axioms, and \mathcal{R} \subseteq \mathcal{S}^3 is the set of rules. Typing in pure type systems is determined by the following rules, where s is any sort: \frac{(s_1, s_2) \in \mathcal{A}}{\vdash s_1 : s_2}\quad \text{(axiom)} \frac{\Gamma \vdash A : s \quad x \notin \text{dom}(\Gamma)}{\Gamma, x : A \vdash x : A }\quad \text{(start)} \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)} \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)} \frac{\Gamma \vdash C : \Pi x : A. B \quad \Gamma \vdash a : A}{\Gamma \vdash Ca : B[x := a]}\quad\text{(application)} \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)} \frac{\Gamma \vdash A : B \quad B =_{\beta} B' \quad \Gamma \vdash B' : s}{\Gamma \vdash A : B'}\quad\text{(conversion)} == Implementations ==
Implementations
The following programming languages have pure type systems: • SAGE • Yarrow • Henk 2000 • Haskell since GHC version 8. ==See also==
tickerdossier.comtickerdossier.substack.com