src/HOL/Power.thy
changeset 29978 33df3c4eb629
parent 29608 564ea783ace8
child 30056 0a35bee25c20
     1.1 --- a/src/HOL/Power.thy	Wed Feb 18 09:47:58 2009 -0800
     1.2 +++ b/src/HOL/Power.thy	Wed Feb 18 10:24:48 2009 -0800
     1.3 @@ -324,6 +324,24 @@
     1.4    shows "\<lbrakk>a ^ n = b ^ n; 0 \<le> a; 0 \<le> b; 0 < n\<rbrakk> \<Longrightarrow> a = b"
     1.5  by (cases n, simp_all, rule power_inject_base)
     1.6  
     1.7 +text {* The divides relation *}
     1.8 +
     1.9 +lemma le_imp_power_dvd:
    1.10 +  fixes a :: "'a::{comm_semiring_1,recpower}"
    1.11 +  assumes "m \<le> n" shows "a^m dvd a^n"
    1.12 +proof
    1.13 +  have "a^n = a^(m + (n - m))"
    1.14 +    using `m \<le> n` by simp
    1.15 +  also have "\<dots> = a^m * a^(n - m)"
    1.16 +    by (rule power_add)
    1.17 +  finally show "a^n = a^m * a^(n - m)" .
    1.18 +qed
    1.19 +
    1.20 +lemma power_le_dvd:
    1.21 +  fixes a b :: "'a::{comm_semiring_1,recpower}"
    1.22 +  shows "a^n dvd b \<Longrightarrow> m \<le> n \<Longrightarrow> a^m dvd b"
    1.23 +  by (rule dvd_trans [OF le_imp_power_dvd])
    1.24 +
    1.25  
    1.26  subsection{*Exponentiation for the Natural Numbers*}
    1.27