Estoy leyendo este conocido artículo sobre los universos en la teoría de tipos . Al principio esperaba algo similar a Setω
Agda, pero resulta que es incluso algo más general. Parece generalizar la construcción del universo de un tipo simple inductivo-recursivo a una carpeta (similar a y Σ ). La pregunta principal que quiero hacer es, ¿cuál es la intención detrás de esto?
Aquí hay un código Idris que define los universos habituales de estilo Tarski:
mutual
public export data U : (level : Nat) -> Type where
GroundU : Ground -> U level
BinderU : Binder -> (a : U level) -> (b : (x : T {level} a) -> U level) -> U level
UnivU : U (S level)
LiftU : U level -> U (S level)
public export T : {level : Nat} -> (code : U level) -> Type
Estoy tratando de generalizarlo en algo como
mutual
public export data U : (a : Type) -> (b : (x : a) -> Type) -> Type where
GroundU : Ground -> U a ???
...
¿Qué debería ???
ser? El autor del artículo acaba de decir que los universos deberían cerrarse bajo formadores establecidos.
editar: creo que ???
es simplemente b
...
Setω
, así que busqué documentos sobre superuniversos para ver si puedo aprender algo. Realmente hay pocos documentos al respecto, y este es el principal. Para entenderlo, intenté implementarlo yo mismo. Aunque ahora no creo que proporcione información sobre mi nueva idea, todavía quiero entenderla.
Nat
muchos universos? No está claro lo que está preguntando.