src/HOL/Groups.thy
changeset 56950 c49edf06f8e4
parent 54868 bab6cade3cc5
child 57512 cc97b347b301
equal deleted inserted replaced
56949:d1a937cbf858 56950:c49edf06f8e4
  1034 
  1034 
  1035 lemma diff_eq_diff_less_eq:
  1035 lemma diff_eq_diff_less_eq:
  1036   "a - b = c - d \<Longrightarrow> a \<le> b \<longleftrightarrow> c \<le> d"
  1036   "a - b = c - d \<Longrightarrow> a \<le> b \<longleftrightarrow> c \<le> d"
  1037   by (auto simp only: le_iff_diff_le_0 [of a b] le_iff_diff_le_0 [of c d])
  1037   by (auto simp only: le_iff_diff_le_0 [of a b] le_iff_diff_le_0 [of c d])
  1038 
  1038 
       
  1039 lemma diff_mono: "a \<le> b \<Longrightarrow> d \<le> c \<Longrightarrow> a - c \<le> b - d"
       
  1040   by (simp add: field_simps add_mono)
       
  1041 
       
  1042 lemma diff_left_mono: "b \<le> a \<Longrightarrow> c - a \<le> c - b"
       
  1043   by (simp add: field_simps)
       
  1044 
       
  1045 lemma diff_right_mono: "a \<le> b \<Longrightarrow> a - c \<le> b - c"
       
  1046   by (simp add: field_simps)
       
  1047 
       
  1048 lemma diff_strict_mono: "a < b \<Longrightarrow> d < c \<Longrightarrow> a - c < b - d"
       
  1049   by (simp add: field_simps add_strict_mono)
       
  1050 
       
  1051 lemma diff_strict_left_mono: "b < a \<Longrightarrow> c - a < c - b"
       
  1052   by (simp add: field_simps)
       
  1053 
       
  1054 lemma diff_strict_right_mono: "a < b \<Longrightarrow> a - c < b - c"
       
  1055   by (simp add: field_simps)
       
  1056 
  1039 end
  1057 end
  1040 
  1058 
  1041 ML_file "Tools/group_cancel.ML"
  1059 ML_file "Tools/group_cancel.ML"
  1042 
  1060 
  1043 simproc_setup group_cancel_add ("a + b::'a::ab_group_add") =
  1061 simproc_setup group_cancel_add ("a + b::'a::ab_group_add") =