A.3.1 Function extensionality and univalence
There are two basic ways of introducing axioms which do not introduce new syntax or judgmental equalities (function extensionality and univalence are of this form): either add a primitive constant to inhabit the axiom, or prove all theorems which depend on the axiom by hypothesizing a variable that inhabits the axiom, cf.Β Β§1.1 (http://planetmath.org/11typetheoryversussettheory). While these are essentially equivalent, we opt for the former approach because we feel that the axioms of homotopy type theory are an essential part of the core theory.
axiom:funext is formalized by introduction of a constant which
asserts that is an equivalence:
{mathparpagebreakable}
\inferrule*[right=-ext]
Ξ β’f : β_(x:A)B
Ξ β’g : β_(x:A)B
Ξ β’funext(f,g) : (happly_f,g)
The definitions of and can be found inΒ (LABEL:eq:happly) and
Β§4.5 (http://planetmath.org/45onthedefinitionofequivalences), respectively.
axiom:univalence is formalized in a similar fashion, too:
{mathparpagebreakable}
\inferrule*[right=-univ]
Ξ β’A : _i
Ξ β’B : _i
Ξ β’ (A,B) : ( _A,B)
The definition of can be found inΒ (LABEL:eq:uidtoeqv).
Title | A.3.1 Function extensionality and univalence |
\metatable |