diff options
author | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2012-01-28 05:08:18 +0000 |
---|---|---|
committer | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2012-01-28 05:08:18 +0000 |
commit | 47e9afaaa4c08aca97d4f4b5a89cb40da76bd850 (patch) | |
tree | a2424086c8b7e1635f7a481109a7fae8fcaad386 /theories/Classes | |
parent | 3f6196a6bdc7e5b0e6d8279a7b7b0de74faa3492 (diff) |
Tentative to fix bug #2628 by not letting intuition break records. Might be too much of a backwards-incompatible change
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14949 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Classes')
-rw-r--r-- | theories/Classes/Equivalence.v | 11 | ||||
-rw-r--r-- | theories/Classes/Morphisms.v | 7 |
2 files changed, 17 insertions, 1 deletions
diff --git a/theories/Classes/Equivalence.v b/theories/Classes/Equivalence.v index d9e9fe257..87316cda9 100644 --- a/theories/Classes/Equivalence.v +++ b/theories/Classes/Equivalence.v @@ -115,6 +115,12 @@ Section Respecting. Next Obligation. Proof. + unfold respecting in *. program_simpl. transitivity (y y0); auto. symmetry; apply H. reflexivity. + Qed. + + + Next Obligation. + Proof. unfold respecting in *. program_simpl. transitivity (y y0); auto. apply H0. reflexivity. Qed. @@ -122,10 +128,13 @@ End Respecting. (** The default equivalence on function spaces, with higher-priority than [eq]. *) +Hint Extern 0 => reflexivity : relations. +Hint Extern 1 => solve [symmetry; auto] : relations. + Program Instance pointwise_equivalence {A} `(eqb : Equivalence B eqB) : Equivalence (pointwise_relation A eqB) | 9. Next Obligation. Proof. - transitivity (y a) ; auto. + transitivity (y a); auto with relations. Qed. diff --git a/theories/Classes/Morphisms.v b/theories/Classes/Morphisms.v index 8e491b1b8..30d82822a 100644 --- a/theories/Classes/Morphisms.v +++ b/theories/Classes/Morphisms.v @@ -146,6 +146,13 @@ Program Instance respectful_per `(PER A R, PER B R') : PER (R ==> R'). Next Obligation. Proof with auto. assert(R x0 x0). + transitivity y0... symmetry... + symmetry... apply H1. now symmetry. + Qed. + + Next Obligation. + Proof with auto. + assert(R x0 x0). transitivity y0... symmetry... transitivity (y x0)... Qed. |