equal
deleted
inserted
replaced
1 (* Title: HOL/Ring_and_Field.thy |
1 (* Title: HOL/Ring_and_Field.thy |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Gertrud Bauer and Markus Wenzel, TU Muenchen |
3 Author: Gertrud Bauer, Steven Obua, Lawrence C Paulson and Markus Wenzel |
4 Lawrence C Paulson, University of Cambridge |
|
5 Revised and splitted into Ring_and_Field.thy and Group.thy |
|
6 by Steven Obua, TU Muenchen, in May 2004 |
|
7 License: GPL (GNU GENERAL PUBLIC LICENSE) |
4 License: GPL (GNU GENERAL PUBLIC LICENSE) |
8 *) |
5 *) |
9 |
6 |
10 header {* (Ordered) Rings and Fields *} |
7 header {* (Ordered) Rings and Fields *} |
11 |
8 |
17 \item \emph{Lattice Theory} by Garret Birkhoff, American Mathematical Society 1979 |
14 \item \emph{Lattice Theory} by Garret Birkhoff, American Mathematical Society 1979 |
18 \item \emph{Partially Ordered Algebraic Systems}, Pergamon Press 1963 |
15 \item \emph{Partially Ordered Algebraic Systems}, Pergamon Press 1963 |
19 \end{itemize} |
16 \end{itemize} |
20 Most of the used notions can also be looked up in |
17 Most of the used notions can also be looked up in |
21 \begin{itemize} |
18 \begin{itemize} |
22 \item \emph{www.mathworld.com} by Eric Weisstein et. al. |
19 \item \url{http://www.mathworld.com} by Eric Weisstein et. al. |
23 \item \emph{Algebra I} by van der Waerden, Springer. |
20 \item \emph{Algebra I} by van der Waerden, Springer. |
24 \end{itemize} |
21 \end{itemize} |
25 *} |
22 *} |
26 |
23 |
27 axclass semiring \<subseteq> ab_semigroup_add, semigroup_mult |
24 axclass semiring \<subseteq> ab_semigroup_add, semigroup_mult |
413 |
410 |
414 lemma not_one_less_zero [simp]: "~ (1::'a::ordered_semidom) < 0" |
411 lemma not_one_less_zero [simp]: "~ (1::'a::ordered_semidom) < 0" |
415 by (simp add: linorder_not_less) |
412 by (simp add: linorder_not_less) |
416 |
413 |
417 subsection{*More Monotonicity*} |
414 subsection{*More Monotonicity*} |
418 |
|
419 lemma mult_left_mono_neg: |
|
420 "[|b \<le> a; c \<le> 0|] ==> c * a \<le> c * (b::'a::pordered_ring)" |
|
421 apply (drule mult_left_mono [of _ _ "-c"]) |
|
422 apply (simp_all add: minus_mult_left [symmetric]) |
|
423 done |
|
424 |
|
425 lemma mult_right_mono_neg: |
|
426 "[|b \<le> a; c \<le> 0|] ==> a * c \<le> b * (c::'a::pordered_ring)" |
|
427 apply (drule mult_right_mono [of _ _ "-c"]) |
|
428 apply (simp_all add: minus_mult_right [symmetric]) |
|
429 done |
|
430 |
415 |
431 text{*Strict monotonicity in both arguments*} |
416 text{*Strict monotonicity in both arguments*} |
432 lemma mult_strict_mono: |
417 lemma mult_strict_mono: |
433 "[|a<b; c<d; 0<b; 0\<le>c|] ==> a * c < b * (d::'a::ordered_semiring_strict)" |
418 "[|a<b; c<d; 0<b; 0\<le>c|] ==> a * c < b * (d::'a::ordered_semiring_strict)" |
434 apply (case_tac "c=0") |
419 apply (case_tac "c=0") |
541 left_distrib right_distrib left_diff_distrib right_diff_distrib |
526 left_distrib right_distrib left_diff_distrib right_diff_distrib |
542 add_ac |
527 add_ac |
543 add_diff_eq diff_add_eq diff_diff_eq diff_diff_eq2 |
528 add_diff_eq diff_add_eq diff_diff_eq diff_diff_eq2 |
544 diff_eq_eq eq_diff_eq |
529 diff_eq_eq eq_diff_eq |
545 |
530 |
546 thm ring_eq_simps |
531 |
547 subsection {* Fields *} |
532 subsection {* Fields *} |
548 |
533 |
549 lemma right_inverse [simp]: |
534 lemma right_inverse [simp]: |
550 assumes not0: "a \<noteq> 0" shows "a * inverse (a::'a::field) = 1" |
535 assumes not0: "a \<noteq> 0" shows "a * inverse (a::'a::field) = 1" |
551 proof - |
536 proof - |