src/HOL/OrderedGroup.thy
changeset 15234 ec91a90c604e
parent 15229 1eb23f805c06
child 15481 fc075ae929e4
equal deleted inserted replaced
15233:c55a12162944 15234:ec91a90c604e
   312 
   312 
   313 lemma add_le_imp_le_right:
   313 lemma add_le_imp_le_right:
   314       "a + c \<le> b + c ==> a \<le> (b::'a::pordered_ab_semigroup_add_imp_le)"
   314       "a + c \<le> b + c ==> a \<le> (b::'a::pordered_ab_semigroup_add_imp_le)"
   315 by simp
   315 by simp
   316 
   316 
   317 lemma add_increasing: "[|0\<le>a; b\<le>c|] ==> b \<le> a + (c::'a::{pordered_ab_semigroup_add_imp_le, comm_monoid_add})"
   317 lemma add_increasing:
       
   318   fixes c :: "'a::{pordered_ab_semigroup_add_imp_le, comm_monoid_add}"
       
   319   shows  "[|0\<le>a; b\<le>c|] ==> b \<le> a + c"
   318 by (insert add_mono [of 0 a b c], simp)
   320 by (insert add_mono [of 0 a b c], simp)
       
   321 
       
   322 lemma add_strict_increasing:
       
   323   fixes c :: "'a::{pordered_ab_semigroup_add_imp_le, comm_monoid_add}"
       
   324   shows "[|0<a; b\<le>c|] ==> b < a + c"
       
   325 by (insert add_less_le_mono [of 0 a b c], simp)
       
   326 
       
   327 lemma add_strict_increasing2:
       
   328   fixes c :: "'a::{pordered_ab_semigroup_add_imp_le, comm_monoid_add}"
       
   329   shows "[|0\<le>a; b<c|] ==> b < a + c"
       
   330 by (insert add_le_less_mono [of 0 a b c], simp)
       
   331 
   319 
   332 
   320 subsection {* Ordering Rules for Unary Minus *}
   333 subsection {* Ordering Rules for Unary Minus *}
   321 
   334 
   322 lemma le_imp_neg_le:
   335 lemma le_imp_neg_le:
   323       assumes "a \<le> (b::'a::{pordered_ab_semigroup_add_imp_le, ab_group_add})" shows "-b \<le> -a"
   336       assumes "a \<le> (b::'a::{pordered_ab_semigroup_add_imp_le, ab_group_add})" shows "-b \<le> -a"