diff options
author | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-03-28 20:40:35 +0000 |
---|---|---|
committer | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-03-28 20:40:35 +0000 |
commit | 22cc653ceff98ea69d0975ee0ccdcecc4ba96058 (patch) | |
tree | fb2b12a19945d2153d7db8aa715833015cc25ec2 /theories/Program | |
parent | 6bd55e5c17463d3868becba4064dba46c95c4028 (diff) |
Improve error handling and messages for typeclasses.
Add definitions of relational algebra in Classes/RelationClasses
including equivalence, inclusion, conjunction and disjunction. Add
PartialOrder class and show that we have a partial order on relations.
Change SubRelation to subrelation for consistency with the standard
library. The caracterization of PartialOrder is a bit original: we
require an equivalence and a preorder so that the equivalence relation
is equivalent to the conjunction of the order relation and its
inverse. We can derive antisymmetry and appropriate morphism instances
from this. Also add a fully general heterogeneous definition of
respectful from which we can build the non-dependent respectful
combinator.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10728 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Program')
-rw-r--r-- | theories/Program/Tactics.v | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/theories/Program/Tactics.v b/theories/Program/Tactics.v index f31115d99..f2dcdd0e0 100644 --- a/theories/Program/Tactics.v +++ b/theories/Program/Tactics.v @@ -27,9 +27,11 @@ Ltac destruct_pairs := repeat (destruct_one_pair). Ltac destruct_one_ex := let tac H := let ph := fresh "H" in destruct H as [H ph] in + let tacT H := let ph := fresh "X" in destruct H as [H ph] in match goal with | [H : (ex _) |- _] => tac H | [H : (sig ?P) |- _ ] => tac H + | [H : (sigT ?P) |- _ ] => tacT H | [H : (ex2 _) |- _] => tac H end. |