declare add_nonneg_nonneg [simp]; remove now-redundant lemmas realpow_two_le_order(2)
authorhuffman
Mon, 17 May 2010 18:59:59 -0700
changeset 3697771c8973a604b
parent 36976 e78d1e06d855
child 36978 4ec5131c6f46
declare add_nonneg_nonneg [simp]; remove now-redundant lemmas realpow_two_le_order(2)
src/HOL/Big_Operators.thy
src/HOL/Groups.thy
src/HOL/NSA/NSCA.thy
src/HOL/Nat.thy
src/HOL/RealDef.thy
src/HOL/Rings.thy
     1.1 --- a/src/HOL/Big_Operators.thy	Mon May 17 18:51:25 2010 -0700
     1.2 +++ b/src/HOL/Big_Operators.thy	Mon May 17 18:59:59 2010 -0700
     1.3 @@ -673,7 +673,7 @@
     1.4    proof induct
     1.5      case empty thus ?case by simp
     1.6    next
     1.7 -    case (insert x A) thus ?case by (auto simp: add_nonneg_nonneg)
     1.8 +    case (insert x A) thus ?case by auto
     1.9    qed
    1.10  next
    1.11    case False thus ?thesis by (simp add: setsum_def)
     2.1 --- a/src/HOL/Groups.thy	Mon May 17 18:51:25 2010 -0700
     2.2 +++ b/src/HOL/Groups.thy	Mon May 17 18:59:59 2010 -0700
     2.3 @@ -605,7 +605,7 @@
     2.4    then show ?thesis by simp
     2.5  qed
     2.6  
     2.7 -lemma add_nonneg_nonneg:
     2.8 +lemma add_nonneg_nonneg [simp]:
     2.9    assumes "0 \<le> a" and "0 \<le> b" shows "0 \<le> a + b"
    2.10  proof -
    2.11    have "0 + 0 \<le> a + b" 
     3.1 --- a/src/HOL/NSA/NSCA.thy	Mon May 17 18:51:25 2010 -0700
     3.2 +++ b/src/HOL/NSA/NSCA.thy	Mon May 17 18:59:59 2010 -0700
     3.3 @@ -279,13 +279,9 @@
     3.4    "\<lbrakk>x \<in> Infinitesimal; y \<in> Infinitesimal\<rbrakk> \<Longrightarrow> HComplex x y \<in> Infinitesimal"
     3.5  apply (rule Infinitesimal_hcmod_iff [THEN iffD2])
     3.6  apply (simp add: hcmod_i)
     3.7 -apply (rule Infinitesimal_sqrt)
     3.8  apply (rule Infinitesimal_add)
     3.9  apply (erule Infinitesimal_hrealpow, simp)
    3.10  apply (erule Infinitesimal_hrealpow, simp)
    3.11 -apply (rule add_nonneg_nonneg)
    3.12 -apply (rule zero_le_power2)
    3.13 -apply (rule zero_le_power2)
    3.14  done
    3.15  
    3.16  lemma hcomplex_Infinitesimal_iff:
     4.1 --- a/src/HOL/Nat.thy	Mon May 17 18:51:25 2010 -0700
     4.2 +++ b/src/HOL/Nat.thy	Mon May 17 18:59:59 2010 -0700
     4.3 @@ -1294,15 +1294,11 @@
     4.4  begin
     4.5  
     4.6  lemma zero_le_imp_of_nat: "0 \<le> of_nat m"
     4.7 -  apply (induct m, simp_all)
     4.8 -  apply (erule order_trans)
     4.9 -  apply (rule ord_le_eq_trans [OF _ add_commute])
    4.10 -  apply (rule less_add_one [THEN less_imp_le])
    4.11 -  done
    4.12 +  by (induct m) simp_all
    4.13  
    4.14  lemma less_imp_of_nat_less: "m < n \<Longrightarrow> of_nat m < of_nat n"
    4.15    apply (induct m n rule: diff_induct, simp_all)
    4.16 -  apply (insert add_less_le_mono [OF zero_less_one zero_le_imp_of_nat], force)
    4.17 +  apply (rule add_pos_nonneg [OF zero_less_one zero_le_imp_of_nat])
    4.18    done
    4.19  
    4.20  lemma of_nat_less_imp_less: "of_nat m < of_nat n \<Longrightarrow> m < n"
     5.1 --- a/src/HOL/RealDef.thy	Mon May 17 18:51:25 2010 -0700
     5.2 +++ b/src/HOL/RealDef.thy	Mon May 17 18:59:59 2010 -0700
     5.3 @@ -1620,14 +1620,6 @@
     5.4       "(x ^ 2 + y ^ 2 = (0::real)) = (x = 0 & y = 0)"
     5.5  by (rule sum_power2_eq_zero_iff)
     5.6  
     5.7 -text {* FIXME: declare this [simp] for all types, or not at all *}
     5.8 -lemma realpow_two_le_add_order [simp]: "(0::real) \<le> u ^ 2 + v ^ 2"
     5.9 -by (rule sum_power2_ge_zero)
    5.10 -
    5.11 -text {* FIXME: declare this [simp] for all types, or not at all *}
    5.12 -lemma realpow_two_le_add_order2 [simp]: "(0::real) \<le> u ^ 2 + v ^ 2 + w ^ 2"
    5.13 -by (intro add_nonneg_nonneg zero_le_power2)
    5.14 -
    5.15  lemma real_minus_mult_self_le [simp]: "-(u * u) \<le> (x * (x::real))"
    5.16  by (rule_tac y = 0 in order_trans, auto)
    5.17  
     6.1 --- a/src/HOL/Rings.thy	Mon May 17 18:51:25 2010 -0700
     6.2 +++ b/src/HOL/Rings.thy	Mon May 17 18:59:59 2010 -0700
     6.3 @@ -956,7 +956,7 @@
     6.4    show "\<bar>a + b\<bar> \<le> \<bar>a\<bar> + \<bar>b\<bar>"
     6.5      by (auto simp add: abs_if not_less)
     6.6      (auto simp del: minus_add_distrib simp add: minus_add_distrib [symmetric],
     6.7 -     auto intro: add_nonneg_nonneg, auto intro!: less_imp_le add_neg_neg)
     6.8 +     auto intro!: less_imp_le add_neg_neg)
     6.9  qed (auto simp add: abs_if)
    6.10  
    6.11  lemma zero_le_square [simp]: "0 \<le> a * a"