diff options
author | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-05-11 22:04:26 +0000 |
---|---|---|
committer | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-05-11 22:04:26 +0000 |
commit | 30443ddaba7a0cc996216b3d692b97e0b05907fe (patch) | |
tree | 1a1bdadcdf69582262bd6bddc21e9e03215d2871 /theories/Classes/Equivalence.v | |
parent | b6c6e36afa8da16a62bf16191baa2531894c54fc (diff) |
- Cleanup parsing of binders, reducing to a single production for all
binders.
- Change syntax of type class instances to better match the usual syntax of
lemmas/definitions with name first, then arguments ":" instance.
Update theories/Classes accordingly.
- Correct globalization of tactic references when doing Ltac :=/::=, update
documentation.
- Remove the not so useful "(x &)" and "{{x}}" syntaxes from
Program.Utils, and subset_scope as well.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10919 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Classes/Equivalence.v')
-rw-r--r-- | theories/Classes/Equivalence.v | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/theories/Classes/Equivalence.v b/theories/Classes/Equivalence.v index 23af8a744..42961baea 100644 --- a/theories/Classes/Equivalence.v +++ b/theories/Classes/Equivalence.v @@ -52,16 +52,16 @@ Infix "=~=" := pequiv (at level 70, no associativity) : equiv_scope. (** Shortcuts to make proof search easier. *) -Program Instance [ sa : Equivalence A ] => equiv_reflexive : Reflexive equiv. +Program Instance equiv_reflexive [ sa : Equivalence A ] : Reflexive equiv. -Program Instance [ sa : Equivalence A ] => equiv_symmetric : Symmetric equiv. +Program Instance equiv_symmetric [ sa : Equivalence A ] : Symmetric equiv. Next Obligation. Proof. symmetry ; auto. Qed. -Program Instance [ sa : Equivalence A ] => equiv_transitive : Transitive equiv. +Program Instance equiv_transitive [ sa : Equivalence A ] : Transitive equiv. Next Obligation. Proof. @@ -116,8 +116,8 @@ Section Respecting. Definition respecting [ Equivalence A (R : relation A), Equivalence B (R' : relation B) ] : Type := { morph : A -> B | respectful R R' morph morph }. - Program Instance [ Equivalence A R, Equivalence B R' ] => - respecting_equiv : Equivalence respecting + Program Instance respecting_equiv [ Equivalence A R, Equivalence B R' ] : + Equivalence respecting (fun (f g : respecting) => forall (x y : A), R x y -> R' (proj1_sig f x) (proj1_sig g y)). Solve Obligations using unfold respecting in * ; simpl_relation ; program_simpl. @@ -134,8 +134,8 @@ End Respecting. (** The default equivalence on function spaces, with higher-priority than [eq]. *) -Program Instance [ Equivalence A eqA ] => - pointwise_equivalence : Equivalence (B -> A) (pointwise_relation eqA) | 9. +Program Instance pointwise_equivalence [ Equivalence A eqA ] : + Equivalence (B -> A) (pointwise_relation eqA) | 9. Next Obligation. Proof. |