n-截断类型是一种高阶归纳类型. 在n-类型的视角下, 截断类型即是在 n 层截断某个类型. 它是逻辑截断类型的推广.
Γ⊢∣A∣nΓ⊢A
需要用到 isHLvl, 在n-类型里有定义.
Γ⊢∥a∥n:∣A∣nΓ⊢a:AΓ⊢trunc:isHLvl(∣A∣n,n)
n-截断类型只能被映射到其它的 n-类型, 这和逻辑截断类型是一致的.
Γ⊢rec∣A∣n(f,p):A→BΓ⊢f:A→BΓ⊢p:isHLvl(B,n)
计算规则:
rec∣A∣n(f,p)(∥a∥n)一共n+2次apapap⋯aprec∣A∣n(f,p)(trunc(⋯))=f(a):B=p(⋯):⋯
第二条规则由于 n-类型本身的定义复杂导致参数很多、很难写出, 推荐借助更容易理解 (但有类型错误) 的写法来理解直觉:
rec∣A∣n(f,p)(trunc)=p:isHLvl(B,n)
术语翻译
n-截断类型 • 英文 n-truncation