src/HOL/Nat.thy
changeset 82060 9adc1ef1e8dc
parent 81636 55a02b8cdcf9
child 82097 25dd3726fd00
equal deleted inserted replaced
81983:e86a7b8d7ada 82060:9adc1ef1e8dc
  1294 
  1294 
  1295 lemma nat_diff_split_asm: "P (a - b) \<longleftrightarrow> \<not> (a < b \<and> \<not> P 0 \<or> (\<exists>d. a = b + d \<and> \<not> P d))"
  1295 lemma nat_diff_split_asm: "P (a - b) \<longleftrightarrow> \<not> (a < b \<and> \<not> P 0 \<or> (\<exists>d. a = b + d \<and> \<not> P d))"
  1296   for a b :: nat
  1296   for a b :: nat
  1297   \<comment> \<open>elimination of \<open>-\<close> on \<open>nat\<close> in assumptions\<close>
  1297   \<comment> \<open>elimination of \<open>-\<close> on \<open>nat\<close> in assumptions\<close>
  1298   by (auto split: nat_diff_split)
  1298   by (auto split: nat_diff_split)
       
  1299   
       
  1300 lemmas nat_diff_splits = nat_diff_split nat_diff_split_asm
  1299 
  1301 
  1300 lemma Suc_pred': "0 < n \<Longrightarrow> n = Suc(n - 1)"
  1302 lemma Suc_pred': "0 < n \<Longrightarrow> n = Suc(n - 1)"
  1301   by simp
  1303   by simp
  1302 
  1304 
  1303 lemma add_eq_if: "m + n = (if m = 0 then n else Suc ((m - 1) + n))"
  1305 lemma add_eq_if: "m + n = (if m = 0 then n else Suc ((m - 1) + n))"