diff options
author | 2006-12-28 21:05:12 +0000 | |
---|---|---|
committer | 2006-12-28 21:05:12 +0000 | |
commit | ba09fcb015b19e083d64f901d11381feee2c033e (patch) | |
tree | 138174f95f5733cb11a2a66c00396406963c8ae1 /theories/NArith/BinPos.v | |
parent | d17bd6a4838b0b181582c23e16c2225277ac1719 (diff) |
Remplacement axiome JMeq_eq dans BinPos par eq_dec_eq sur type à
égalité décidable + maj dépendances
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9467 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/NArith/BinPos.v')
-rw-r--r-- | theories/NArith/BinPos.v | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/theories/NArith/BinPos.v b/theories/NArith/BinPos.v index 03d29db35..8123d8d85 100644 --- a/theories/NArith/BinPos.v +++ b/theories/NArith/BinPos.v @@ -535,21 +535,31 @@ Definition PeanoView_iter (P:positive->Type) | PeanoSucc _ q => f _ (iter _ q) end). -Require Import JMeq. +Require Import Eqdep_dec EqdepFacts. + +Theorem eq_dep_eq_positive : + forall (P:positive->Type) (p:positive) (x y:P p), + eq_dep positive P p x p y -> x = y. +Proof. +apply eq_dep_eq_dec. +decide equality. +Qed. Theorem PeanoViewUnique : forall p (q q':PeanoView p), q = q'. Proof. intros. -induction q. apply JMeq_eq. cut (xH=xH). pattern xH at 1 2 5, q'. destruct q'. trivial. -destruct p0; intros; discriminate. -trivial. -apply JMeq_eq. -cut (Psucc p=Psucc p). pattern (Psucc p) at 1 2 5, q'. destruct q'. -intro. destruct p; discriminate. -intro. unfold p0 in H. apply Psucc_inj in H. -generalize q'. rewrite H. intro. -rewrite (IHq q'0). -trivial. +induction q. +apply eq_dep_eq_positive. + cut (xH=xH). pattern xH at 1 2 5, q'. destruct q'. trivial. + destruct p0; intros; discriminate. + trivial. +apply eq_dep_eq_positive. + cut (Psucc p=Psucc p). pattern (Psucc p) at 1 2 5, q'. destruct q'. + intro. destruct p; discriminate. + intro. unfold p0 in H. apply Psucc_inj in H. + generalize q'. rewrite H. intro. + rewrite (IHq q'0). + trivial. trivial. Qed. |