instance int :: ordered_ring moved to Ring_and_Field_Example, because
it changes the way that int expressions get simplified, violating
the strict library principle (cf. README.html);
--- a/src/HOL/Library/Ring_and_Field.thy Sat Jan 20 00:32:56 2001 +0100
+++ b/src/HOL/Library/Ring_and_Field.thy Sat Jan 20 00:34:46 2001 +0100
@@ -139,26 +139,4 @@
theorems ring_distrib = right_distrib left_distrib
-
-
-subsection {* Example: The ordered ring of integers *}
-
-instance int :: ordered_ring
-proof
- fix i j k :: int
- show "(i + j) + k = i + (j + k)" by simp
- show "i + j = j + i" by simp
- show "0 + i = i" by simp
- show "- i + i = 0" by simp
- show "i - j = i + (-j)" by simp
- show "(i * j) * k = i * (j * k)" by simp
- show "i * j = j * i" by simp
- show "#1 * i = i" by simp
- show "0 = (#0::int)" by simp
- show "(i + j) * k = i * k + j * k" by (simp add: int_distrib)
- show "i \<le> j ==> k + i \<le> k + j" by simp
- show "i < j ==> 0 < k ==> k * i < k * j" by (simp add: zmult_zless_mono2)
- show "\<bar>i\<bar> = (if i < 0 then -i else i)" by (simp only: zabs_def)
-qed
-
end