如果我可以为每个特定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).
答案 0 :(得分:3)
这不应该是可行的。如果forall i, P i
为真,那么确认这一点的唯一方法是无限次地运行decidable (P n)
。任何终止决策程序只能有限地分析i
的有限值,因此永远不能断定forall i, P i
是真的。
另一方面,forall i, P i
是半可判定的:只需检查i
的每个值,即可返回错误证明(通过查找反例)或不终止。反过来。