如何在 Coq 中证明 x + y - z = x + (y - z)

How to prove x + y - z = x + (y - z) in Coq

我想证明这一点:

1 subgoals
x : nat
y : nat
z : nat
______________________________________(1/1)
x + y - z = x + (y - z)

它看起来微不足道,但它让我很困惑,我需要它来证明。

谢谢。

如果 y <= z,您试图证明的内容不成立,因为如果 nat a <= b,则 a-b 为零。

Omega 是一种有用的策略,可用于不等式和 nat 上的简单算术。

Require Import Omega.
Theorem foo:
    forall x y z:nat, (x = 0 \/ z <= y) <->  x + y - z = x + (y - z).
    intros; omega.
Qed.

但是,您的身份当然适用于整数 Z

Require Import ZArith.
Open Scope Z.
Theorem fooZ:
    forall x y z:Z, x + y - z = x + (y - z).
    intros; omega.
Qed.