I have a function that maps natural numbers to their corresponding Agda universe level.
level : Nat -> Level
level zero = lzero
level (suc l) = lsuc (level l)
Setn : (l : Nat) -> Set (level (suc l))
Setn l = Set (level l)
I use this function in the definition an inductive datatype in this manner:
data U l : Setn l where
...
Lift : {l' : Nat} -> {l' <= l} -> U l' -> U l
Here, Agda complains that Set (level l') is not less than or equal to Set (level l), which is clearly false, though I understand that Agda is not equipped to derive that Set (level l') <= Set (level l) from l' <= l. How do I hint to Agda's universe checker that this definition is indeed well-founded?