Metamath Proof Explorer


Theorem dchrhash

Description: There are exactly phi ( N ) Dirichlet characters modulo N . Part of Theorem 6.5.1 of Shapiro p. 230. (Contributed by Mario Carneiro, 28-Apr-2016)

Ref Expression
Hypotheses sumdchr.g ⊢ G = DChr ⁡ N
sumdchr.d ⊢ D = Base G
Assertion dchrhash ⊢ N ∈ ℕ → D = ϕ ⁡ N

Proof

Step Hyp Ref Expression
1 sumdchr.g ⊢ G = DChr ⁡ N
2 sumdchr.d ⊢ D = Base G
3 eqid ⊢ ℤ/Nℤ = ℤ/Nℤ
4 eqid ⊢ Base ℤ/Nℤ = Base ℤ/Nℤ
5 3 4 znfi ⊢ N ∈ ℕ → Base ℤ/Nℤ ∈ Fin
6 1 2 dchrfi ⊢ N ∈ ℕ → D ∈ Fin
7 simprr ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ ∧ x ∈ D → x ∈ D
8 1 3 2 4 7 dchrf ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ ∧ x ∈ D → x : Base ℤ/Nℤ ⟶ ℂ
9 simprl ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ ∧ x ∈ D → a ∈ Base ℤ/Nℤ
10 8 9 ffvelcdmd ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ ∧ x ∈ D → x ⁡ a ∈ ℂ
11 5 6 10 fsumcom ⊢ N ∈ ℕ → ∑ a ∈ Base ℤ/Nℤ ∑ x ∈ D x ⁡ a = ∑ x ∈ D ∑ a ∈ Base ℤ/Nℤ x ⁡ a
12 eqid ⊢ 1 ℤ/Nℤ = 1 ℤ/Nℤ
13 simpl ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ → N ∈ ℕ
14 simpr ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ → a ∈ Base ℤ/Nℤ
15 1 2 3 12 4 13 14 sumdchr2 ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ → ∑ x ∈ D x ⁡ a = if a = 1 ℤ/Nℤ D 0
16 velsn ⊢ a ∈ 1 ℤ/Nℤ ↔ a = 1 ℤ/Nℤ
17 ifbi ⊢ a ∈ 1 ℤ/Nℤ ↔ a = 1 ℤ/Nℤ → if a ∈ 1 ℤ/Nℤ D 0 = if a = 1 ℤ/Nℤ D 0
18 16 17 mp1i ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ → if a ∈ 1 ℤ/Nℤ D 0 = if a = 1 ℤ/Nℤ D 0
19 15 18 eqtr4d ⊢ N ∈ ℕ ∧ a ∈ Base ℤ/Nℤ → ∑ x ∈ D x ⁡ a = if a ∈ 1 ℤ/Nℤ D 0
20 19 sumeq2dv ⊢ N ∈ ℕ → ∑ a ∈ Base ℤ/Nℤ ∑ x ∈ D x ⁡ a = ∑ a ∈ Base ℤ/Nℤ if a ∈ 1 ℤ/Nℤ D 0
21 eqid ⊢ 0 G = 0 G
22 simpr ⊢ N ∈ ℕ ∧ x ∈ D → x ∈ D
23 1 3 2 21 22 4 dchrsum ⊢ N ∈ ℕ ∧ x ∈ D → ∑ a ∈ Base ℤ/Nℤ x ⁡ a = if x = 0 G ϕ ⁡ N 0
24 velsn ⊢ x ∈ 0 G ↔ x = 0 G
25 ifbi ⊢ x ∈ 0 G ↔ x = 0 G → if x ∈ 0 G ϕ ⁡ N 0 = if x = 0 G ϕ ⁡ N 0
26 24 25 mp1i ⊢ N ∈ ℕ ∧ x ∈ D → if x ∈ 0 G ϕ ⁡ N 0 = if x = 0 G ϕ ⁡ N 0
27 23 26 eqtr4d ⊢ N ∈ ℕ ∧ x ∈ D → ∑ a ∈ Base ℤ/Nℤ x ⁡ a = if x ∈ 0 G ϕ ⁡ N 0
28 27 sumeq2dv ⊢ N ∈ ℕ → ∑ x ∈ D ∑ a ∈ Base ℤ/Nℤ x ⁡ a = ∑ x ∈ D if x ∈ 0 G ϕ ⁡ N 0
29 11 20 28 3eqtr3d ⊢ N ∈ ℕ → ∑ a ∈ Base ℤ/Nℤ if a ∈ 1 ℤ/Nℤ D 0 = ∑ x ∈ D if x ∈ 0 G ϕ ⁡ N 0
30 nnnn0 ⊢ N ∈ ℕ → N ∈ ℕ 0
31 3 zncrng ⊢ N ∈ ℕ 0 → ℤ/Nℤ ∈ CRing
32 crngring ⊢ ℤ/Nℤ ∈ CRing → ℤ/Nℤ ∈ Ring
33 4 12 ringidcl ⊢ ℤ/Nℤ ∈ Ring → 1 ℤ/Nℤ ∈ Base ℤ/Nℤ
34 30 31 32 33 4syl ⊢ N ∈ ℕ → 1 ℤ/Nℤ ∈ Base ℤ/Nℤ
35 34 snssd ⊢ N ∈ ℕ → 1 ℤ/Nℤ ⊆ Base ℤ/Nℤ
36 hashcl ⊢ D ∈ Fin → D ∈ ℕ 0
37 nn0cn ⊢ D ∈ ℕ 0 → D ∈ ℂ
38 6 36 37 3syl ⊢ N ∈ ℕ → D ∈ ℂ
39 38 ralrimivw ⊢ N ∈ ℕ → ∀ a ∈ 1 ℤ/Nℤ D ∈ ℂ
40 5 olcd ⊢ N ∈ ℕ → Base ℤ/Nℤ ⊆ ℤ ≥ 0 ∨ Base ℤ/Nℤ ∈ Fin
41 sumss2 ⊢ 1 ℤ/Nℤ ⊆ Base ℤ/Nℤ ∧ ∀ a ∈ 1 ℤ/Nℤ D ∈ ℂ ∧ Base ℤ/Nℤ ⊆ ℤ ≥ 0 ∨ Base ℤ/Nℤ ∈ Fin → ∑ a ∈ 1 ℤ/Nℤ D = ∑ a ∈ Base ℤ/Nℤ if a ∈ 1 ℤ/Nℤ D 0
42 35 39 40 41 syl21anc ⊢ N ∈ ℕ → ∑ a ∈ 1 ℤ/Nℤ D = ∑ a ∈ Base ℤ/Nℤ if a ∈ 1 ℤ/Nℤ D 0
43 1 dchrabl ⊢ N ∈ ℕ → G ∈ Abel
44 ablgrp ⊢ G ∈ Abel → G ∈ Grp
45 2 21 grpidcl ⊢ G ∈ Grp → 0 G ∈ D
46 43 44 45 3syl ⊢ N ∈ ℕ → 0 G ∈ D
47 46 snssd ⊢ N ∈ ℕ → 0 G ⊆ D
48 phicl ⊢ N ∈ ℕ → ϕ ⁡ N ∈ ℕ
49 48 nncnd ⊢ N ∈ ℕ → ϕ ⁡ N ∈ ℂ
50 49 ralrimivw ⊢ N ∈ ℕ → ∀ x ∈ 0 G ϕ ⁡ N ∈ ℂ
51 6 olcd ⊢ N ∈ ℕ → D ⊆ ℤ ≥ 0 ∨ D ∈ Fin
52 sumss2 ⊢ 0 G ⊆ D ∧ ∀ x ∈ 0 G ϕ ⁡ N ∈ ℂ ∧ D ⊆ ℤ ≥ 0 ∨ D ∈ Fin → ∑ x ∈ 0 G ϕ ⁡ N = ∑ x ∈ D if x ∈ 0 G ϕ ⁡ N 0
53 47 50 51 52 syl21anc ⊢ N ∈ ℕ → ∑ x ∈ 0 G ϕ ⁡ N = ∑ x ∈ D if x ∈ 0 G ϕ ⁡ N 0
54 29 42 53 3eqtr4d ⊢ N ∈ ℕ → ∑ a ∈ 1 ℤ/Nℤ D = ∑ x ∈ 0 G ϕ ⁡ N
55 eqidd ⊢ a = 1 ℤ/Nℤ → D = D
56 55 sumsn ⊢ 1 ℤ/Nℤ ∈ Base ℤ/Nℤ ∧ D ∈ ℂ → ∑ a ∈ 1 ℤ/Nℤ D = D
57 34 38 56 syl2anc ⊢ N ∈ ℕ → ∑ a ∈ 1 ℤ/Nℤ D = D
58 eqidd ⊢ x = 0 G → ϕ ⁡ N = ϕ ⁡ N
59 58 sumsn ⊢ 0 G ∈ D ∧ ϕ ⁡ N ∈ ℂ → ∑ x ∈ 0 G ϕ ⁡ N = ϕ ⁡ N
60 46 49 59 syl2anc ⊢ N ∈ ℕ → ∑ x ∈ 0 G ϕ ⁡ N = ϕ ⁡ N
61 54 57 60 3eqtr3d ⊢ N ∈ ℕ → D = ϕ ⁡ N