Extension types¶
-
Extension types \(\left\langle \prod_{t : I \mid \psi} A \vert ^{\phi} _{a} \right\rangle\) are written as
{t : I | psi t} -> A [ phi |-> a ]- specifying
[ phi |-> a ]is optional, semantically defaults to[ BOT |-> recBOT ](like in RSTT); - specifying
psiin{t : I | psi}is mandatory; - values of function types are \(\lambda\)-abstractions written in one of the following ways:
\t -> <body>— this is usually fine;\{t : I | psi} -> <body>— this sometimes helps the typechecker;
- specifying
-
Types of functions from a shape \(\prod_{t : I \mid \psi} A\) are a specialised variant of extension types and are written
{t : I | psi} -> A- specifying the name of the argument is mandatory; i.e.
{I | psi} -> Ais invalid syntax! - values of function types are \(\lambda\)-abstractions written in one of the following ways:
\t -> <body>— this is usually fine;\{t : I | psi} -> <body>— this sometimes helps the typechecker;
- specifying the name of the argument is mandatory; i.e.
-
Emily Riehl & Michael Shulman. A type theory for synthetic ∞-categories. Higher Structures 1(1), 147-224. 2017. https://arxiv.org/abs/1705.07442 ↩