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:A→Bf : 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:B⊢E(x)  typex : B \vdash E(x) \;\text{type}, cualesquiera términos b,b′:Bb, b' : B y cualquier igualdad p:b=Bb′p : 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=Bb′b =_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 p−1: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 p⋅q: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 A→BA \to B respetan la igualdad: si a=Aa′a =_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 false≠true\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=Sm⇔n=mSn = Sm \Leftrightarrow n = m y 0≠Sn0 \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)≃(S≃T)(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:

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

Elegimos UA.