Redirected from "dependent heterogeneous identity types".
Contents
Context
Equality and Equivalence
equivalence
-
equality (definitional, propositional, computational, judgemental, extensional, intensional, decidable)
-
identity type, equivalence of types, definitional isomorphism
-
isomorphism, weak equivalence, homotopy equivalence, weak homotopy equivalence, equivalence in an (∞,1)-category
-
natural equivalence, natural isomorphism
-
gauge equivalence
-
Examples.
principle of equivalence
equation
-
fiber product, pullback
-
homotopy pullback
-
Examples.
-
linear equation, differential equation, ordinary differential equation, critical locus
-
Euler-Lagrange equation, Einstein equation, wave equation
-
Schrödinger equation, Knizhnik-Zamolodchikov equation, Maurer-Cartan equation, quantum master equation, Euler-Arnold equation, Fuchsian equation, Fokker-Planck equation, Lax equation
Type theory
Induction
Contents
Idea
In dependent type theory, a heterogeneous identity type or dependent identity type is a version of the identity type where given a type , a type family , terms , , and an identification , the heterogeneous identity type between two elements and is a type whose elements witness that and are “equal” over or modulo the identification .
Note on terminology
There are many different names used for this particular dependent type, as well as many different names used for the terms of this dependent type. These include the following:
name of type | name of terms |
---|
heterogeneous identity type | heterogeneous identities |
heterogeneous path type | heterogeneous paths |
heterogeneous identification type | heterogeneous identifications |
heterogeneous equality type | heterogeneous equalities |
These four names have different reasons behind the use of the name:
-
The name “heterogeneous identity type” comes from the fact that the dependent identity type is the canonical one-to-one correspondence of the transport equivalence on a type family and an identification , which is the dependent/heterogeneous version of the identity type for the identity equivalence
-
The name “heterogeneous path type” comes from the fact that, in a context where terms of ordinary identity types can be represented as functions from an interval type, the terms of the heterogeneous identity type can similarly be represented as dependent functions from the interval type. For instance, this is true in some categorical semantics and in cubical type theory.
Definitions
Using identity types
There are many different ways to define heterogeneous identity types. The simplest definition states that given a type family , heterogeneous identity types are an inductive family of types
generated by the family of elements called “heterogeneous reflexivity”
Inference rules
The inference rules for forming heterogeneous identity types and terms are as follows. First the inference rule that defines the heterogeneous identity type itself, as a dependent type, in some context .
Formation rule for heterogeneous identity types:
Now the basic “introduction” rule, which says that everything is equal to itself in a canonical way.
Introduction rule for heterogeneous identity types:
Next we have the “elimination” rule:
Elimination rule for heterogeneous identity types:
The elimination rule then says that if:
- for any elements and , any identification , any elements and , and any heterogeneous identification we have a type , and
- we have a specified dependent function
then we can construct a canonically defined term called the eliminator
for any , , , , , and .
Then, we have the computation rule or beta-reduction rule. This says that for all elements and , substituting the dependent function into the eliminator along heterogeneous reflexivity for and yields an element equal to itself. Normally “equal” here means judgmental equality (a.k.a. definitional equality), but it is also possible for it to mean propositional equality (a.k.a. typal equality), so there are two possible computation rules.
Computation rules for heterogeneous identity types:
Finally, one might consider a uniqueness rule or eta-conversion rule. But similar to the case for identity types, a judgmental uniqueness rule for heterogeneous identity types implies that the type theory is an extensional type theory, in which case there is not much need for heterogeneous identity types, so such a rule is almost never written down. And as for identity types and other inductive types, the propositional/typal uniqueness rule is provable from the other four inference rules, so we don’t write it out explicitly.
Dependent universal property
The elimination, typal computation, and typal uniqueness rules for heterogeneous identity types state that heterogeneous identity types satisfy the dependent universal property of heterogeneous identity types. If the dependent type theory also has dependent sum types and product types, allowing one to define the uniqueness quantifier, the dependent universal property of heterogeneous identity types could be simplified to the following rule:
In natural language this states that given a type , a type family indexed by elements , and given a type family indexed by elements , , , , , and , for all elements , , and , there exists a unique function with domain
and codomain
such that is equal to in the type .
Using function types from the interval type
There is another notion of heterogeneous identity type, which uses functions from the interval type , rather than elements , , and :
Given a type family , heterogeneous identity types are an inductive family of types
generated by the family of elements called “heterogeneous reflexivity”
since by definition of constant function we have that
Inference rules
The inference rules for forming heterogeneous identity types and terms are as follows. First the inference rule that defines the heterogeneous identity type itself, as a dependent type, in some context .
Formation rule for heterogeneous identity types:
Now the basic “introduction” rule, which says that everything is equal to itself in a canonical way.
Introduction rule for heterogeneous identity types:
Next we have the “elimination” rule:
Elimination rule for heterogeneous identity types:
The elimination rule then says that if:
- for any function , any elements and , and any heterogeneous identification we have a type , and
- we have a specified dependent function
then we can construct a canonically defined term called the eliminator
for any , , , and .
Then, we have the computation rule or beta-reduction rule. This says that for all elements and , substituting the dependent function into the eliminator along heterogeneous reflexivity for and yields an element equal to itself. Normally “equal” here means judgmental equality (a.k.a. definitional equality), but it is also possible for it to mean propositional equality (a.k.a. typal equality), so there are two possible computation rules.
Computation rules for heterogeneous identity types:
Finally, one might consider a uniqueness rule or eta-conversion rule. But similar to the case for identity types, a judgmental uniqueness rule for heterogeneous identity types implies that the type theory is an extensional type theory, in which case there is not much need for heterogeneous identity types, so such a rule is almost never written down. And as for identity types and other inductive types, the propositional/typal uniqueness rule is provable from the other four inference rules, so we don’t write it out explicitly.
From two-type identity types
Given two-type identity types in the type theory, heterogeneous identity types between and across the path could be defined as the two-type identity type between and across the transport equivalence
Properties
Groupoidal structure of heterogeneous identity types
Reflexivity of heterogeneous identifications is already given in the introduction rule of heterogeneous identity types.
Definition
Given
-
a type family ,
-
elements , , ,
-
identifications and ,
-
elements , , and ,
there is a function called the concatenation of heterogeneous identifications
defined by double induction on heterogeneous reflexivity for and
in the type
Definition
Given
-
a type family ,
-
elements ,
-
identifications
-
elements , ,
there is a dependent function called the left unitor of heterogeneous identifications
defined by induction on heterogeneous reflexivity for and :
in the type
Definition
Given
-
a type family ,
-
elements ,
-
identifications
-
elements , ,
there is a dependent function called the right unitor of heterogeneous identifications
defined by induction on heterogeneous reflexivity for and
in the type
Definition
Given
-
a type family ,
-
elements , , ,
-
identifications , , ,
-
elements , , , ,
there is a dependent function called the associator of heterogeneous identifications
defined by triple induction on heterogeneous reflexivity for and
in the type
Definition
Given
-
a type family ,
-
elements ,
-
identifications
-
elements , ,
there is a function called the inverse of heterogeneous identifications
defined by induction on heterogeneous reflexivity:
Relation between identity types and heterogeneous identity types
There are equivalences between identity types and heterogeneous identity types
and
for all , , , , and . For constant families , and , so the above two equivalences simplify down to
for constant type families .
One-to-one correspondence structure
Heterogeneous identity types are one-to-one correspondences. Given elements , , and ,
- for all elements , there exists a unique element such that ; the witness is given by the right projection function of transport across ,
- for all elements , there exists a unique element such that ; the witness is given by the right projection function of the inverse transport across ,
Function application to identifications
The dependent function application to identifications is defined in the usual way, by induction on the identity type of the index type:
- given a type , a type family , and a dependent function , there are dependent functions
inductively defined respectively by:
Extensionality principles
Heterogeneous identity types are used in many extensionality principles.
- The extensionality principle for product types states that there is an equivalence
Inference rules for higher inductive types
Whenever there is an identification given in an introduction rule for a higher inductive type, one of the hypothesis in the elimination and computation rules for the higher inductive types is a judgment of a term of the corresponding heterogeneous identification type along the given identification in the introduction rule.
For example, the introduction rules for the circle type state that one could construct an element and an identification . The elimination rule for the circle type states that given the hypotheses of
-
a type family ,
-
an element ,
-
a heterogeneous identification ,
one could construct the family of elements .
Categorical semantics
needs to be written
In cubical type theory
The path types in cubical type theory are heterogeneous path types. See cubical path type for more details.
In higher observational type theory
In higher observational type theory, the heterogeneous identity type is a primitive type former (although depending on the presentation, it can also be obtained using into the universe). In its general form, the type family can depend not just on a single type but on a type telescope . The resulting heterogeneous identity type then depends on an “identification in that telescope”, which is defined by mutual recursion as a telescope of heterogeneous identity types. The formation rule is then
… needs to be finished
Heterogeneous identity types in universes
Given a term of a universe , a judgment , terms and , and an identity , we have
and
We could define a heterogeneous identity type as
There is a rule
and for constant families
A variant using dependent function types
There is a variant of heterogeneous identity types which uses a dependent function instead of two elements and in the constructor. This variant is useful for defining dependent function application to identifications.
These are given by the following inference rules:
Given a dependent function , we have
since by induction we have functions
and
inductively defined by
and
Thus, we have identifications
and
inductively defined by
and
since by the properties of judgmental equality
and
Then by the properties of quasi-inverse functions and equivalences of types one could prove that both and are equivalences of types.
References
Inference rules for heterogeneous identity types (referred to as “dependent identity types” in the article) could be found in section 6 of:
For heterogeneous identity types in the context of higher observational type theory, see: