src/HOL/Integ/IntArith.thy
changeset 17085 5b57f995a179
parent 16417 9bc16273c2d4
child 17472 bcbf48d59059
equal deleted inserted replaced
17084:fb0a80aef0be 17085:5b57f995a179
   180 apply (auto simp add: nat_1)
   180 apply (auto simp add: nat_1)
   181 done
   181 done
   182 
   182 
   183 text{*This simplifies expressions of the form @{term "int n = z"} where
   183 text{*This simplifies expressions of the form @{term "int n = z"} where
   184       z is an integer literal.*}
   184       z is an integer literal.*}
   185 declare int_eq_iff [of _ "number_of v", standard, simp]
   185 lemmas int_eq_iff_number_of = int_eq_iff [of _ "number_of v", standard]
       
   186 declare int_eq_iff_number_of [simp]
       
   187 
   186 
   188 
   187 lemma split_nat [arith_split]:
   189 lemma split_nat [arith_split]:
   188   "P(nat(i::int)) = ((\<forall>n. i = int n \<longrightarrow> P n) & (i < 0 \<longrightarrow> P 0))"
   190   "P(nat(i::int)) = ((\<forall>n. i = int n \<longrightarrow> P n) & (i < 0 \<longrightarrow> P 0))"
   189   (is "?P = (?L & ?R)")
   191   (is "?P = (?L & ?R)")
   190 proof (cases "i < 0")
   192 proof (cases "i < 0")