Teoría Homotópica de Tipos

Propiedades del Tipo Identidad

El tipo identidad a=Aba =_A b no solo captura la noción de igualdad, sino que tiene una estructura rica: admite inversos, composición, y respeta todas las construcciones de tipos. Esto le da un carácter grupoidal a los tipos, lo cual conecta la teoría de tipos con la teoría de homotopía.

Operaciones básicas sobre igualdades

Teorema 1 — Las funciones respetan la igualdad (ap\text{ap})

Para toda función f:ABf : A \to B y toda igualdad p:x=Ayp : x =_A y, existe un término:

ap(f,p):f(x)=Bf(y)\text{ap}(f, p) : f(x) =_B f(y)

Se define por inducción de caminos: si pp es rxr_x, entonces ap(f,rx):rf(x)\text{ap}(f, r_x) :\equiv r_{f(x)}.

En UniMath, esta función se llama maponpaths.

Teorema 2 — Transporte

Para todo tipo dependiente x:BE(x)  typex : B \vdash E(x) \;\text{type}, cualesquiera términos b,b:Bb, b' : B y cualquier igualdad p:b=Bbp : b =_B b', existe una función:

trp:E(b)E(b)\text{tr}_p : E(b) \to E(b')

Se define por inducción de caminos: trrb:idE(b)\text{tr}_{r_b} :\equiv \text{id}_{E(b)}.

Demostración

Por inducción de caminos sobre pp. Si pp es rb:b=Bbr_b : b =_B b, necesitamos una función E(b)E(b)E(b) \to E(b), y tomamos la identidad.

QED

El transporte garantiza que todo respeta la igualdad proposicional. Si pensamos en EE como un predicado sobre BB, y b=Bbb =_B b', entonces E(b)E(b) implica E(b)E(b'). Esto es parte de una relación más profunda entre teoría de tipos y teoría de homotopía: la proyección π:b:BE(b)B\pi : \sum_{b:B} E(b) \to B se comporta como una fibración en una categoría modelo de Quillen.

Comportamiento grupoidal de los tipos

Ahora podemos pensar en los tipos como colecciones de puntos (términos) conectados por homotopías/caminos (igualdades).

Teorema 3 — Simetría (inverso de igualdades)

Para todo a,b:Aa, b : A y p:a=Abp : a =_A b, existe p1:b=Aap^{-1} : b =_A a.

Demostración

Por inducción de caminos. Si pp es rar_a, tomamos ra:a=Aar_a : a =_A a.

QED
Teorema 4 — Transitividad (composición de igualdades)

Si p:a=Abp : a =_A b y q:b=Acq : b =_A c, entonces pq:a=Acp \cdot q : a =_A c.

Demostración

Por inducción de caminos sobre pp y qq. Si ambos son reflexividad, tomamos rar_a.

QED
Teorema 5 — Reflexividad

Para todo a:Aa : A, tenemos ra:a=Aar_a : a =_A a.

Además, podemos:

  • Tener múltiples igualdades del mismo tipo (ej. p,p:a=Abp, p' : a =_A b).
  • Tomar el inverso de una igualdad.
  • Componer igualdades.
  • Tener igualdades entre igualdades (α:p=a=Abp\alpha : p =_{a =_A b} p').
  • Las funciones ABA \to B respetan la igualdad: si a=Aaa =_A a' entonces f(a)=Bf(a)f(a) =_B f(a').

Esto es exactamente cómo se comportan los espacios en topología/homotopía.

La interpretación espacial

Teorema 6 — Voevodsky

Existe una interpretación de la teoría de tipos dependientes en Spaces\mathbf{Spaces} (la categoría de complejos de Kan) en la cual:

Teoría de TiposEspacios
TiposEspacios
TérminosPuntos
IgualdadesCaminos

Caracterización de la igualdad en tipos estándar

Teorema 7 — Igualdad en bool\text{bool}

Se puede demostrar que falsetrue\text{false} \neq \text{true}, true=true\text{true} = \text{true} y false=false\text{false} = \text{false}.

Teorema 8 — Igualdad en N\mathbb{N}

Análogamente: Sn=Smn=mSn = Sm \Leftrightarrow n = m y 0Sn0 \neq Sn.

Teorema 9 — Igualdad en Σ\Sigma-tipos

Para s,t:a:AB(a)s, t : \sum_{a:A} B(a), tenemos:

(s=t)p:π1s=π1ttrpπ2s=π2t(s = t) \simeq \sum_{p : \pi_1 s = \pi_1 t} \text{tr}_p\, \pi_2 s = \pi_2 t

Axiomas no demostrables

Definición 1 — Extensionalidad funcional (funext)

Para f,g:a:AB(a)f, g : \prod_{a:A} B(a), quisiéramos que:

(f=g)x:Af(x)=g(x)(f = g) \simeq \prod_{x:A} f(x) = g(x)

Esto no es demostrable en la teoría de tipos básica. Se llama extensionalidad funcional y es validado por las interpretaciones en lógica, conjuntos y espacios.

Definición 2 — Unicidad de pruebas de identidad (UIP)

Para p,q:a=Abp, q : a =_A b, quisiéramos que (p=q)1(p = q) \simeq \mathbb{1}. Esto tampoco es demostrable. Se llama UIP y es validado por las interpretaciones en lógica y conjuntos, pero no en espacios.

Definición 3 — Univalencia (UA)

Para tipos S,T:US, T : \mathcal{U}, quisiéramos que (S=T)(ST)(S = T) \simeq (S \simeq T). Tampoco es demostrable. Se llama el axioma de univalencia y es validado por la interpretación en espacios.

Relaciones entre estos axiomas:

  • UAfunext\text{UA} \Rightarrow \text{funext}.
  • UIPfunext⇏\text{UIP} \land \text{funext} \not\Rightarrow \bot (son consistentes juntos).
  • UA+UIP\text{UA} + \text{UIP} \Rightarrow \bot (son inconsistentes juntos).

Elegimos UA.