Coq 承认断言

Coq 承认断言,coq,theorem-proving,Coq,Theorem Proving,有没有办法承认Coq中的资产 假设我有这样一个定理: Theorem test : forall m n : nat, m * n = n * m. Proof. intros n m. assert (H1: m + m * n = m * S n). { Admitted. } Abort. 上述断言似乎对我不起作用 我收到的错误是: Error: No focused proof (No proof-editing in progress). 我想要的是Haskell中

有没有办法承认Coq中的资产

假设我有这样一个定理:

Theorem test : forall m n : nat,
    m * n = n * m.
Proof.
  intros n m.
  assert (H1: m + m * n = m * S n). { Admitted. }
Abort.
上述断言似乎对我不起作用

我收到的错误是:

Error: No focused proof (No proof-editing in progress).

我想要的是Haskell中的
未定义的
。拜斯凯利,我稍后会回来证明这一点。在Coq中是否有类似的方法来实现它?

通常,策略
承认
(小写首字母)承认当前的子目标。因此,
assert。承认。
应该适用于你的情况

或在其充分的荣耀如下

Theorem test : forall m n : nat,
  m * n = n * m.
Proof.
  intros n m.
  assert (H1: m + m * n = m * S n). admit.
Abort.

编辑:带有
的版本
是胡说八道,因为你不想承认所有的子目标。

一般来说,策略
承认
(小写首字母)承认当前的子目标。因此,
assert。承认。
资产;承认。
应该适用于你的情况。@ichistmeinname谢谢,这很有效。你能把它作为一个答案吗?同样,从Coq 8.5开始(我想不会更早),任何带有
acempt
的校对脚本都需要以
acempted结束。
而不是
Qed。
/
已定义。
如果您想保存结果。@Antalsectt Zabusky在
Qed
版本中用
8.4pl4
结束它。另一种语法是
assert(H1:m+m*n=m*sn)by acempty.