src/HOL/Nat.thy
changeset 62608 19f87fa0cfcb
parent 62502 8857237c3a90
child 62683 ddd1c864408b
equal deleted inserted replaced
62607:43d282be7350 62608:19f87fa0cfcb
  1023 text \<open>non-strict, in both arguments\<close>
  1023 text \<open>non-strict, in both arguments\<close>
  1024 lemma add_le_mono: "[| i \<le> j;  k \<le> l |] ==> i + k \<le> j + (l::nat)"
  1024 lemma add_le_mono: "[| i \<le> j;  k \<le> l |] ==> i + k \<le> j + (l::nat)"
  1025 by (rule add_mono)
  1025 by (rule add_mono)
  1026 
  1026 
  1027 lemma le_add2: "n \<le> ((m + n)::nat)"
  1027 lemma le_add2: "n \<le> ((m + n)::nat)"
  1028 by (insert add_right_mono [of 0 m n], simp)
  1028   by simp
  1029 
  1029 
  1030 lemma le_add1: "n \<le> ((n + m)::nat)"
  1030 lemma le_add1: "n \<le> ((n + m)::nat)"
  1031 by (simp add: add.commute, rule le_add2)
  1031   by simp
  1032 
  1032 
  1033 lemma less_add_Suc1: "i < Suc (i + m)"
  1033 lemma less_add_Suc1: "i < Suc (i + m)"
  1034 by (rule le_less_trans, rule le_add1, rule lessI)
  1034 by (rule le_less_trans, rule le_add1, rule lessI)
  1035 
  1035 
  1036 lemma less_add_Suc2: "i < Suc (m + i)"
  1036 lemma less_add_Suc2: "i < Suc (m + i)"