逐点可判定性是否意味着完全可判定性?

时间:2018-04-06 09:24:47

标签: coq decidable

如果我可以为每个特定P n决定一个命题n,它是否符合,那么我还可以决定是否forall n, P n ?感觉它应该可以通过n的一些归纳来实现,但我怎样才能在Coq中证明这一点?

Lemma dec_forall:
  forall (P : nat->Prop),
    (forall n, decidable (P n)) ->
    decidable (forall i, P i).

1 个答案:

答案 0 :(得分:3)

这不应该是可行的。如果forall i, P i为真,那么确认这一点的唯一方法是无限次地运行decidable (P n)。任何终止决策程序只能有限地分析i的有限值,因此永远不能断定forall i, P i是真的。

另一方面,forall i, P i是半可判定的:只需检查i的每个值,即可返回错误证明(通过查找反例)或不终止。反过来。