equal
deleted
inserted
replaced
263 unfolding dvd_def |
263 unfolding dvd_def |
264 by (rule_tac x= "nat \<bar>h\<bar>" in exI, simp add: h nat_abs_mult_distrib [symmetric]) |
264 by (rule_tac x= "nat \<bar>h\<bar>" in exI, simp add: h nat_abs_mult_distrib [symmetric]) |
265 from relprime_dvd_mult [OF g th] obtain h' where h': "nat \<bar>k\<bar> = nat \<bar>i\<bar> * h'" |
265 from relprime_dvd_mult [OF g th] obtain h' where h': "nat \<bar>k\<bar> = nat \<bar>i\<bar> * h'" |
266 unfolding dvd_def by blast |
266 unfolding dvd_def by blast |
267 from h' have "int (nat \<bar>k\<bar>) = int (nat \<bar>i\<bar> * h')" by simp |
267 from h' have "int (nat \<bar>k\<bar>) = int (nat \<bar>i\<bar> * h')" by simp |
268 then have "\<bar>k\<bar> = \<bar>i\<bar> * int h'" by simp |
268 then have "\<bar>k\<bar> = \<bar>i\<bar> * int h'" by (simp add: int_mult) |
269 then show ?thesis |
269 then show ?thesis |
270 apply (subst zdvd_abs1 [symmetric]) |
270 apply (subst zdvd_abs1 [symmetric]) |
271 apply (subst zdvd_abs2 [symmetric]) |
271 apply (subst zdvd_abs2 [symmetric]) |
272 apply (unfold dvd_def) |
272 apply (unfold dvd_def) |
273 apply (rule_tac x = "int h'" in exI, simp) |
273 apply (rule_tac x = "int h'" in exI, simp) |