equal
deleted
inserted
replaced
213 apply (frule p_fac_forw_lemma [THEN le_imp_power_dvd, of _ k p], auto) |
213 apply (frule p_fac_forw_lemma [THEN le_imp_power_dvd, of _ k p], auto) |
214 apply (subgoal_tac "p^r dvd p^a*m") |
214 apply (subgoal_tac "p^r dvd p^a*m") |
215 prefer 2 apply (blast intro: dvd_mult2) |
215 prefer 2 apply (blast intro: dvd_mult2) |
216 apply (drule dvd_diffD1) |
216 apply (drule dvd_diffD1) |
217 apply assumption |
217 apply assumption |
218 prefer 2 apply (blast intro: dvd_diff) |
218 prefer 2 apply (blast intro: nat_dvd_diff) |
219 apply (drule gr0_implies_Suc, auto) |
219 apply (drule gr0_implies_Suc, auto) |
220 done |
220 done |
221 |
221 |
222 |
222 |
223 lemma r_le_a_forw: |
223 lemma r_le_a_forw: |
229 apply (frule_tac k1 = k and p1 = p in r_le_a_forw [THEN le_imp_power_dvd], auto) |
229 apply (frule_tac k1 = k and p1 = p in r_le_a_forw [THEN le_imp_power_dvd], auto) |
230 apply (subgoal_tac "p^r dvd p^a*m") |
230 apply (subgoal_tac "p^r dvd p^a*m") |
231 prefer 2 apply (blast intro: dvd_mult2) |
231 prefer 2 apply (blast intro: dvd_mult2) |
232 apply (drule dvd_diffD1) |
232 apply (drule dvd_diffD1) |
233 apply assumption |
233 apply assumption |
234 prefer 2 apply (blast intro: dvd_diff) |
234 prefer 2 apply (blast intro: nat_dvd_diff) |
235 apply (drule less_imp_Suc_add, auto) |
235 apply (drule less_imp_Suc_add, auto) |
236 done |
236 done |
237 |
237 |
238 lemma exponent_p_a_m_k_equation: "[| m>0; k>0; (p::nat)\<noteq>0; k < p^a |] |
238 lemma exponent_p_a_m_k_equation: "[| m>0; k>0; (p::nat)\<noteq>0; k < p^a |] |
239 ==> exponent p (p^a * m - k) = exponent p (p^a - k)" |
239 ==> exponent p (p^a * m - k) = exponent p (p^a - k)" |