库克:他承认

Coq : Admit assert

有没有办法在 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中的undefined。 Baiscally,我稍后会回来证明这一点。 Coq 中是否有类似的东西来实现它?

一般来说,策略admit(首字母小写)承认当前的子目标。因此 assert <your assertion>. admit. 应该适用于您的情况。

或如下所示。

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

编辑:带有;的版本是废话,因为你不想承认所有的子目标。