Logic 如果两个归纳型变量的场不相等,如何证明它们是不相等的?

Logic 如果两个归纳型变量的场不相等,如何证明它们是不相等的?,logic,coq,Logic,Coq,假设我有一个归纳类型: Inductive addr : Type := mk_addr : Z -> Z -> addr. 是否有可能证明以下目标 Goal forall (x y z : Z), y <> z -> mk_addr x y <> mk_addr x z. 目标 对于所有(x y z:z), y z->mk_地址x y mk_地址x z。 一致性可以处理它: Goal forall (x y z : Z), y &

假设我有一个归纳类型:

Inductive addr : Type :=  mk_addr : Z -> Z -> addr.
是否有可能证明以下目标

Goal
  forall (x y z : Z),
  y <> z -> mk_addr x y <> mk_addr x z.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。

一致性
可以处理它:

Goal
  forall (x y z : Z),
  y <> z -> mk_addr x y <> mk_addr x z. 

congruence.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
相似
Qed。
或者,您可以证明该陈述的相反观点:

Goal
 forall (x y z : Z),
 y <> z -> mk_addr x y <> mk_addr x z.
intros x y z H1 H2.
apply H1.
injection H2.
trivial.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
简介x y z H1 H2。
应用H1。
注射氢。
琐碎的。
Qed。

一致性
可以处理它:

Goal
  forall (x y z : Z),
  y <> z -> mk_addr x y <> mk_addr x z. 

congruence.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
相似
Qed。
或者,您可以证明该陈述的相反观点:

Goal
 forall (x y z : Z),
 y <> z -> mk_addr x y <> mk_addr x z.
intros x y z H1 H2.
apply H1.
injection H2.
trivial.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
简介x y z H1 H2。
应用H1。
注射氢。
琐碎的。
Qed。

一致性
可以处理它:

Goal
  forall (x y z : Z),
  y <> z -> mk_addr x y <> mk_addr x z. 

congruence.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
相似
Qed。
或者,您可以证明该陈述的相反观点:

Goal
 forall (x y z : Z),
 y <> z -> mk_addr x y <> mk_addr x z.
intros x y z H1 H2.
apply H1.
injection H2.
trivial.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
简介x y z H1 H2。
应用H1。
注射氢。
琐碎的。
Qed。

一致性
可以处理它:

Goal
  forall (x y z : Z),
  y <> z -> mk_addr x y <> mk_addr x z. 

congruence.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
相似
Qed。
或者,您可以证明该陈述的相反观点:

Goal
 forall (x y z : Z),
 y <> z -> mk_addr x y <> mk_addr x z.
intros x y z H1 H2.
apply H1.
injection H2.
trivial.
Qed.
目标
对于所有(x y z:z),
y z->mk_地址x y mk_地址x z。
简介x y z H1 H2。
应用H1。
注射氢。
琐碎的。
Qed。