将类型提升到更高的宇宙

Lifting a type to higher universe

在我正在处理的形式化中,我需要将 Unit 类型从在 Universe Set 上定义的 Agda 标准库提升为像 Set a 这样的多态类型。

我该怎么做?我知道我可以定义另一种类型,比如这个:

record Unit {l} : Set l where
   constructor unit

这是宇宙多态的。但是,我相信应该有一个更惯用的解决方案来解决这个问题。谁能给我一个解决方案,或者如果没有办法向我解释原因?

事实上,搜索了一下标准库,我在Level模块中找到了需要的工具。解决方案是使用类型 Lift:

record Lift {a ℓ} (A : Set a) : Set (a ⊔ ℓ) where
  constructor lift
  field lower : A

单位类型

 record ⊤ : Set where
   constructor tt

可以使用Lift ⊤提升到更高的宇宙水平。我找到了阅读以下 answer.

部分的解决方案