Teoría Homotópica de Tipos

Introducción y Notación

Tipos, no conjuntos

En la teoría de tipos no trabajamos con conjuntos y pertenencia (\in). En su lugar, cada objeto tiene un tipo desde su nacimiento: escribimos a:Aa : A para decir que aa es de tipo AA. Los tipos no son conjuntos, sino más bien espacios: un tipo AA tiene términos (puntos), igualdades entre términos (caminos), igualdades entre igualdades (homotopías), y así sucesivamente. Esta estructura topológica es central en HoTT.

Proposiciones como tipos

La correspondencia de Curry-Howard identifica proposiciones con tipos y pruebas con términos. Probar una proposición PP es construir un término p:Pp : P. Así, la conjunción PQP \land Q se corresponde con el producto P×QP \times Q (una prueba es un par de pruebas), la implicación PQP \to Q se corresponde con el tipo función (una prueba es una función que transforma pruebas de PP en pruebas de QQ), y el cuantificador universal x:AP(x)\forall_{x:A} P(x) se corresponde con el tipo Π\Pi de funciones dependientes.

Dos nociones de igualdad

Una diferencia fundamental con la matemática habitual es la existencia de dos nociones de igualdad. La igualdad judicativa (o definicional), escrita aba \doteq b, es computacional: 2+242 + 2 \doteq 4 se verifica por la definición de la suma. La igualdad proposicional, escrita a=Aba =_A b, es un tipo que puede o no estar habitado, y requiere una prueba explícita; por ejemplo, a+b=Nb+aa + b =_{\mathbb{N}} b + a necesita una demostración por inducción. En la interpretación espacial, un término p:a=Abp : a =_A b es un camino de aa a bb. Dos caminos pueden ser iguales (una homotopía), y esto genera la estructura grupoidal e infinito-dimensional que estudia HoTT.

Guía de notación

Juicios y tipos básicos

NotaciónSignificado
a:Aa : Aaa es de tipo AA (análogo a aAa \in A, pero el tipo es intrínseco al término)
Γa:A\Gamma \vdash a : Aen el contexto Γ\Gamma, aa tiene tipo AA
\doteqigualdad judicativa (definicional, se verifica por computación)
=A=_Aigualdad proposicional en el tipo AA (tipo identidad, debe probarse)
U\mathcal{U}universo de tipos
N\mathbb{N}números naturales
B\mathbb{B}, bool\mathrm{bool}booleanos
1\mathbb{1}tipo unitario (un solo elemento)
\emptysettipo vacío (sin elementos)

Constructores de tipos

NotaciónNombreDescripción
ABA \to Btipo funciónfunciones de AA en BB
x:AB(x)\prod_{x:A} B(x)tipo Pifunciones dependientes: a cada x:Ax : A asignan un término en B(x)B(x)
A×BA \times Bproductopares (a,b)(a, b) con a:Aa : A y b:Bb : B
x:AB(x)\sum_{x:A} B(x)tipo Sigmapares dependientes (x,y)(x, y) con x:Ax : A e y:B(x)y : B(x)
A+BA + Bcoproductounión disjunta, con dos constructores: inl(a)\mathrm{inl}(a) para a:Aa : A e inr(b)\mathrm{inr}(b) para b:Bb : B

Constructores y eliminadores

Cada tipo viene con constructores (formas de crear términos) y un principio de eliminación/inducción (forma de usar términos). La notación indT\mathrm{ind}_T denota el principio de inducción del tipo TT: dado un motivo DD y casos para cada constructor, produce un término del tipo deseado. El motivo DD es una familia de tipos que depende de las variables del tipo que se elimina — representa lo que se quiere construir o demostrar. Por ejemplo, en la inducción sobre N\mathbb{N}, DD depende de x:Nx : \mathbb{N} y es la propiedad que se demuestra para cada natural.

NotaciónRolDescripción
inl(a)\mathrm{inl}(a)constructorinyecta a:Aa : A en el lado izquierdo de A+BA + B
inr(b)\mathrm{inr}(b)constructorinyecta b:Bb : B en el lado derecho de A+BA + B
pr1\mathrm{pr}_1, pr2\mathrm{pr}_2eliminadorproyecciones: extraen el primer o segundo componente de un par
indT\mathrm{ind}_Teliminadorprincipio de inducción para el tipo TT

Operaciones sobre igualdad

NotaciónNombreDescripción
rar_a (o refl\mathrm{refl})reflexividadprueba canónica de a=Aaa =_A a
p1p^{-1}inversosi p:a=Abp : a =_A b, entonces p1:b=Aap^{-1} : b =_A a
pqp \cdot qcomposiciónsi p:a=bp : a = b y q:b=cq : b = c, entonces pq:a=cp \cdot q : a = c
ap(f,p)\mathrm{ap}(f, p)aplicaciónsi f:ABf : A \to B y p:a=Abp : a =_A b, entonces ap(f,p):f(a)=Bf(b)\mathrm{ap}(f, p) : f(a) =_B f(b)
trp\mathrm{tr}_ptransportesi p:b=Bbp : b =_B b' y e:E(b)e : E(b), entonces trp(e):E(b)\mathrm{tr}_p(e) : E(b')

Definiciones y relaciones

NotaciónSignificado
a:ba :\equiv baa se define como bb
aba \sim baa y bb están relacionados (relación de equivalencia, depende del contexto)
aba \asymp baa y bb son indiscernibles respecto a una interfaz
ABA \cong BAA y BB son isomorfos (biyección que preserva estructura)
ABA \simeq BAA y BB son equivalentes (existe una función con fibras contractibles)

Niveles de homotopía y truncaciones

NotaciónSignificado
isContr(A)\mathrm{isContr}(A)AA es contractible (h-level 0): tiene exactamente un punto, salvo igualdad
isProp(A)\mathrm{isProp}(A)AA es una proposición (h-level 1): cualesquiera dos elementos son iguales
isSet(A)\mathrm{isSet}(A)AA es un conjunto (h-level 2): cualesquiera dos igualdades entre los mismos puntos son iguales
T1\| T \|_1truncación proposicional: colapsa TT a una proposición, olvidando cuál constructor se usó y quedando solo la información de que alguno existe
T2\| T \|_2truncación como conjunto: colapsa TT a un conjunto, identificando caminos entre los mismos puntos
PQP \lor Qdisyunción proposicional: P+Q1\| P + Q \|_1

Tipos inductivos superiores

NotaciónSignificado
S0S^0esfera 0-dimensional (bool\cong \mathrm{bool}, dos puntos)
S1S^1círculo: un punto base\mathrm{base} y un camino loop:base=base\mathrm{loop} : \mathrm{base} = \mathrm{base}
D1D^1intervalo: dos puntos con un camino entre ellos
T/T / \asympcociente de TT por indiscernibilidad