简体   繁体   English

假设 Coq 中目标的否定

[英]Assume the negation of the goal in Coq

I'm trying to prove in Coq the following theorem:我试图在 Coq 中证明以下定理:

Theorem slot_company:
  forall s x, PPs s x -> exists t, PPs t x /\ s <> t.

My current context and goal are:我目前的背景和目标是:

1 subgoal
s, x : Entity
Pssx : Ps s x
nFxs : ~ F x s
Sx : Entity
PsSxx : Ps Sx x
FxSx : F x Sx
______________________________________(1/1)
exists t : Entity,
  PPs t x /\ s <> t

I would like to pose the hypothesis that there are no t with PPs tx /\ s <> t .我想提出一个假设,即PPs tx /\ s <> t By doing so, I can get that s = Sx , and then get a contradiction (I would have F xs /\ ~ F xs . This way, I will know that the goal is true.通过这样做,我可以得到s = Sx ,然后得到一个矛盾(我会有F xs /\ ~ F xs 。这样,我就会知道目标是正确的。

The problem is that I don't know how to do so.问题是我不知道该怎么做。

I'm skeptical that proof by contradiction is the way to go here, but it's hard to tell without seeing the definition of those relations.我怀疑通过矛盾证明是走这里的路,但是如果没有看到这些关系的定义就很难说。

Here's one way to do proof by contradiction:这是一种通过矛盾进行证明的方法:

  1. From Coq Require Import Classical.

  2. apply Peirce; intros Hcontra.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM