模块 Finite鸽子 哪里

打开 进口 无限鸽子
打开 进口 逻辑
打开 进口 逻辑事实
打开 进口 两个
打开 进口 Naturals公司
打开 进口 添加
打开 进口 订单
打开 进口 康托
打开 进口 JK-Monads公司
打开 进口 平等
打开 进口 JK-逻辑事实
打开 进口 有限的


--我们使用经典的无限鸽子洞原理(在另一个例子中
--模块)导出有限的:


点火孔Finite-Pigeonhole : ₂ℕ    Ω
点火孔Finite-Pigeonhole α  =
     \(b条 : )   \( : 较小的( + 1)  ) 
                    (∀(n个 : 较小的 )  (胁迫 n个) < (fsucc公司 n个))
                   (∀(n个 : 较小的( + 1))  α( n个)  b条)


--在下面的定理中证明之前,我们先证明它的前缀是K
--在下面的引理中,一些亚语法的内部有K,
--在公式前面加上前缀:


Finite-Pigeonhole-K有限公司 : {R(右) : Ω}  ₂ℕ    Ω
Finite-Pigeonhole-K有限公司 {R(右)} α  =
     \(b条 : )   \( : 较小的( + 1)  ) 
                    (∀(n个 : 较小的 )  (胁迫 n个) < (fsucc公司 n个))
                   (∀(n个 : 较小的( + 1))  K(K){R(右)}(α( n个)  b条))


有限鸽洞纹 : {R(右) : Ω} 
-----------------------

 ∀(α : ₂ℕ)  ∀( : )  K(K)(点火孔Finite-Pigeonhole α )


有限鸽洞纹 {R(右)} α  =  K延伸 引理⁄ 引理₁
 哪里
  引理₀ : 鸽子洞 α  完成-通孔-K {R(右)} α 
  引理₀ (∃-简介 b条 (∃-简介  小时)) =
          ∃-简介 b条 (∃-简介  (∧-简介 事实₁ 事实(3)))
    哪里
       : 较小的( + 1)  
       = 限制 

      事实₀ : ∀(n个 : 较小的 )  (嵌入 n个)  (胁迫 n个)
      事实₀ n个 = 成分性  嵌入-交互-矛盾

      事实₁ : ∀(n个 : 较小的 )  (胁迫 n个) < (fsucc公司 n个)
      事实₁ n个 = 二元药物成分 {} {} {_<_}
                  (事实₀ n个) 自反性 (∧-埃利姆(小时(嵌入 n个)))

      事实⁄ : ∀(n个 : 较小的( + 1))  α((嵌入 n个))  b条  α( n个)  b条
      事实⁄ n个 = 两件事-相当于三分之一-相等 自反性

      事实(3) : ∀(n个 : 较小的( + 1))  K(K)(α( n个)  b条)
      事实(3) n个 = K函子 (事实二氧化碳 n个) (∧-elimŞ(小时(嵌入 n个)))

  引理₁ : K(K)(Finite-Pigeonhole-K有限公司 α )
  引理₁ = K函子 引理₀ (鸽子洞 α)

  引理⁄ : Finite-Pigeonhole-K有限公司 α   K(K)(Finite-Pigeonhole有限公司 α )

  引理⁄ (∃-简介 b条 (∃-简介  (∧-简介 小时 k个))) =
         K-∃-移位(∃-简介 b条 (K-∃-移位(∃-简介 
           (K强度(∧-简介 小时 (fK-∀-移位 k个))))))


--我们现在运用弗里德曼的技巧。对于给定的α和m,我们设R为
--我们想要证明的命题,即Finite-Pigeonholeαm。但我们
--证明了K{R} R(右)在上面的引理中。因为这是(R→R)→R,我们
--如果我们将其应用于证明id:R→R,则得到R。


定理 :
-------

 ∀(α : ₂ℕ)  ∀( : )  点火孔Finite-Pigeonhole α 

定理 α  = 有限鸽洞纹 {点火孔Finite-Pigeonhole α } α  身份证件


--注:。如果我们删除此调用中的隐式参数
--有限鸽洞列马,阿格达推断出所需的R。