equal
deleted
inserted
replaced
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") |