Squared things out.
authorobua
Thu, 24 May 2007 16:52:54 +0200
changeset 23095 45f10b70e891
parent 23094 f1df8d2da98a
child 23096 423ad2fe9f76
Squared things out.
src/HOL/Integ/NatBin.thy
src/HOL/Ring_and_Field.thy
--- a/src/HOL/Integ/NatBin.thy	Thu May 24 14:04:06 2007 +0200
+++ b/src/HOL/Integ/NatBin.thy	Thu May 24 16:52:54 2007 +0200
@@ -298,31 +298,31 @@
 declare power2_eq_square_number_of [simp]
 
 
-lemma zero_le_power2: "0 \<le> (a\<twosuperior>::'a::{ordered_idom,recpower})"
-  by (simp add: power2_eq_square zero_le_square)
+lemma zero_le_power2[simp]: "0 \<le> (a\<twosuperior>::'a::{ordered_idom,recpower})"
+  by (simp add: power2_eq_square)
 
-lemma zero_less_power2:
+lemma zero_less_power2[simp]:
      "(0 < a\<twosuperior>) = (a \<noteq> (0::'a::{ordered_idom,recpower}))"
   by (force simp add: power2_eq_square zero_less_mult_iff linorder_neq_iff)
 
-lemma power2_less_0:
+lemma power2_less_0[simp]:
   fixes a :: "'a::{ordered_idom,recpower}"
   shows "~ (a\<twosuperior> < 0)"
 by (force simp add: power2_eq_square mult_less_0_iff) 
 
-lemma zero_eq_power2:
+lemma zero_eq_power2[simp]:
      "(a\<twosuperior> = 0) = (a = (0::'a::{ordered_idom,recpower}))"
   by (force simp add: power2_eq_square mult_eq_0_iff)
 
-lemma abs_power2:
+lemma abs_power2[simp]:
      "abs(a\<twosuperior>) = (a\<twosuperior>::'a::{ordered_idom,recpower})"
   by (simp add: power2_eq_square abs_mult abs_mult_self)
 
-lemma power2_abs:
+lemma power2_abs[simp]:
      "(abs a)\<twosuperior> = (a\<twosuperior>::'a::{ordered_idom,recpower})"
   by (simp add: power2_eq_square abs_mult_self)
 
-lemma power2_minus:
+lemma power2_minus[simp]:
      "(- a)\<twosuperior> = (a\<twosuperior>::'a::{comm_ring_1,recpower})"
   by (simp add: power2_eq_square)
 
@@ -341,7 +341,7 @@
   shows "\<lbrakk>x\<twosuperior> = y\<twosuperior>; 0 \<le> x; 0 \<le> y\<rbrakk> \<Longrightarrow> x = y"
 unfolding numeral_2_eq_2 by (erule (2) power_eq_imp_eq_base, simp)
 
-lemma power_minus1_even: "(- 1) ^ (2*n) = (1::'a::{comm_ring_1,recpower})"
+lemma power_minus1_even[simp]: "(- 1) ^ (2*n) = (1::'a::{comm_ring_1,recpower})"
 apply (induct "n")
 apply (auto simp add: power_Suc power_add power2_minus)
 done
@@ -356,7 +356,7 @@
      "(-a) ^ (2*n) = (a::'a::{comm_ring_1,recpower}) ^ (2*n)"
 by (simp add: power_minus1_even power_minus [of a]) 
 
-lemma zero_le_even_power':
+lemma zero_le_even_power'[simp]:
      "0 \<le> (a::'a::{ordered_idom,recpower}) ^ (2*n)"
 proof (induct "n")
   case 0
--- a/src/HOL/Ring_and_Field.thy	Thu May 24 14:04:06 2007 +0200
+++ b/src/HOL/Ring_and_Field.thy	Thu May 24 16:52:54 2007 +0200
@@ -469,8 +469,11 @@
 lemma split_mult_neg_le: "(0 \<le> a & b \<le> 0) | (a \<le> 0 & 0 \<le> b) \<Longrightarrow> a * b \<le> (0::_::pordered_cancel_semiring)" 
 by (auto simp add: mult_nonneg_nonpos mult_nonneg_nonpos2)
 
-lemma zero_le_square: "(0::'a::ordered_ring_strict) \<le> a*a"
-by (simp add: zero_le_mult_iff linorder_linear) 
+lemma zero_le_square[simp]: "(0::'a::ordered_ring_strict) \<le> a*a"
+by (simp add: zero_le_mult_iff linorder_linear)
+
+lemma not_square_less_zero[simp]: "\<not> (a * a < (0::'a::ordered_ring_strict))"
+by (simp add: not_less)
 
 text{*Proving axiom @{text zero_less_one} makes all @{text ordered_semidom}
       theorems available to members of @{term ordered_idom} *}