-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Hi all,
I am looking to port the development to Agda v2.6.2 and standard library version 1.7. However, I encountered a type checking failure in the Data/Environment.agda module concerning the definition of data SEnv:
data SEnv (π₯ : I βScoped) : Size β (Ξ Ξ : List I) β Set where
[_] : β{Ξ} β β[ (Ξ βEnv) π₯ β SEnv π₯ (β i) Ξ ]
_β£_,,_ : β Ξβ {Ξβ} β β[ (Ξβ βEnv) π₯ β β (SEnv π₯ {!i!} Ξβ) β SEnv π₯ (β {!!}) (Ξβ ++ Ξβ) ]The problem snippet is (β i) and the remaining holes. In 2.6.2/v1.7, loading the file results in a type error because the type of i is I, not Size, and thus the typechecker generates a SizeUniv != Set error. However, Agda 2.6.1.3 only complains if you try to refine the goal with i producing the error:
generic-syntax/src/Data/Environment.agda:178,47-48
Generalizable variable Data.Environment.i is not supported here
when scope checking i
if, however, you place β i directly in the type for [_] as in the above snippet and load the file, Agda 2.6.1.3 fails to complain that SizeUniv != Set.
Unless I misunderstand some use-case of Sized types and the known safety issues with their use, I cannot imagine this was intended. Should i : Size be the declaration of the generalized variable instead?