在 Coq 中区分目标

Discriminate goal in Coq

我对nat号码有两个条件:

H:  a < b
H1: b < a

如何区分目标? 是否存在针对 < ?

的任何策略

使用lia:

From Coq Require Import Lia.

Goal forall a b, a < b -> b < a -> False.
  lia.
Qed.

您可以详细了解 lia 和其他算术决策程序 here

供参考,在这种情况下进行手动证明并不难:

From mathcomp Require Import all_ssreflect.

Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.

Lemma foo a b (a_lt_b : a < b) : b < a -> False.
Proof. by rewrite ltnNge (ltnW a_lt_b). Qed.