src/HOL/GCD.thy
changeset 58787 af9eb5e566dd
parent 58776 95e58e04e534
child 58834 773b378d9313
equal deleted inserted replaced
58786:fa5b67fb70ad 58787:af9eb5e566dd
   868       by blast
   868       by blast
   869     from ab have "(a' * ?g) ^ n dvd (b' * ?g)^n"
   869     from ab have "(a' * ?g) ^ n dvd (b' * ?g)^n"
   870       by (simp add: ab'(1,2)[symmetric])
   870       by (simp add: ab'(1,2)[symmetric])
   871     hence "?g^n*a'^n dvd ?g^n *b'^n"
   871     hence "?g^n*a'^n dvd ?g^n *b'^n"
   872       by (simp only: power_mult_distrib mult.commute)
   872       by (simp only: power_mult_distrib mult.commute)
   873     with zn z n have th0:"a'^n dvd b'^n" by auto
   873     then have th0: "a'^n dvd b'^n"
       
   874       using zn by auto
   874     have "a' dvd a'^n" by (simp add: m)
   875     have "a' dvd a'^n" by (simp add: m)
   875     with th0 have "a' dvd b'^n" using dvd_trans[of a' "a'^n" "b'^n"] by simp
   876     with th0 have "a' dvd b'^n" using dvd_trans[of a' "a'^n" "b'^n"] by simp
   876     hence th1: "a' dvd b'^m * b'" by (simp add: m mult.commute)
   877     hence th1: "a' dvd b'^m * b'" by (simp add: m mult.commute)
   877     from coprime_dvd_mult_nat[OF coprime_exp_nat [OF ab'(3), of m]] th1
   878     from coprime_dvd_mult_nat[OF coprime_exp_nat [OF ab'(3), of m]] th1
   878     have "a' dvd b'" by (subst (asm) mult.commute, blast)
   879     have "a' dvd b'" by (subst (asm) mult.commute, blast)