diff options
author | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-10-16 13:12:52 +0000 |
---|---|---|
committer | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-10-16 13:12:52 +0000 |
commit | 980d315f7f6d5e05eabbda84f95e11bfa30a0033 (patch) | |
tree | 5d5d530c917ff8cbee8cbdb47f024ad6e51526b0 /theories/FSets/FMapList.v | |
parent | 8ba328e305fdd7deb2c024b0cdbb13ff28c6775a (diff) |
Structure/OrderTac.v : highlight the "order" tactic by isolating it from FSets, and improve it
As soon as you have a eq, a lt and a le (that may be lt\/eq, or (complement (flip (lt)))
and a few basic properties over them, you can instantiate functor MakeOrderTac
and gain an "order" tactic. See comments in the file for the scope of this tactic.
NB: order doesn't call auto anymore. It only searches for a contradiction in the
current set of (in)equalities (after the goal was optionally turned into hyp
by double negation). Thanks to S. Lescuyer for his suggestions about this tactic.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12397 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/FSets/FMapList.v')
-rw-r--r-- | theories/FSets/FMapList.v | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/theories/FSets/FMapList.v b/theories/FSets/FMapList.v index 4c21e1738..9ad2f65cf 100644 --- a/theories/FSets/FMapList.v +++ b/theories/FSets/FMapList.v @@ -1276,8 +1276,7 @@ Proof. try destruct p0 as (x'',e''); try contradiction; auto. destruct (X.compare x x'); destruct (X.compare x' x''); - MapS.Raw.MX.elim_comp. - intuition. + MapS.Raw.MX.elim_comp; intuition. apply D.eq_trans with e'; auto. inversion_clear Hm1; inversion_clear Hm2; inversion_clear Hm3. apply (IHm1 H1 (Build_slist H6) (Build_slist H8)); intuition. @@ -1293,8 +1292,7 @@ Proof. try destruct p0 as (x'',e''); try contradiction; auto. destruct (X.compare x x'); destruct (X.compare x' x''); - MapS.Raw.MX.elim_comp; auto. - intuition. + MapS.Raw.MX.elim_comp; intuition. left; apply D.lt_trans with e'; auto. left; apply lt_eq with e'; auto. left; apply eq_lt with e'; auto. |