equal
deleted
inserted
replaced
2324 apply (auto simp add: pos_imp_zdiv_nonneg_iff) |
2324 apply (auto simp add: pos_imp_zdiv_nonneg_iff) |
2325 apply (cases "y = 0") |
2325 apply (cases "y = 0") |
2326 apply auto |
2326 apply auto |
2327 done |
2327 done |
2328 |
2328 |
2329 declare TransferMorphism_nat_int [transfer add return: |
2329 declare transfer_morphism_nat_int [transfer add return: |
2330 transfer_nat_int_functions |
2330 transfer_nat_int_functions |
2331 transfer_nat_int_function_closures |
2331 transfer_nat_int_function_closures |
2332 ] |
2332 ] |
2333 |
2333 |
2334 lemma transfer_int_nat_functions: |
2334 lemma transfer_int_nat_functions: |
2339 lemma transfer_int_nat_function_closures: |
2339 lemma transfer_int_nat_function_closures: |
2340 "is_nat x \<Longrightarrow> is_nat y \<Longrightarrow> is_nat (x div y)" |
2340 "is_nat x \<Longrightarrow> is_nat y \<Longrightarrow> is_nat (x div y)" |
2341 "is_nat x \<Longrightarrow> is_nat y \<Longrightarrow> is_nat (x mod y)" |
2341 "is_nat x \<Longrightarrow> is_nat y \<Longrightarrow> is_nat (x mod y)" |
2342 by (simp_all only: is_nat_def transfer_nat_int_function_closures) |
2342 by (simp_all only: is_nat_def transfer_nat_int_function_closures) |
2343 |
2343 |
2344 declare TransferMorphism_int_nat [transfer add return: |
2344 declare transfer_morphism_int_nat [transfer add return: |
2345 transfer_int_nat_functions |
2345 transfer_int_nat_functions |
2346 transfer_int_nat_function_closures |
2346 transfer_int_nat_function_closures |
2347 ] |
2347 ] |
2348 |
2348 |
2349 text{*Suggested by Matthias Daum*} |
2349 text{*Suggested by Matthias Daum*} |