\开始{代码}{-# 选项--不带-K#-}
模块 准备工作。H设置 哪里
打开 进口 准备工作。集合与函数\结束{code}
\开始{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}