diff options
| author | msozeau | 2009-11-08 02:19:44 +0000 |
|---|---|---|
| committer | msozeau | 2009-11-08 02:19:44 +0000 |
| commit | 7baac26fccbd903f82f09e542aee1aa994d50c0d (patch) | |
| tree | 38c64e213733727fb82f0c1ae8e6362226a9fcce /theories | |
| parent | 6d684ec32bc62ff1e9528081a2369852cc5b5c65 (diff) | |
Use generalizable variables info when internalizing arbitrary bindings,
not just type class applications.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12479 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories')
| -rw-r--r-- | theories/Classes/Morphisms_Relations.v | 2 | ||||
| -rw-r--r-- | theories/Classes/RelationClasses.v | 2 | ||||
| -rw-r--r-- | theories/MSets/MSetAVL.v | 4 | ||||
| -rw-r--r-- | theories/MSets/MSetInterface.v | 2 | ||||
| -rw-r--r-- | theories/MSets/MSetList.v | 4 | ||||
| -rw-r--r-- | theories/MSets/MSetWeakList.v | 4 |
6 files changed, 10 insertions, 8 deletions
diff --git a/theories/Classes/Morphisms_Relations.v b/theories/Classes/Morphisms_Relations.v index 9c42ff155c..d8365abc79 100644 --- a/theories/Classes/Morphisms_Relations.v +++ b/theories/Classes/Morphisms_Relations.v @@ -16,6 +16,8 @@ Require Import Relation_Definitions. Require Import Coq.Classes.Morphisms. Require Import Coq.Program.Program. +Generalizable Variables A l. + (** Morphisms for relations *) Instance relation_conjunction_morphism : Proper (relation_equivalence (A:=A) ==> diff --git a/theories/Classes/RelationClasses.v b/theories/Classes/RelationClasses.v index 06da511292..2caaa063a5 100644 --- a/theories/Classes/RelationClasses.v +++ b/theories/Classes/RelationClasses.v @@ -74,7 +74,7 @@ Hint Extern 4 => solve_relation : relations. (** We can already dualize all these properties. *) -Generalizable Variables A B C D R S T U eqA eqB eqC eqD. +Generalizable Variables A B C D R S T U l eqA eqB eqC eqD. Program Lemma flip_Reflexive `(Reflexive A R) : Reflexive (flip R). Proof. tauto. Qed. diff --git a/theories/MSets/MSetAVL.v b/theories/MSets/MSetAVL.v index 477c431c42..8f825c5841 100644 --- a/theories/MSets/MSetAVL.v +++ b/theories/MSets/MSetAVL.v @@ -538,7 +538,7 @@ Definition IsOk := bst. Class Ok (s:t) : Prop := { ok : bst s }. -Instance bst_Ok `(Hs : bst s) : Ok s := Hs. +Instance bst_Ok s (Hs : bst s) : Ok s := Hs. Fixpoint ltb_tree x s := match s with @@ -657,7 +657,7 @@ Proof. intuition_in. Qed. -Instance isok_Ok `(isok s = true) : Ok s | 10. +Instance isok_Ok s : isok s = true -> Ok s | 10. Proof. intros; apply <- isok_iff; auto. Qed. diff --git a/theories/MSets/MSetInterface.v b/theories/MSets/MSetInterface.v index ef32c114b2..a2a686d94d 100644 --- a/theories/MSets/MSetInterface.v +++ b/theories/MSets/MSetInterface.v @@ -342,7 +342,7 @@ Module Type WRawSets (E : DecidableType). predicate [Ok]. If [Ok] isn't decidable, [isok] may be the always-false function. *) Parameter isok : t -> bool. - Instance isok_Ok `(isok s = true) : Ok s | 10. + Instance isok_Ok s `(isok s = true) : Ok s | 10. (** Logical predicates *) Parameter In : elt -> t -> Prop. diff --git a/theories/MSets/MSetList.v b/theories/MSets/MSetList.v index 8b0a16c112..b7b9a024a9 100644 --- a/theories/MSets/MSetList.v +++ b/theories/MSets/MSetList.v @@ -225,7 +225,7 @@ Module MakeRaw (X: OrderedType) <: RawSets X. Hint Resolve @ok. Hint Constructors Ok. - Instance Sort_Ok `(Hs : Sort s) : Ok s := Hs. + Instance Sort_Ok s `(Hs : Sort s) : Ok s := Hs. Ltac inv_ok := match goal with | H:Ok (_ :: _) |- _ => apply @ok in H; inversion_clear H; inv_ok @@ -276,7 +276,7 @@ Module MakeRaw (X: OrderedType) <: RawSets X. constructor; intuition. Qed. - Global Instance isok_Ok `(isok s = true) : Ok s | 10. + Global Instance isok_Ok s `(isok s = true) : Ok s | 10. Proof. intros. apply <- isok_iff. auto. Qed. diff --git a/theories/MSets/MSetWeakList.v b/theories/MSets/MSetWeakList.v index d5a85e6c2a..0af8a24aa4 100644 --- a/theories/MSets/MSetWeakList.v +++ b/theories/MSets/MSetWeakList.v @@ -126,7 +126,7 @@ Module MakeRaw (X:DecidableType) <: WRawSets X. Hint Constructors Ok. Hint Resolve @ok. - Instance NoDup_Ok `(nd : NoDup s) : Ok s := nd. + Instance NoDup_Ok s (nd : NoDup s) : Ok s := nd. Ltac inv_ok := match goal with | H:Ok (_ :: _) |- _ => apply @ok in H; inversion_clear H; inv_ok @@ -179,7 +179,7 @@ Module MakeRaw (X:DecidableType) <: WRawSets X. rewrite <- mem_spec; auto; congruence. Qed. - Global Instance isok_Ok `(isok l = true) : Ok l | 10. + Global Instance isok_Ok l : isok l = true -> Ok l | 10. Proof. intros. apply <- isok_iff; auto. Qed. |
