coq:消除所有量词

coq:消除所有量词,coq,coq-tactic,Coq,Coq Tactic,我想证明以下定理: 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 -> Pro

我想证明以下定理:

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 x : A, p x

也就是说:我如何插入我的具体x:A,以便我可以推断:px?

你可以用(
specialize(hx)
)在
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.