diff options
author | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-04-15 15:53:27 +0000 |
---|---|---|
committer | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-04-15 15:53:27 +0000 |
commit | a81f52f601c9851d59d0a9f53f0a46c7444fcab1 (patch) | |
tree | ff49d0f23739789e57801b2c6f5e63ee9b38c85a /theories/Classes/SetoidTactics.v | |
parent | ecdaf627e4ab97611a0cbabab8b30b7055110682 (diff) |
Document CHANGES in setoid rewrite, move DefaultRelation to
SetoidTactics and document it. Cleanup Classes.Equivalence.
Minor fixes to the Program doc.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10799 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Classes/SetoidTactics.v')
-rw-r--r-- | theories/Classes/SetoidTactics.v | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/theories/Classes/SetoidTactics.v b/theories/Classes/SetoidTactics.v index 03195e083..8752f649b 100644 --- a/theories/Classes/SetoidTactics.v +++ b/theories/Classes/SetoidTactics.v @@ -24,7 +24,24 @@ Require Export Coq.Relations.Relation_Definitions. Set Implicit Arguments. Unset Strict Implicit. -(** The setoid_replace tactics in Ltac, defined in terms of default relations [===def] and +(** Default relation on a given support. Can be used by tactics + to find a sensible default relation on any carrier. Users can + declare an [Instance A RA] anywhere to declare default relations. + This is also done by the [Declare Relation A RA] command with no + parameters for backward compatibility. *) + +Class DefaultRelation A (R : relation A). + +(** To search for the default relation, just call [default_relation]. *) + +Definition default_relation [ DefaultRelation A R ] := R. + +(** Every [Equivalence] gives a default relation, if no other is given (lowest priority). *) + +Instance [ Equivalence A R ] => + equivalence_default : DefaultRelation A R | 4. + +(** The setoid_replace tactics in Ltac, defined in terms of default relations and the setoid_rewrite tactic. *) Ltac setoidreplace H t := |