En la teoría de tipos no trabajamos con conjuntos y pertenencia (∈). En su lugar, cada objeto tiene un tipo desde su nacimiento: escribimos a:A para decir que a es de tipo A. Los tipos no son conjuntos, sino más bien espacios: un tipo A 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 P es construir un término p:P. Así, la conjunción P∧Q se corresponde con el producto P×Q (una prueba es un par de pruebas), la implicación P→Q se corresponde con el tipo función (una prueba es una función que transforma pruebas de P en pruebas de Q), y el cuantificador universal ∀x:AP(x) se corresponde con el tipo Π 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 a≐b, es computacional: 2+2≐4 se verifica por la definición de la suma. La igualdad proposicional, escrita a=Ab, es un tipo que puede o no estar habitado, y requiere una prueba explícita; por ejemplo, a+b=Nb+a necesita una demostración por inducción. En la interpretación espacial, un término p:a=Ab es un camino de a a b. 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ón
Significado
a:A
a es de tipo A (análogo a a∈A, pero el tipo es intrínseco al término)
Γ⊢a:A
en el contexto Γ, a tiene tipo A
≐
igualdad judicativa (definicional, se verifica por computación)
=A
igualdad proposicional en el tipo A (tipo identidad, debe probarse)
U
universo de tipos
N
números naturales
B, bool
booleanos
1
tipo unitario (un solo elemento)
∅
tipo vacío (sin elementos)
Constructores de tipos
Notación
Nombre
Descripción
A→B
tipo función
funciones de A en B
∏x:AB(x)
tipo Pi
funciones dependientes: a cada x:A asignan un término en B(x)
A×B
producto
pares (a,b) con a:A y b:B
∑x:AB(x)
tipo Sigma
pares dependientes (x,y) con x:A e y:B(x)
A+B
coproducto
unión disjunta, con dos constructores: inl(a) para a:A e inr(b) para b: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 denota el principio de inducción del tipo T: dado un motivoD y casos para cada constructor, produce un término del tipo deseado. El motivo D 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, D depende de x:N y es la propiedad que se demuestra para cada natural.
Notación
Rol
Descripción
inl(a)
constructor
inyecta a:A en el lado izquierdo de A+B
inr(b)
constructor
inyecta b:B en el lado derecho de A+B
pr1, pr2
eliminador
proyecciones: extraen el primer o segundo componente de un par
indT
eliminador
principio de inducción para el tipo T
Operaciones sobre igualdad
Notación
Nombre
Descripción
ra (o refl)
reflexividad
prueba canónica de a=Aa
p−1
inverso
si p:a=Ab, entonces p−1:b=Aa
p⋅q
composición
si p:a=b y q:b=c, entonces p⋅q:a=c
ap(f,p)
aplicación
si f:A→B y p:a=Ab, entonces ap(f,p):f(a)=Bf(b)
trp
transporte
si p:b=Bb′ y e:E(b), entonces trp(e):E(b′)
Definiciones y relaciones
Notación
Significado
a:≡b
a se define como b
a∼b
a y b están relacionados (relación de equivalencia, depende del contexto)
a≍b
a y b son indiscernibles respecto a una interfaz
A≅B
A y B son isomorfos (biyección que preserva estructura)
A≃B
A y B son equivalentes (existe una función con fibras contractibles)
Niveles de homotopía y truncaciones
Notación
Significado
isContr(A)
A es contractible (h-level 0): tiene exactamente un punto, salvo igualdad
isProp(A)
A es una proposición (h-level 1): cualesquiera dos elementos son iguales
isSet(A)
A es un conjunto (h-level 2): cualesquiera dos igualdades entre los mismos puntos son iguales
∥T∥1
truncación proposicional: colapsa T a una proposición, olvidando cuál constructor se usó y quedando solo la información de que alguno existe
∥T∥2
truncación como conjunto: colapsa T a un conjunto, identificando caminos entre los mismos puntos