仅用基本策略证明~~(~~ S - > S)

时间:2013-10-16 18:00:47

标签: logic coq

是否可以在coq中解决~~(~~S -> S)?我知道你不能在直觉主义逻辑中进行双重否定消除,但这是否可能,因为你只是在(~~S -> S)证明双重否定而不是~~S -> S本身?

这只是使用基本策略,而不是前奏或标准库等的引理。

1 个答案:

答案 0 :(得分:0)

可证明。一步一步,你这样做:

Goal forall S : Prop, ~ ~ (~ ~ S -> S).
Proof.
unfold not.
intros S H1.
apply H1.
intro H2.
apply False_rect.
apply H2.
intro H3.
apply H1.
intro H4.
apply H3.
Defined.

或者你可以使用tauto,这是直觉主义命题演算的决策程序。

Goal forall S : Prop, ~ ~ (~ ~ S -> S). Proof. tauto. Defined.