diff -r 2138ff0ec94a -r 83b373f61d41 src/HOL/Ring_and_Field.thy --- a/src/HOL/Ring_and_Field.thy Mon Feb 16 19:11:35 2009 +0100 +++ b/src/HOL/Ring_and_Field.thy Mon Feb 16 19:11:55 2009 +0100 @@ -1,5 +1,4 @@ (* Title: HOL/Ring_and_Field.thy - ID: $Id$ Author: Gertrud Bauer, Steven Obua, Tobias Nipkow, Lawrence C Paulson, and Markus Wenzel, with contributions by Jeremy Avigad *) @@ -1078,6 +1077,14 @@ "sgn a = - 1 \ a < 0" unfolding sgn_if by (auto simp add: equal_neg_zero) +lemma sgn_pos [simp]: + "0 < a \ sgn a = 1" +unfolding sgn_1_pos . + +lemma sgn_neg [simp]: + "a < 0 \ sgn a = - 1" +unfolding sgn_1_neg . + lemma sgn_times: "sgn (a * b) = sgn a * sgn b" by (auto simp add: sgn_if zero_less_mult_iff) @@ -1085,6 +1092,14 @@ lemma abs_sgn: "abs k = k * sgn k" unfolding sgn_if abs_if by auto +lemma sgn_greater [simp]: + "0 < sgn a \ 0 < a" + unfolding sgn_if by auto + +lemma sgn_less [simp]: + "sgn a < 0 \ a < 0" + unfolding sgn_if by auto + (* The int instances are proved, these generic ones are tedious to prove here. And not very useful, as int seems to be the only instance. If needed, they should be proved later, when metis is available.