所以我正在学习coq。另外我还发现了关联性的证明 forall (a b c : nat)

enter image description here

显然当我们这样做时 induction a.intros a b c., ,它创建了 2 个子目标

enter image description here

之后我们只需证明两个子目标的两边是等价的,证明就完成了。

所以我只是想知道为什么我们不需要这样做 induction b.induction c. 完成证明?为什么只对 a 能否完成证明?

或者换句话说,为什么在返回证明的函数中,我们只是得到 bc 免费”?从建设性的角度来看,我们不需要像应用两次双感应这样的东西吗?

enter image description here

有帮助吗?

解决方案

你不 通过归纳法来证明事物。例如,你可以证明 $\forall n :\mathbb{N} \,.\, n = n$ 没有 通过应用反身性进行归纳。在你的证明中,我们使用归纳法 $a$, , 但是之后 我们不需要 使用归纳法 $b$$c$ 因为我们可以简单地用其他方法来完成证明。我们 可以有 使用感应 $b$$c$, ,你应该尝试这样做,看看不必要的归纳法应用如何使你的证明变得更长且不太清晰。

附:这与建设性完全无关。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top