如何证明函数的图像相等性:Coq 中的 x = y -> f x = f y?
How to prove image equality for functions: x = y -> f x = f y in Coq?
凭直觉,我知道如果 x = y
那么 f x = f y
,对于任何函数 f
。但我不知道如何在 Coq 中证明这一点。到目前为止我所拥有的是:
Theorem eq_img: forall {X:Type} (f: X->X) (x y :X), x = y -> f x = f y.
Proof. intros X f x y eq1.
状态是:
1 subgoals
X : Type
f : X -> X
x : X
y : X
eq1 : x = y
______________________________________(1/1)
f x = f y
关于我应该如何进行的任何指示?
谢谢。
我明白了。只需要用rewrite
消去x
或y
,那就是反身性
Theorem eq_img: forall {X:Type} (f: X->X) (x y :X), x = y -> f x = f y.
Proof. intros X f x y eq1. rewrite <- eq1. reflexivity. Qed.
凭直觉,我知道如果 x = y
那么 f x = f y
,对于任何函数 f
。但我不知道如何在 Coq 中证明这一点。到目前为止我所拥有的是:
Theorem eq_img: forall {X:Type} (f: X->X) (x y :X), x = y -> f x = f y.
Proof. intros X f x y eq1.
状态是:
1 subgoals
X : Type
f : X -> X
x : X
y : X
eq1 : x = y
______________________________________(1/1)
f x = f y
关于我应该如何进行的任何指示?
谢谢。
我明白了。只需要用rewrite
消去x
或y
,那就是反身性
Theorem eq_img: forall {X:Type} (f: X->X) (x y :X), x = y -> f x = f y.
Proof. intros X f x y eq1. rewrite <- eq1. reflexivity. Qed.