removed redundant Nat.less_not_sym, Nat.less_asym;
authorwenzelm
Wed, 19 Mar 2008 18:15:25 +0100
changeset 26335 961bbcc9d85b
parent 26334 80ec6cf82d95
child 26336 a0e2b706ce73
removed redundant Nat.less_not_sym, Nat.less_asym; renamed Nat.less_irrefl to less_irrefl_nat, no longer declared elim;
NEWS
src/HOL/Nat.thy
--- a/NEWS	Wed Mar 19 18:15:13 2008 +0100
+++ b/NEWS	Wed Mar 19 18:15:25 2008 +0100
@@ -44,11 +44,20 @@
 
 *** HOL ***
 
-* Theory Nat: renamed less_imp_le to less_imp_le_nat; removed
-redundant lemmas less_trans, less_linear, le_imp_less_or_eq,
-le_less_trans, less_le_trans, which merely duplicate lemmas of the
-same name in theory Orderings.  Potential INCOMPATIBILITY due to more
-general types and different variable names.
+* Theory Nat: removed redundant lemmas that merely duplicate lemmas of
+the same name in theory Orderings:
+
+  less_trans
+  less_linear
+  le_imp_less_or_eq
+  le_less_trans
+  less_le_trans
+  less_not_sym
+  less_asym
+
+Renamed less_imp_le to less_imp_le_nat, and less_irrefl to
+less_irrefl_nat.  Potential INCOMPATIBILITY due to more general types
+and different variable names.
 
 * Library/Option_ord.thy: Canonical order on option type.
 
--- a/src/HOL/Nat.thy	Wed Mar 19 18:15:13 2008 +0100
+++ b/src/HOL/Nat.thy	Wed Mar 19 18:15:25 2008 +0100
@@ -439,28 +439,17 @@
 
 subsubsection {* Elimination properties *}
 
-lemma less_not_sym: "n < m ==> ~ m < (n::nat)"
-  by (rule order_less_not_sym)
-
-lemma less_asym:
-  assumes h1: "(n::nat) < m" and h2: "~ P ==> m < n" shows P
-  apply (rule contrapos_np)
-  apply (rule less_not_sym)
-  apply (rule h1)
-  apply (erule h2)
-  done
-
 lemma less_not_refl: "~ n < (n::nat)"
   by (rule order_less_irrefl)
 
-lemma less_irrefl [elim!]: "(n::nat) < n ==> R"
-  by (rule notE, rule less_not_refl)
+lemma less_not_refl2: "n < m ==> m \<noteq> (n::nat)"
+  by (rule not_sym) (rule less_imp_neq) 
 
 lemma less_not_refl3: "(s::nat) < t ==> s \<noteq> t"
   by (rule less_imp_neq)
 
-lemma less_not_refl2: "n < m ==> m \<noteq> (n::nat)"
-  by (rule not_sym) (rule less_imp_neq) 
+lemma less_irrefl_nat: "(n::nat) < n ==> R"
+  by (rule notE, rule less_not_refl)
 
 lemma less_zeroE: "(n::nat) < 0 ==> R"
   by (rule notE) (rule not_less0)
@@ -815,7 +804,8 @@
 
 lemma not_add_less1 [iff]: "~ (i + j < (i::nat))"
 apply (rule notI)
-apply (erule add_lessD1 [THEN less_irrefl])
+apply (drule add_lessD1)
+apply (erule less_irrefl [THEN notE])
 done
 
 lemma not_add_less2 [iff]: "~ (j + i < (i::nat))"