0
我想在P-> Q中使用P的名称。合理的是陈述一个类型P> Q的定理,其中Q取决于P.Coq - 如何命名内联的假设
在以下示例中,我需要替换'???'。
我知道我可以打开一个部分,并将(x <> 0)作为带名称的参数。然后,在关闭该部分之后,我得到了一些东西,但我想只在一行中说明thm2。
(Ofcourse,下面的例子是有点傻了。这只是证明我的问题的例子。)
Require Import QArith.
Definition my_inv(x:Q)(x<>0):Q.
intros.
exact (1/x).
Defined.
Thm thm1: forall x:Q, x>0 -> x<>0.
Proof.
...
Qed.
Theorem thm2: forall x:Q, x>0-> (my_inv x (thm1 x ???)) > 0.
现在,???应将Coq指向x> 0的假设。我无法找到一个方法来提到这个假设,它与它所陈述的相同。
是'my_inv'有效代码吗?对我来说产生语法错误... – gallais
@gallais应该是“定义my_inv(x:Q)(nz:x <> 0):Q”。否则,这在我的机器上运行,没有错误。 – tomjerry7