Je lis cet article bien connu sur les univers en théorie des types . Au début, je m'attendais à quelque chose de similaire à Setω
Agda, mais il s'avère que c'est même quelque chose de plus général. Il semble généraliser la construction de l'univers d'un simple type inductif-récursif à un liant (similaire à et ). La principale question que je veux poser est, quelle est l'intention derrière cela?
Voici du code Idris définissant les univers habituels de style 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
J'essaie de généraliser en quelque chose comme
mutual
public export data U : (a : Type) -> (b : (x : a) -> Type) -> Type where
GroundU : Ground -> U a ???
...
Que devrait ???
être? L'auteur de l'article vient de dire que les univers devraient être fermés sous des formateurs définis.
edit: je pense que ???
c'est tout simplement b
...
Setω
, alors j'ai cherché des articles sur les super univers pour voir si je pouvais apprendre quelque chose. Il y a vraiment peu d'articles à ce sujet, et ce document est le principal. Afin de le comprendre, j'ai essayé de le mettre en œuvre moi-même. Bien que maintenant je ne pense pas que cela donnerait un aperçu de ma nouvelle idée, je veux quand même la comprendre.
Nat
univers? Ce que vous demandez n'est pas clair.