aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-07-01 17:03:43 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-07-01 17:03:43 +0000
commitf6007680bfa822ecc3d2f101fb6e21e2b1464b1b (patch)
treeb1868ec32ab9c1f901f1cd4d51f44e80c9e78b82 /theories
parent403399674d51d725c56ddbc15bc3d593ead8a800 (diff)
Various bug fixes in type classes and subtac:
- Cases on multiple objects - Avoid dangerous coercion with evars in subtac_coercion - Resolve typeclasses method-by-method to get better error messages. - Correct merging of instance databases (and add debug printer) - Fix a script in NOrder where a setoid_replace was not working before. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11198 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories')
-rw-r--r--theories/Classes/Morphisms.v6
-rw-r--r--theories/Numbers/Natural/Abstract/NOrder.v9
2 files changed, 7 insertions, 8 deletions
diff --git a/theories/Classes/Morphisms.v b/theories/Classes/Morphisms.v
index 724021799..3ffa8040d 100644
--- a/theories/Classes/Morphisms.v
+++ b/theories/Classes/Morphisms.v
@@ -75,7 +75,7 @@ Arguments Scope respectful [type_scope type_scope signature_scope signature_scop
Open Local Scope signature_scope.
-(** Pointwise lifting is just respect with leibnize equality on the left. *)
+(** Pointwise lifting is just respect with leibniz equality on the left. *)
Definition pointwise_relation {A B : Type} (R : relation B) : relation (A -> B) :=
fun f g => forall x : A, R (f x) (g x).
@@ -222,8 +222,8 @@ Program Instance trans_sym_contra_impl_morphism
transitivity x0... symmetry...
Qed.
-Program Instance equivalence_partial_app_morphism
- [ Equivalence A R ] : Morphism (R ==> iff) (R x) | 1.
+Program Instance per_partial_app_morphism
+ [ PER A R ] : Morphism (R ==> iff) (R x) | 1.
Next Obligation.
Proof with auto.
diff --git a/theories/Numbers/Natural/Abstract/NOrder.v b/theories/Numbers/Natural/Abstract/NOrder.v
index bcd4b92d6..5212e6381 100644
--- a/theories/Numbers/Natural/Abstract/NOrder.v
+++ b/theories/Numbers/Natural/Abstract/NOrder.v
@@ -309,13 +309,12 @@ Proof NZgt_wf.
Theorem lt_wf_0 : well_founded lt.
Proof.
-assert (H : relations_eq lt (fun n m : N => 0 <= n /\ n < m)).
+setoid_replace lt with (fun n m : N => 0 <= n /\ n < m)
+ using relation (@relations_eq N N).
+apply lt_wf.
intros x y; split.
intro H; split; [apply le_0_l | assumption]. now intros [_ H].
-rewrite H; apply lt_wf.
-(* does not work:
-setoid_replace lt with (fun n m : N => 0 <= n /\ n < m) using relation relations_eq.*)
-Qed.
+Defined.
(* Theorems that are true for natural numbers but not for integers *)