src/HOL/Number_Theory/Primes.thy
changeset 47108 2a1953f0d20d
parent 45605 a89b4bc311a5
child 53598 2bd8d459ebae
equal deleted inserted replaced
47107:35807a5d8dc2 47108:2a1953f0d20d
   204 
   204 
   205 lemma prime_nat_simp:
   205 lemma prime_nat_simp:
   206     "prime (p::nat) \<longleftrightarrow> p > 1 \<and> (\<forall>n \<in> set [2..<p]. \<not> n dvd p)"
   206     "prime (p::nat) \<longleftrightarrow> p > 1 \<and> (\<forall>n \<in> set [2..<p]. \<not> n dvd p)"
   207   by (auto simp add: prime_nat_code)
   207   by (auto simp add: prime_nat_code)
   208 
   208 
   209 lemmas prime_nat_simp_number_of [simp] = prime_nat_simp [of "number_of m"] for m
   209 lemmas prime_nat_simp_numeral [simp] = prime_nat_simp [of "numeral m"] for m
   210 
   210 
   211 lemma prime_int_code [code]:
   211 lemma prime_int_code [code]:
   212   "prime (p::int) \<longleftrightarrow> p > 1 \<and> (\<forall>n \<in> {1<..<p}. ~ n dvd p)" (is "?L = ?R")
   212   "prime (p::int) \<longleftrightarrow> p > 1 \<and> (\<forall>n \<in> {1<..<p}. ~ n dvd p)" (is "?L = ?R")
   213 proof
   213 proof
   214   assume "?L"
   214   assume "?L"
   220 qed
   220 qed
   221 
   221 
   222 lemma prime_int_simp: "prime (p::int) \<longleftrightarrow> p > 1 \<and> (\<forall>n \<in> set [2..p - 1]. ~ n dvd p)"
   222 lemma prime_int_simp: "prime (p::int) \<longleftrightarrow> p > 1 \<and> (\<forall>n \<in> set [2..p - 1]. ~ n dvd p)"
   223   by (auto simp add: prime_int_code)
   223   by (auto simp add: prime_int_code)
   224 
   224 
   225 lemmas prime_int_simp_number_of [simp] = prime_int_simp [of "number_of m"] for m
   225 lemmas prime_int_simp_numeral [simp] = prime_int_simp [of "numeral m"] for m
   226 
   226 
   227 lemma two_is_prime_nat [simp]: "prime (2::nat)"
   227 lemma two_is_prime_nat [simp]: "prime (2::nat)"
   228   by simp
   228   by simp
   229 
   229 
   230 lemma two_is_prime_int [simp]: "prime (2::int)"
   230 lemma two_is_prime_int [simp]: "prime (2::int)"