Sto leggendo questo famoso documento sugli universi nella teoria dei tipi . All'inizio mi aspettavo qualcosa di simile ad Setω
Agda, ma si scopre che è anche qualcosa di più generale. Sembra generalizzare la costruzione dell'universo da un semplice tipo induttivo-ricorsivo a un legante (simile a e ). La domanda principale che voglio porre è: qual è l'intenzione alla base?Σ
Ecco alcuni codici Idris che definiscono i comuni universi in stile 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
Sto cercando di generalizzare in qualcosa del genere
mutual
public export data U : (a : Type) -> (b : (x : a) -> Type) -> Type where
GroundU : Ground -> U a ???
...
Cosa dovrebbe ???
essere? L'autore dell'articolo ha appena detto che gli universi dovrebbero essere chiusi sotto formatori fissi.
modifica: penso ???
sia semplicemente b
...
Setω
, quindi ho cercato documenti sui super universi per vedere se posso imparare qualcosa. Ci sono davvero pochi articoli a riguardo, e questo è il principale. Per capirlo, ho provato a implementarlo da solo. Anche se ora non credo che fornirebbe un'idea della mia nuova idea, voglio ancora capirlo.
Nat
molti universi? Non è chiaro cosa stai chiedendo.