diff -r 30519ff3dffb -r 8a20dd967385 src/HOL/Power.thy --- a/src/HOL/Power.thy Tue Mar 31 15:01:06 2015 +0100 +++ b/src/HOL/Power.thy Tue Mar 31 16:48:48 2015 +0100 @@ -645,6 +645,29 @@ "0 < x\<^sup>2 + y\<^sup>2 \ x \ 0 \ y \ 0" unfolding not_le [symmetric] by (simp add: sum_power2_le_zero_iff) +lemma abs_le_square_iff: + "\x\ \ \y\ \ x\<^sup>2 \ y\<^sup>2" +proof + assume "\x\ \ \y\" + then have "\x\\<^sup>2 \ \y\\<^sup>2" by (rule power_mono, simp) + then show "x\<^sup>2 \ y\<^sup>2" by simp +next + assume "x\<^sup>2 \ y\<^sup>2" + then show "\x\ \ \y\" + by (auto intro!: power2_le_imp_le [OF _ abs_ge_zero]) +qed + +lemma abs_square_le_1:"x\<^sup>2 \ 1 \ abs(x) \ 1" + using abs_le_square_iff [of x 1] + by simp + +lemma abs_square_eq_1: "x\<^sup>2 = 1 \ abs(x) = 1" + by (auto simp add: abs_if power2_eq_1_iff) + +lemma abs_square_less_1: "x\<^sup>2 < 1 \ abs(x) < 1" + using abs_square_eq_1 [of x] abs_square_le_1 [of x] + by (auto simp add: le_less) + end