@@ -14,13 +14,12 @@ theorem `not_forall_coeff_cyclotomic_neg_one_zero_one`. We prove this with the c
14
14
`coeff_cyclotomic_105 : coeff (cyclotomic 105 ℤ) 7 = -2`.
15
15
-/
16
16
17
- section computation
18
-
19
- lemma prime_3 : nat.prime 3 := by norm_num
17
+ open nat (proper_divisors) finset
20
18
21
- lemma prime_5 : nat.prime 5 := by norm_num
19
+ section computation
22
20
23
- lemma prime_7 : nat.prime 7 := by norm_num
21
+ instance nat.fact_prime_five : fact (nat.prime 5 ) := ⟨by norm_num⟩
22
+ instance nat.fact_prime_seven : fact (nat.prime 7 ) := ⟨by norm_num⟩
24
23
25
24
lemma proper_divisors_15 : nat.proper_divisors 15 = {1 , 3 , 5 } := rfl
26
25
@@ -35,32 +34,17 @@ end computation
35
34
open polynomial
36
35
37
36
lemma cyclotomic_3 : cyclotomic 3 ℤ = 1 + X + X ^ 2 :=
38
- begin
39
- refine ((eq_cyclotomic_iff (show 0 < 3 , by norm_num) _).2 _).symm,
40
- rw nat.prime.proper_divisors prime_3,
41
- simp only [finset.prod_singleton, cyclotomic_one],
42
- ring
43
- end
37
+ by simp only [cyclotomic_prime, sum_range_succ, range_one, sum_singleton, pow_zero, pow_one]
44
38
45
39
lemma cyclotomic_5 : cyclotomic 5 ℤ = 1 + X + X ^ 2 + X ^ 3 + X ^ 4 :=
46
- begin
47
- refine ((eq_cyclotomic_iff (nat.prime.pos prime_5) _).2 _).symm,
48
- rw nat.prime.proper_divisors prime_5,
49
- simp only [finset.prod_singleton, cyclotomic_one],
50
- ring
51
- end
40
+ by simp only [cyclotomic_prime, sum_range_succ, range_one, sum_singleton, pow_zero, pow_one]
52
41
53
42
lemma cyclotomic_7 : cyclotomic 7 ℤ = 1 + X + X ^ 2 + X ^ 3 + X ^ 4 + X ^ 5 + X ^ 6 :=
54
- begin
55
- refine ((eq_cyclotomic_iff (nat.prime.pos prime_7) _).2 _).symm,
56
- rw nat.prime.proper_divisors prime_7,
57
- simp only [finset.prod_singleton, cyclotomic_one],
58
- ring
59
- end
43
+ by simp only [cyclotomic_prime, sum_range_succ, range_one, sum_singleton, pow_zero, pow_one]
60
44
61
45
lemma cyclotomic_15 : cyclotomic 15 ℤ = 1 - X + X ^ 3 - X ^ 4 + X ^ 5 - X ^ 7 + X ^ 8 :=
62
46
begin
63
- refine ((eq_cyclotomic_iff (show 0 < 15 , by norm_num) _).2 _).symm,
47
+ refine ((eq_cyclotomic_iff (by norm_num) _).2 _).symm,
64
48
rw [proper_divisors_15, finset.prod_insert _, finset.prod_insert _, finset.prod_singleton,
65
49
cyclotomic_one, cyclotomic_3, cyclotomic_5],
66
50
ring,
70
54
lemma cyclotomic_21 : cyclotomic 21 ℤ =
71
55
1 - X + X ^ 3 - X ^ 4 + X ^ 6 - X ^ 8 + X ^ 9 - X ^ 11 + X ^ 12 :=
72
56
begin
73
- refine ((eq_cyclotomic_iff (show 0 < 21 , by norm_num) _).2 _).symm,
57
+ refine ((eq_cyclotomic_iff (by norm_num) _).2 _).symm,
74
58
rw [proper_divisors_21, finset.prod_insert _, finset.prod_insert _, finset.prod_singleton,
75
59
cyclotomic_one, cyclotomic_3, cyclotomic_7],
76
60
ring,
@@ -81,7 +65,7 @@ lemma cyclotomic_35 : cyclotomic 35 ℤ =
81
65
1 - X + X ^ 5 - X ^ 6 + X ^ 7 - X ^ 8 + X ^ 10 - X ^ 11 + X ^ 12 - X ^ 13 + X ^ 14 - X ^ 16 +
82
66
X ^ 17 - X ^ 18 + X ^ 19 - X ^ 23 + X ^ 24 :=
83
67
begin
84
- refine ((eq_cyclotomic_iff (show 0 < 35 , by norm_num) _).2 _).symm,
68
+ refine ((eq_cyclotomic_iff (by norm_num) _).2 _).symm,
85
69
rw [proper_divisors_35, finset.prod_insert _, finset.prod_insert _, finset.prod_singleton,
86
70
cyclotomic_one, cyclotomic_5, cyclotomic_7],
87
71
ring,
@@ -94,7 +78,7 @@ lemma cyclotomic_105 : cyclotomic 105 ℤ =
94
78
X ^ 34 + X ^ 35 + X ^ 36 - X ^ 39 - X ^ 40 - 2 * X ^ 41 - X ^ 42 - X ^ 43 + X ^ 46 + X ^ 47 +
95
79
X ^ 48 :=
96
80
begin
97
- refine ((eq_cyclotomic_iff (show 0 < 105 , by norm_num) _).2 _).symm,
81
+ refine ((eq_cyclotomic_iff (by norm_num) _).2 _).symm,
98
82
rw proper_divisors_105,
99
83
repeat {rw finset.prod_insert _},
100
84
rw [finset.prod_singleton, cyclotomic_one, cyclotomic_3, cyclotomic_5, cyclotomic_7,
@@ -112,7 +96,7 @@ lemma not_forall_coeff_cyclotomic_neg_one_zero_one :
112
96
¬∀ n i, coeff (cyclotomic n ℤ) i ∈ ({-1 , 0 , 1 } : set ℤ) :=
113
97
begin
114
98
intro h,
115
- replace h := h 105 7 ,
99
+ specialize h 105 7 ,
116
100
rw coeff_cyclotomic_105 at h,
117
101
norm_num at h
118
102
end
0 commit comments