许创杰,2014\开始{代码}{-# 选项--不带-K#-}

模块 准备工作。H设置 哪里

打开 进口 准备工作。集合与函数\结束{code}以下证据来自

网址:http://www.cs.bham.ac.uk/~mhe/agda/HSets.html\开始{code}可折叠的 : 设置  设置
可折叠的 X(X) = Σ \((f) : X(X)  X(X))  常数 (f)

路径可压缩的 : 设置  设置
路径可压缩的 X(X) = {x个  : X(X)}  可折叠的(x个  )

路径冲突-is-hset : {X(X) : 设置}  路径可压缩的 X(X)  hset公司 X(X)
路径冲突-is-hset {X(X)} 个人电脑 第页 q个 = (索赔₀ 第页) · 索赔₁ · (索赔₀ q个)¹
 哪里
  (f) : {x个  : X(X)}  x个    x个  
  (f) = 公关 个人电脑
   : {x个  : X(X)} (第页 q个 : x个  )  (f) 第页  (f) q个
   = 公关 个人电脑
  索赔₀ : {x个  : X(X)} (第页 : x个  )  第页  ((f) 回流)¹ · ((f) 第页)
  索赔₀ 回流 = sym-is-in-verse(对称-反向) ((f) 回流)
  索赔₁ : ((f) 回流)¹ · ((f) 第页)  ((f) 反射)¹ · ((f) q个)
  索赔₁ = 应用程序  小时  ((f) 回流)¹ · 小时) ( 第页 q个)

∅-可压缩 : 可折叠的 
∅-可压缩 =  x个  x个)   x个  λ ())

居住-可折叠 : {X(X) : 设置}  X(X)  可折叠的 X(X)
居住-可折叠 x个 = ((λ   x个)  λ  是的'  回流)

空的 : 设置  设置
空的 X(X) = X(X)  

可空置的 : {X(X) : 设置}  空的 X(X)  可折叠的 X(X)
空的是可折叠的 u个 = ((λ x个  x个)   x个 x’  ∅-埃利姆(u个 x个)))

可判定i可折叠 : {X(X) : 设置}  可判定的 X(X)  可折叠的 X(X)
可判定i可折叠 (英制 x个) = 有人居住是可折叠的 x个
可判定i可折叠 (内部 u个) = 可空置的 u个

离散路径可折叠 : {X(X) : 设置}  离散的 X(X)  路径可压缩的 X(X)
离散是路径可折叠的 d日 = 可判定i可折叠 (d日 _ _)

离散is-hset : {X(X) : 设置}  离散的 X(X)  hset(高速设置) X(X)
离散is-hset d日 = 路径冲突-is-hset(离散路径可折叠 d日)\结束{code}