src/HOL/Library/Primes.thy
changeset 11701 3d51fbf81c17
parent 11464 ddea204de5bc
child 12300 9fbce4042034
equal deleted inserted replaced
11700:a0e6bda62b7b 11701:3d51fbf81c17
    52   apply simp
    52   apply simp
    53   done
    53   done
    54 
    54 
    55 declare gcd.simps [simp del]
    55 declare gcd.simps [simp del]
    56 
    56 
    57 lemma gcd_1 [simp]: "gcd (m, 1') = 1"
    57 lemma gcd_1 [simp]: "gcd (m, Suc 0) = 1"
    58   apply (simp add: gcd_non_0)
    58   apply (simp add: gcd_non_0)
    59   done
    59   done
    60 
    60 
    61 text {*
    61 text {*
    62   \medskip @{term "gcd (m, n)"} divides @{text m} and @{text n}.  The
    62   \medskip @{term "gcd (m, n)"} divides @{text m} and @{text n}.  The
   138 
   138 
   139 lemma gcd_0_left [simp]: "gcd (0, m) = m"
   139 lemma gcd_0_left [simp]: "gcd (0, m) = m"
   140   apply (simp add: gcd_commute [of 0])
   140   apply (simp add: gcd_commute [of 0])
   141   done
   141   done
   142 
   142 
   143 lemma gcd_1_left [simp]: "gcd (1', m) = 1"
   143 lemma gcd_1_left [simp]: "gcd (Suc 0, m) = 1"
   144   apply (simp add: gcd_commute [of "1'"])
   144   apply (simp add: gcd_commute [of "Suc 0"])
   145   done
   145   done
   146 
   146 
   147 
   147 
   148 text {*
   148 text {*
   149   \medskip Multiplication laws
   149   \medskip Multiplication laws
   192 
   192 
   193 lemma prime_dvd_mult: "p \<in> prime ==> p dvd m * n ==> p dvd m \<or> p dvd n"
   193 lemma prime_dvd_mult: "p \<in> prime ==> p dvd m * n ==> p dvd m \<or> p dvd n"
   194   apply (blast intro: relprime_dvd_mult prime_imp_relprime)
   194   apply (blast intro: relprime_dvd_mult prime_imp_relprime)
   195   done
   195   done
   196 
   196 
   197 lemma prime_dvd_square: "p \<in> prime ==> p dvd m^2 ==> p dvd m"
   197 lemma prime_dvd_square: "p \<in> prime ==> p dvd m^Suc (Suc 0) ==> p dvd m"
   198   apply (auto dest: prime_dvd_mult)
   198   apply (auto dest: prime_dvd_mult)
   199   done
   199   done
   200 
   200 
   201 
   201 
   202 text {* \medskip Addition laws *}
   202 text {* \medskip Addition laws *}