added auxiliary lemmas for proof tools
authorhaftmann
Sun, 06 May 2007 21:49:29 +0200
changeset 22842 6d2fd4e0f984
parent 22841 83b9f2d3fb3c
child 22843 189e214845dd
added auxiliary lemmas for proof tools
src/HOL/Ring_and_Field.thy
--- a/src/HOL/Ring_and_Field.thy	Sun May 06 21:49:27 2007 +0200
+++ b/src/HOL/Ring_and_Field.thy	Sun May 06 21:49:29 2007 +0200
@@ -2067,4 +2067,24 @@
   then show ?thesis by simp
 qed
 
+subsection {* Theorems for proof tools *}
+
+lemma add_mono_thms_ordered_semiring:
+  fixes i j k :: "'a\<Colon>pordered_ab_semigroup_add"
+  shows "i \<le> j \<and> k \<le> l \<Longrightarrow> i + k \<le> j + l"
+    and "i = j \<and> k \<le> l \<Longrightarrow> i + k \<le> j + l"
+    and "i \<le> j \<and> k = l \<Longrightarrow> i + k \<le> j + l"
+    and "i = j \<and> k = l \<Longrightarrow> i + k = j + l"
+by (rule add_mono, clarify+)+
+
+lemma add_mono_thms_ordered_field:
+  fixes i j k :: "'a\<Colon>pordered_cancel_ab_semigroup_add"
+  shows "i < j \<and> k = l \<Longrightarrow> i + k < j + l"
+    and "i = j \<and> k < l \<Longrightarrow> i + k < j + l"
+    and "i < j \<and> k \<le> l \<Longrightarrow> i + k < j + l"
+    and "i \<le> j \<and> k < l \<Longrightarrow> i + k < j + l"
+    and "i < j \<and> k < l \<Longrightarrow> i + k < j + l"
+by (auto intro: add_strict_right_mono add_strict_left_mono
+  add_less_le_mono add_le_less_mono add_strict_mono)
+
 end