Contents
Contents
Idea
The cone type is an axiomatization of the cone in the context of homotopy type theory.
Definition
A cone type on a type is a higher inductive type inductively generated by
In Coq pseudocode, the cone is given by
Inductive Cone (A : Type) : Type
| vertex : Cone A
| base : A -> Cone A
| edge : A -> Id Cone A vertex base(a)
It can equivalently be defined as the (homotopy) pushout of and the unit type under . Similarly, it is the cofiber of the identity function of . This definition makes it clear that the cone type is always a contractible type. As a result, cone types could be though of as a way of constructing free contractible types for any type .
The cone type of can also be defined as the localization of at the empty type, , and thus it is the (-2)-truncation of .
Inference rules
Formation rules for cone types:
Introduction rules for cone types:
Elimination rules for cone types:
Computation rules for cone types:
- Judgmental computation rules
- Propositional computation rules
Uniqueness rules for cone types:
Properties
Propositionally constant functions
In dependent type theory, a propositionally constant function from type to at an element is a function with a dependent function .
Given a propositionally constant function at , , with , by the recursion principle of the cone type, one has
such that
In particular, by the judgmental congruence rule for the introduction rule of function types, the standard constant function for with from the typal computation rules for function types factors through by
where for strict function types we have .
Propositionally constant functions can also be regarded directly as functions , similar to how paths in can be regarded as functions from the the interval type rather than the application of said function along the path generator of the interval type.
Since the cone type is a contractible type, it is equivalent to the unit type, with equivalences , and every constant function factors the unit type through and .
Examples
-
The unit type is the cone type of an empty type .
-
The interval type is the cone type of the unit type
-
A simplex type? is the cone type of the simplex type . and .
See also