Coq中的定理证明
背景 我正在独自学习帮助,Coq。到目前为止,我已经匆匆完成了Yves Bertot的Coq阅读。现在,我的目标是证明与自然数有关的一些基本结果,并以所谓的除法算法结束。但是,在实现该目标的过程中,我遇到了一些挫折。特别是,以下两个结果已经证明(双关语意)比我最初想象的要困难得多。实际上,经过多次徒劳的尝试之后,我不得不手工证明它们(如下所示)。显然,这并不能帮助我更加精通Coq。这就是为什么我转向这个论坛。我希望这个网站上的某人能够并且愿意帮助我将下面的证明转换为Coq接受的证明。衷心感谢所有帮助! 定理A 对于所有证明:x,y∈Nx,y∈Nx,y \in N x<S(y)⊂x<y∨I(N,x,y)x<S(y)⊂x<y∨I(N,x,y)\begin{equation} x < S(y) \subset x < y \lor \text{I}(N,x,y) \end{equation} 假设。因此,存在一个与 因此,通过(皮亚诺1b和3)x<S(y)x<S(y)x < S(y)z∈Nz∈Nz \in NI(N,x+S(z),S(y))(*)(*)I(N,x+S(z),S(y))\begin{equation} \text{I}(N,x+S(z),S(y)) \tag{*}\end{equation}I(N,x+z,y)I(N,x+z,y)\begin{equation} \text{I}(N,x+z,y) \end{equation} 定义一个谓词Q(u):=(I(N,x+u,y)⊂x<y∨I(N,x,y)Q(u):=(I(N,x+u,y)⊂x<y∨I(N,x,y)\begin{equation} Q(u):=(\text{I}(N,x+u,y) \subset xy¬I(N,x,y)¬I(N,x,y)\neg \text{I}(N,x,y)x>yx>yx>y y>xy>xy>xI(N,x,y)I(N,x,y)\text{I}(N,x,y) 我们使固定并在归纳。当对于所有,我们都有,这证明了基本情况。接下来,假设定理对成立;现在我们要证明的定理。从对的三分法中可以看出三种情况:和。如果,则显然。如果,则(对于所有都是)。最后,假设X 我(Ñ ,0 ,ÿ )0 < Ý ∨ 我(Ñ ,0 ,ÿ )ÿ X 小号(X )X X …