system F

E588093

System F is a polymorphically typed lambda calculus that extends the simply typed lambda calculus with universal quantification over types, forming a foundational system for studying parametric polymorphism in programming languages and type theory.

All labels observed (1)

Label Occurrences
system F canonical 1

How this entity was disambiguated

Statements (47)

Predicate Object
instanceOf formal system ⓘ
polymorphically typed lambda calculus ⓘ
typed lambda calculus ⓘ
canEncode Church encodings of data structures ⓘ
algebraic data types ⓘ
existential types ⓘ
product types ⓘ
sum types ⓘ
extends simply typed lambda calculus ⓘ
formalizes parametric polymorphism ⓘ
hasAlternativeName polymorphic lambda calculus ⓘ
second-order lambda calculus ⓘ
hasCorrespondenceWith second-order intuitionistic logic ⓘ
hasFeature impredicative polymorphism ⓘ
type abstraction ⓘ
type application ⓘ
type variables ⓘ
hasJudgmentForm Γ ⊢ t : τ ⓘ
hasKindOfPolymorphism parametric polymorphism ⓘ
hasProperty Church–Rosser property ⓘ
confluent reduction ⓘ
strong normalization ⓘ
subject reduction ⓘ
type safety ⓘ
hasQuantificationLevel second-order ⓘ
hasRestriction no general algorithm for type inference ⓘ
hasTermLanguage lambda terms with type abstraction and application ⓘ
hasTypeSystem second-order type system ⓘ
hasTypicalNotation ∀α. τ for universal type quantification ⓘ
influenced Girard–Reynolds polymorphism in programming languages ⓘ
Hindley–Milner type system ⓘ
System Fω ⓘ
linked to: System F
isBasisFor design of polymorphic type systems ⓘ
isMoreExpressiveThan simply typed lambda calculus ⓘ
isSubsetOf Calculus of Constructions (in terms of expressiveness hierarchy) ⓘ
isUndecidable typability problem ⓘ
type inhabitation problem ⓘ
relatedTo Curry–Howard correspondence ⓘ
requires explicit type annotations for full type checking ⓘ
supports universal quantification over types ⓘ
usedFor studying polymorphism in programming languages ⓘ
studying type abstraction ⓘ
usedIn programming language theory ⓘ
type theory ⓘ
wasIndependentlyIntroducedBy John C. Reynolds ⓘ
wasIntroducedBy Jean-Yves Girard ⓘ
wasIntroducedInYear 1972 ⓘ

How these facts were elicited

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Scott encoding → relatedTo → system F ⓘ