equal
deleted
inserted
replaced
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)" |