aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/MSets
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2009-11-15 00:15:42 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2009-11-15 00:15:42 +0000
commit77ba6079eef1099a34bfcff01fe36298392e3fdf (patch)
tree466868e3c5c3ffb57d32083ca2a51067e4926d09 /theories/MSets
parent600e73d2522599fd600ab717410254565d57236b (diff)
Fix [Instance: forall ..., C args := t] declarations to behave as
expected, not introducing the [forall ...] variables to avoid unnecessary eta-expansions. Force to use { } in instance declarations when the class is a record even if it's a singleton. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12524 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/MSets')
-rw-r--r--theories/MSets/MSetAVL.v4
-rw-r--r--theories/MSets/MSetList.v2
-rw-r--r--theories/MSets/MSetWeakList.v2
3 files changed, 4 insertions, 4 deletions
diff --git a/theories/MSets/MSetAVL.v b/theories/MSets/MSetAVL.v
index 8f825c584..56186e623 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 s (Hs : bst s) : Ok s := Hs.
+Instance bst_Ok s (Hs : bst s) : Ok s := { ok := Hs }.
Fixpoint ltb_tree x s :=
match s with
@@ -1523,7 +1523,7 @@ Proof.
destruct (andb_prop _ _ H0); auto.
(* <- *)
induction s; simpl; auto.
- intros.
+ intros. red in H0.
rewrite IHs1; try red; auto.
rewrite IHs2; try red; auto.
generalize (H0 t0).
diff --git a/theories/MSets/MSetList.v b/theories/MSets/MSetList.v
index b7b9a024a..c5e300cdd 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 s `(Hs : Sort s) : Ok s := Hs.
+ Instance Sort_Ok s `(Hs : Sort s) : Ok s := { ok := Hs }.
Ltac inv_ok := match goal with
| H:Ok (_ :: _) |- _ => apply @ok in H; inversion_clear H; inv_ok
diff --git a/theories/MSets/MSetWeakList.v b/theories/MSets/MSetWeakList.v
index 0af8a24aa..c49ab9d95 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 s (nd : NoDup s) : Ok s := nd.
+ Instance NoDup_Ok s (nd : NoDup s) : Ok s := { ok := nd }.
Ltac inv_ok := match goal with
| H:Ok (_ :: _) |- _ => apply @ok in H; inversion_clear H; inv_ok