QArith 中的平等
Equality in QArith
我想使用 QArith 的交换性属性将一个表达式替换为另一个表达式:
Require Import QArith.
Variable q1 q2 : Q.
Lemma l1 : q1 + q2 = q2 + q1.
Proof.
rewrite Qplus_comm. (* Fail *)
有没有办法将 "Qeq" 等式用作“=”?
q1 == q2
与 q1 = q2
不同。这是一个证明,表明假设它们相等导致 False
,一个矛盾。
Require Import QArith.
Lemma Qeq_is_not_eq: (forall q1 q2:Q, q1==q2 -> q1=q2) -> False.
intro HQ.
assert (H12: 1#1 == 2#2) by (ring).
generalize (HQ (1#1) (2#2) H12).
intros H2.
inversion H2.
Qed.
请参阅 ,其中 Arthur A A 显示 1#1 <> 2#2
,并解释原因。
我想使用 QArith 的交换性属性将一个表达式替换为另一个表达式:
Require Import QArith.
Variable q1 q2 : Q.
Lemma l1 : q1 + q2 = q2 + q1.
Proof.
rewrite Qplus_comm. (* Fail *)
有没有办法将 "Qeq" 等式用作“=”?
q1 == q2
与 q1 = q2
不同。这是一个证明,表明假设它们相等导致 False
,一个矛盾。
Require Import QArith.
Lemma Qeq_is_not_eq: (forall q1 q2:Q, q1==q2 -> q1=q2) -> False.
intro HQ.
assert (H12: 1#1 == 2#2) by (ring).
generalize (HQ (1#1) (2#2) H12).
intros H2.
inversion H2.
Qed.
请参阅 1#1 <> 2#2
,并解释原因。