diff options
author | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-09-16 09:11:21 +0000 |
---|---|---|
committer | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-09-16 09:11:21 +0000 |
commit | ffd8e4e70a4404453f6ab05d0e8f23ef5a3256a2 (patch) | |
tree | bf0d3c663cd31c8363df529c12d009e89bbfaf3a /theories/ZArith | |
parent | c1bbd8eff6276e9c2d2e39a067009059c752d7f5 (diff) |
Omega: for non-arithmetical goals, try proving False from context (wish #2236)
This way, no more error messages like "Unrecognized predicate".
Some code simplification and reorganization on the way, in particular
a few tests like "is_Prop ..." or "closed0 ..." were actually useless.
Also add support for the situation H:~Zne x y for uniformity.
Beware: scripts relying negatively on the strength of omega may have to
be adapted (e.g. "try omega. some_more_tactics_in_case_omega_fails.").
For instance, one line deletion in PermutSetoid.v
Probably more cumbersome : "auto with *" becomes stronger since it
may call omega. Todo : check the impact on contribs tomorrow.
Btw, this commit seems to solve a bug where omega was to be guided
by some (set foo:= ...) before being able to succeed (cf PermutSetoid.v)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14474 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/ZArith')
-rw-r--r-- | theories/ZArith/Zorder.v | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/theories/ZArith/Zorder.v b/theories/ZArith/Zorder.v index 32faf5a95..a8cd69bb3 100644 --- a/theories/ZArith/Zorder.v +++ b/theories/ZArith/Zorder.v @@ -111,6 +111,12 @@ Proof. Z.swap_greater. apply Z.nle_gt. Qed. +Lemma not_Zne n m : ~ Zne n m -> n = m. +Proof. + intros H. + destruct (Z.eq_decidable n m); [assumption|now elim H]. +Qed. + (** * Equivalence and order properties *) (** Reflexivity *) |