Parametricity
Builds on System FBinary relation
Definition
Let be a type built from one type variable and some fixed base types, such as the booleans, with the arrow . For a set , write for the set obtained by reading as and each base type as its set of values. Here is read as the set of all functions from to . A polymorphic value of type is a family with for every set . For sets and a binary relation , the relational interpretation is defined by induction on .
- For , the relation is .
- For a base type, the relation is equality.
- For , functions and are related if and are related by whenever and are related by .
The polymorphic value is parametric if and are related by for all sets , and all relations .
Remarks
Example: let be a parametric value of type , let be a set and . Take and the relation . Clause 3 gives that and are related by , so , and is the identity on .
Non-example: let be the swap of and when is the set of booleans, and the identity on every other set . This is a family of maps , but it is not parametric. With , the booleans and , clause 3 fails: and are related, but and are not. Such a family cannot be written as a term of System F, since a term cannot test which type it is applied to.
For a function , taking to be the graph of turns the relational statement into an equation, which is how the free theorems are read off. For all of System F, with nested quantifiers and several type variables, the relational interpretation has one more clause. Values of are related if, for all , and , their instances at and are related by the interpretation of at . Reynolds showed that System F has no model in which types are plain sets and ranges over all sets. So this general form is used in other models, such as models built from partial equivalence relations, or in a syntactic form. Reynolds' abstraction theorem says that every closed term of System F is parametric in this sense.
Reading path
To understand this page from the ground up, read these 26 pages in order. The foundations come first.
Show the path as a graph
- no evidence level
- Binary relation concept
- Element definition
- Intuitionistic logic concept
- Lambda calculus concept
- Proposition concept
- Set concept
- Set definition
- Conjunction definition
- Disjunction definition
- Implication definition
- Negation definition
- Biconditional definition
- Truth table concept
- Modus ponens concept
- Mathematical proof concept
- Propositional logic concept
- Tautology definition
- Logical equivalence definition
- Double negation law statement
- Proof by contradiction concept
- Russell's paradox statement
- Type theory concept
- Curry–Howard correspondence concept
- Simply typed lambda calculus concept
- System F concept
- Parametricity definition
Further reading
About this page
| Tag | HHBHV871EV |
|---|---|
| URI | m2://HHBHV871EV |
| Kind | definition |
| Writing | W0 stub |
| MSC | 68N18, 68Q55, 03B40 |
| Defines | Parametricity |
| Uses | System F, Binary relation |
| Changed | 3 November 2026 |
Markdown · JSON · Edit on GitHub
What this page needs for W1
- an inventory row: the row of the inventory that the node accounts for (0 of 1)
- a source with a locator (0 of 1)
The writing levels say how complete the text of a page is. They do not measure its truth.
What links here
No page links to this page yet.