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

时间:2015-09-09 15:25:42

标签: 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.

1 个答案:

答案 0 :(得分:3)

congruence可以照顾它:

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

congruence.
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.