coq:消除forall量词
coq: elimination of forall quantifier
我想证明下面的定理:
Theorem Frobenius (A: Set) (q: Prop) (p: A -> Prop) :
(q \/ forall x : A, p x) -> (forall x : A, q \/ p x).
我已经得到了以下证明:
Proof.
intro.
intro.
destruct H.
left.
assumption.
但现在我处于一种不知所措的境地。以下内容由我支配:
A : Set
q : Prop
p : A -> Prop
H : forall x : A, p x
x : A
我想证明以下子目标:
q \/ p x
如何消除给定前提中的 forall 量词
forall x : A, p x
即:我如何插入我的具体 x : A 以便我可以推断出:p x ?
您可以用specialize
(specialize (H x)
) 在H
中实例化通用量化的x
。
可能是最简单的?
Theorem Frobenius (A: Set) (q: Prop) (p: A -> Prop) :
(q \/ forall x : A, p x) -> (forall x : A, q \/ p x).
intro H.
elim H.
intros Hl x.
left.
exact Hl.
intros Hr x.
right.
apply Hr.
我想证明下面的定理:
Theorem Frobenius (A: Set) (q: Prop) (p: A -> Prop) :
(q \/ forall x : A, p x) -> (forall x : A, q \/ p x).
我已经得到了以下证明:
Proof.
intro.
intro.
destruct H.
left.
assumption.
但现在我处于一种不知所措的境地。以下内容由我支配:
A : Set
q : Prop
p : A -> Prop
H : forall x : A, p x
x : A
我想证明以下子目标:
q \/ p x
如何消除给定前提中的 forall 量词
forall x : A, p x
即:我如何插入我的具体 x : A 以便我可以推断出:p x ?
您可以用specialize
(specialize (H x)
) 在H
中实例化通用量化的x
。
可能是最简单的?
Theorem Frobenius (A: Set) (q: Prop) (p: A -> Prop) :
(q \/ forall x : A, p x) -> (forall x : A, q \/ p x).
intro H.
elim H.
intros Hl x.
left.
exact Hl.
intros Hr x.
right.
apply Hr.