Coq 卡塔尔的平等
我想使用QArith的交换性属性将一个表达式替换为另一个表达式:Coq 卡塔尔的平等,coq,Coq,我想使用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_no
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#12#2
,并解释原因。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#12#2
的地方,并解释原因