# HG changeset patch # User obua # Date 1180018374 -7200 # Node ID 45f10b70e8919dbc7795eab485558f28eea64c7c # Parent f1df8d2da98adc986a1fe517eb59b14c78151ee8 Squared things out. diff -r f1df8d2da98a -r 45f10b70e891 src/HOL/Integ/NatBin.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 \ (a\::'a::{ordered_idom,recpower})" - by (simp add: power2_eq_square zero_le_square) +lemma zero_le_power2[simp]: "0 \ (a\::'a::{ordered_idom,recpower})" + by (simp add: power2_eq_square) -lemma zero_less_power2: +lemma zero_less_power2[simp]: "(0 < a\) = (a \ (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\ < 0)" by (force simp add: power2_eq_square mult_less_0_iff) -lemma zero_eq_power2: +lemma zero_eq_power2[simp]: "(a\ = 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\) = (a\::'a::{ordered_idom,recpower})" by (simp add: power2_eq_square abs_mult abs_mult_self) -lemma power2_abs: +lemma power2_abs[simp]: "(abs a)\ = (a\::'a::{ordered_idom,recpower})" by (simp add: power2_eq_square abs_mult_self) -lemma power2_minus: +lemma power2_minus[simp]: "(- a)\ = (a\::'a::{comm_ring_1,recpower})" by (simp add: power2_eq_square) @@ -341,7 +341,7 @@ shows "\x\ = y\; 0 \ x; 0 \ y\ \ 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 \ (a::'a::{ordered_idom,recpower}) ^ (2*n)" proof (induct "n") case 0 diff -r f1df8d2da98a -r 45f10b70e891 src/HOL/Ring_and_Field.thy --- 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 \ a & b \ 0) | (a \ 0 & 0 \ b) \ a * b \ (0::_::pordered_cancel_semiring)" by (auto simp add: mult_nonneg_nonpos mult_nonneg_nonpos2) -lemma zero_le_square: "(0::'a::ordered_ring_strict) \ a*a" -by (simp add: zero_le_mult_iff linorder_linear) +lemma zero_le_square[simp]: "(0::'a::ordered_ring_strict) \ a*a" +by (simp add: zero_le_mult_iff linorder_linear) + +lemma not_square_less_zero[simp]: "\ (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} *}