MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dchrhash Structured version   Visualization version   GIF version

Theorem dchrhash 27446
Description: There are exactly ϕ(𝑁) Dirichlet characters modulo 𝑁. Part of Theorem 6.5.1 of [Shapiro] p. 230. (Contributed by Mario Carneiro, 28-Apr-2016.)
Hypotheses
Ref Expression
sumdchr.g 𝐺 = (DChr‘𝑁)
sumdchr.d 𝐷 = (Base‘𝐺)
Assertion
Ref Expression
dchrhash (𝑁 ∈ ℕ → (♯‘𝐷) = (ϕ‘𝑁))

Proof of Theorem dchrhash
Dummy variables 𝑥 𝑎 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2762 . . . . . 6 (ℤ/nℤ‘𝑁) = (ℤ/nℤ‘𝑁)
2 eqid 2762 . . . . . 6 (Base‘(ℤ/nℤ‘𝑁)) = (Base‘(ℤ/nℤ‘𝑁))
31, 2znfi 21720 . . . . 5 (𝑁 ∈ ℕ → (Base‘(ℤ/nℤ‘𝑁)) ∈ Fin)
4 sumdchr.g . . . . . 6 𝐺 = (DChr‘𝑁)
5 sumdchr.d . . . . . 6 𝐷 = (Base‘𝐺)
64, 5dchrfi 27430 . . . . 5 (𝑁 ∈ ℕ → 𝐷 ∈ Fin)
7 simprr 784 . . . . . . 7 ((𝑁 ∈ ℕ ∧ (𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁)) ∧ 𝑥𝐷)) → 𝑥𝐷)
84, 1, 5, 2, 7dchrf 27417 . . . . . 6 ((𝑁 ∈ ℕ ∧ (𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁)) ∧ 𝑥𝐷)) → 𝑥:(Base‘(ℤ/nℤ‘𝑁))⟶ℂ)
9 simprl 782 . . . . . 6 ((𝑁 ∈ ℕ ∧ (𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁)) ∧ 𝑥𝐷)) → 𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁)))
108, 9ffvelcdmd 7080 . . . . 5 ((𝑁 ∈ ℕ ∧ (𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁)) ∧ 𝑥𝐷)) → (𝑥𝑎) ∈ ℂ)
113, 6, 10fsumcom 15833 . . . 4 (𝑁 ∈ ℕ → Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))Σ𝑥𝐷 (𝑥𝑎) = Σ𝑥𝐷 Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))(𝑥𝑎))
12 eqid 2762 . . . . . . 7 (1r‘(ℤ/nℤ‘𝑁)) = (1r‘(ℤ/nℤ‘𝑁))
13 simpl 487 . . . . . . 7 ((𝑁 ∈ ℕ ∧ 𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))) → 𝑁 ∈ ℕ)
14 simpr 489 . . . . . . 7 ((𝑁 ∈ ℕ ∧ 𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))) → 𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁)))
154, 5, 1, 12, 2, 13, 14sumdchr2 27445 . . . . . 6 ((𝑁 ∈ ℕ ∧ 𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))) → Σ𝑥𝐷 (𝑥𝑎) = if(𝑎 = (1r‘(ℤ/nℤ‘𝑁)), (♯‘𝐷), 0))
16 velsn 4604 . . . . . . 7 (𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} ↔ 𝑎 = (1r‘(ℤ/nℤ‘𝑁)))
17 ifbi 4509 . . . . . . 7 ((𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} ↔ 𝑎 = (1r‘(ℤ/nℤ‘𝑁))) → if(𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))}, (♯‘𝐷), 0) = if(𝑎 = (1r‘(ℤ/nℤ‘𝑁)), (♯‘𝐷), 0))
1816, 17mp1i 14 . . . . . 6 ((𝑁 ∈ ℕ ∧ 𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))) → if(𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))}, (♯‘𝐷), 0) = if(𝑎 = (1r‘(ℤ/nℤ‘𝑁)), (♯‘𝐷), 0))
1915, 18eqtr4d 2800 . . . . 5 ((𝑁 ∈ ℕ ∧ 𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))) → Σ𝑥𝐷 (𝑥𝑎) = if(𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))}, (♯‘𝐷), 0))
2019sumeq2dv 15760 . . . 4 (𝑁 ∈ ℕ → Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))Σ𝑥𝐷 (𝑥𝑎) = Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))if(𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))}, (♯‘𝐷), 0))
21 eqid 2762 . . . . . . 7 (0g𝐺) = (0g𝐺)
22 simpr 489 . . . . . . 7 ((𝑁 ∈ ℕ ∧ 𝑥𝐷) → 𝑥𝐷)
234, 1, 5, 21, 22, 2dchrsum 27444 . . . . . 6 ((𝑁 ∈ ℕ ∧ 𝑥𝐷) → Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))(𝑥𝑎) = if(𝑥 = (0g𝐺), (ϕ‘𝑁), 0))
24 velsn 4604 . . . . . . 7 (𝑥 ∈ {(0g𝐺)} ↔ 𝑥 = (0g𝐺))
25 ifbi 4509 . . . . . . 7 ((𝑥 ∈ {(0g𝐺)} ↔ 𝑥 = (0g𝐺)) → if(𝑥 ∈ {(0g𝐺)}, (ϕ‘𝑁), 0) = if(𝑥 = (0g𝐺), (ϕ‘𝑁), 0))
2624, 25mp1i 14 . . . . . 6 ((𝑁 ∈ ℕ ∧ 𝑥𝐷) → if(𝑥 ∈ {(0g𝐺)}, (ϕ‘𝑁), 0) = if(𝑥 = (0g𝐺), (ϕ‘𝑁), 0))
2723, 26eqtr4d 2800 . . . . 5 ((𝑁 ∈ ℕ ∧ 𝑥𝐷) → Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))(𝑥𝑎) = if(𝑥 ∈ {(0g𝐺)}, (ϕ‘𝑁), 0))
2827sumeq2dv 15760 . . . 4 (𝑁 ∈ ℕ → Σ𝑥𝐷 Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))(𝑥𝑎) = Σ𝑥𝐷 if(𝑥 ∈ {(0g𝐺)}, (ϕ‘𝑁), 0))
2911, 20, 283eqtr3d 2805 . . 3 (𝑁 ∈ ℕ → Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))if(𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))}, (♯‘𝐷), 0) = Σ𝑥𝐷 if(𝑥 ∈ {(0g𝐺)}, (ϕ‘𝑁), 0))
30 nnnn0 12517 . . . . . 6 (𝑁 ∈ ℕ → 𝑁 ∈ ℕ0)
311zncrng 21705 . . . . . 6 (𝑁 ∈ ℕ0 → (ℤ/nℤ‘𝑁) ∈ CRing)
32 crngring 20333 . . . . . 6 ((ℤ/nℤ‘𝑁) ∈ CRing → (ℤ/nℤ‘𝑁) ∈ Ring)
332, 12ringidcl 20355 . . . . . 6 ((ℤ/nℤ‘𝑁) ∈ Ring → (1r‘(ℤ/nℤ‘𝑁)) ∈ (Base‘(ℤ/nℤ‘𝑁)))
3430, 31, 32, 334syl 20 . . . . 5 (𝑁 ∈ ℕ → (1r‘(ℤ/nℤ‘𝑁)) ∈ (Base‘(ℤ/nℤ‘𝑁)))
3534snssd 4751 . . . 4 (𝑁 ∈ ℕ → {(1r‘(ℤ/nℤ‘𝑁))} ⊆ (Base‘(ℤ/nℤ‘𝑁)))
36 hashcl 14399 . . . . . 6 (𝐷 ∈ Fin → (♯‘𝐷) ∈ ℕ0)
37 nn0cn 12520 . . . . . 6 ((♯‘𝐷) ∈ ℕ0 → (♯‘𝐷) ∈ ℂ)
386, 36, 373syl 19 . . . . 5 (𝑁 ∈ ℕ → (♯‘𝐷) ∈ ℂ)
3938ralrimivw 3160 . . . 4 (𝑁 ∈ ℕ → ∀𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} (♯‘𝐷) ∈ ℂ)
403olcd 887 . . . 4 (𝑁 ∈ ℕ → ((Base‘(ℤ/nℤ‘𝑁)) ⊆ (ℤ‘0) ∨ (Base‘(ℤ/nℤ‘𝑁)) ∈ Fin))
41 sumss2 15784 . . . 4 ((({(1r‘(ℤ/nℤ‘𝑁))} ⊆ (Base‘(ℤ/nℤ‘𝑁)) ∧ ∀𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} (♯‘𝐷) ∈ ℂ) ∧ ((Base‘(ℤ/nℤ‘𝑁)) ⊆ (ℤ‘0) ∨ (Base‘(ℤ/nℤ‘𝑁)) ∈ Fin)) → Σ𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} (♯‘𝐷) = Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))if(𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))}, (♯‘𝐷), 0))
4235, 39, 40, 41syl21anc 850 . . 3 (𝑁 ∈ ℕ → Σ𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} (♯‘𝐷) = Σ𝑎 ∈ (Base‘(ℤ/nℤ‘𝑁))if(𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))}, (♯‘𝐷), 0))
434dchrabl 27429 . . . . . 6 (𝑁 ∈ ℕ → 𝐺 ∈ Abel)
44 ablgrp 19861 . . . . . 6 (𝐺 ∈ Abel → 𝐺 ∈ Grp)
455, 21grpidcl 19038 . . . . . 6 (𝐺 ∈ Grp → (0g𝐺) ∈ 𝐷)
4643, 44, 453syl 19 . . . . 5 (𝑁 ∈ ℕ → (0g𝐺) ∈ 𝐷)
4746snssd 4751 . . . 4 (𝑁 ∈ ℕ → {(0g𝐺)} ⊆ 𝐷)
48 phicl 16834 . . . . . 6 (𝑁 ∈ ℕ → (ϕ‘𝑁) ∈ ℕ)
4948nncnd 12255 . . . . 5 (𝑁 ∈ ℕ → (ϕ‘𝑁) ∈ ℂ)
5049ralrimivw 3160 . . . 4 (𝑁 ∈ ℕ → ∀𝑥 ∈ {(0g𝐺)} (ϕ‘𝑁) ∈ ℂ)
516olcd 887 . . . 4 (𝑁 ∈ ℕ → (𝐷 ⊆ (ℤ‘0) ∨ 𝐷 ∈ Fin))
52 sumss2 15784 . . . 4 ((({(0g𝐺)} ⊆ 𝐷 ∧ ∀𝑥 ∈ {(0g𝐺)} (ϕ‘𝑁) ∈ ℂ) ∧ (𝐷 ⊆ (ℤ‘0) ∨ 𝐷 ∈ Fin)) → Σ𝑥 ∈ {(0g𝐺)} (ϕ‘𝑁) = Σ𝑥𝐷 if(𝑥 ∈ {(0g𝐺)}, (ϕ‘𝑁), 0))
5347, 50, 51, 52syl21anc 850 . . 3 (𝑁 ∈ ℕ → Σ𝑥 ∈ {(0g𝐺)} (ϕ‘𝑁) = Σ𝑥𝐷 if(𝑥 ∈ {(0g𝐺)}, (ϕ‘𝑁), 0))
5429, 42, 533eqtr4d 2807 . 2 (𝑁 ∈ ℕ → Σ𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} (♯‘𝐷) = Σ𝑥 ∈ {(0g𝐺)} (ϕ‘𝑁))
55 eqidd 2763 . . . 4 (𝑎 = (1r‘(ℤ/nℤ‘𝑁)) → (♯‘𝐷) = (♯‘𝐷))
5655sumsn 15804 . . 3 (((1r‘(ℤ/nℤ‘𝑁)) ∈ (Base‘(ℤ/nℤ‘𝑁)) ∧ (♯‘𝐷) ∈ ℂ) → Σ𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} (♯‘𝐷) = (♯‘𝐷))
5734, 38, 56syl2anc 595 . 2 (𝑁 ∈ ℕ → Σ𝑎 ∈ {(1r‘(ℤ/nℤ‘𝑁))} (♯‘𝐷) = (♯‘𝐷))
58 eqidd 2763 . . . 4 (𝑥 = (0g𝐺) → (ϕ‘𝑁) = (ϕ‘𝑁))
5958sumsn 15804 . . 3 (((0g𝐺) ∈ 𝐷 ∧ (ϕ‘𝑁) ∈ ℂ) → Σ𝑥 ∈ {(0g𝐺)} (ϕ‘𝑁) = (ϕ‘𝑁))
6046, 49, 59syl2anc 595 . 2 (𝑁 ∈ ℕ → Σ𝑥 ∈ {(0g𝐺)} (ϕ‘𝑁) = (ϕ‘𝑁))
6154, 57, 603eqtr3d 2805 1 (𝑁 ∈ ℕ → (♯‘𝐷) = (ϕ‘𝑁))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 400  wo 860   = wceq 1569  wcel 2142  wral 3078  wss 3904  ifcif 4486  {csn 4588  cfv 6536  Fincfn 8941  cc 11104  0cc0 11106  cn 12239  0cn0 12510  cuz 12868  chash 14373  Σcsu 15744  ϕcphi 16829  Basecbs 17275  0gc0g 17498  Grpcgrp 19006  Abelcabl 19857  1rcur 20269  Ringcrg 20321  CRingccrg 20322  ℤ/nczn 21663  DChrcdchr 27407
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1824  ax-4 1838  ax-5 1939  ax-6 1996  ax-7 2037  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-rep 5237  ax-sep 5256  ax-nul 5268  ax-pow 5335  ax-pr 5403  ax-un 7734  ax-inf2 9608  ax-cnex 11162  ax-resscn 11163  ax-1cn 11164  ax-icn 11165  ax-addcl 11166  ax-addrcl 11167  ax-mulcl 11168  ax-mulrcl 11169  ax-mulcom 11170  ax-addass 11171  ax-mulass 11172  ax-distr 11173  ax-i2m1 11174  ax-1ne0 11175  ax-1rid 11176  ax-rnegex 11177  ax-rrecex 11178  ax-cnre 11179  ax-pre-lttri 11180  ax-pre-lttrn 11181  ax-pre-ltadd 11182  ax-pre-mulgt0 11183  ax-pre-sup 11184  ax-addf 11185  ax-mulf 11186
This proof depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1103  df-3an 1104  df-tru 1572  df-fal 1582  df-ex 1809  df-nf 1813  df-sb 2096  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3064  df-ral 3079  df-rex 3089  df-rmo 3368  df-reu 3369  df-rab 3416  df-v 3456  df-sbc 3744  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4487  df-pw 4563  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4595  df-uni 4872  df-int 4912  df-iun 4957  df-iin 4958  df-disj 5076  df-br 5109  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5555  df-eprel 5560  df-po 5568  df-so 5569  df-fr 5613  df-se 5614  df-we 5615  df-xp 5666  df-rel 5667  df-cnv 5668  df-co 5669  df-dm 5670  df-rn 5671  df-res 5672  df-ima 5673  df-pred 6302  df-ord 6363  df-on 6364  df-lim 6365  df-suc 6366  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-isom 6545  df-riota 7369  df-ov 7415  df-oprab 7416  df-mpo 7417  df-of 7676  df-rpss 7722  df-om 7861  df-1st 7984  df-2nd 7985  df-supp 8155  df-tpos 8220  df-frecs 8276  df-wrecs 8307  df-recs 8356  df-rdg 8395  df-1o 8451  df-2o 8452  df-oadd 8455  df-omul 8456  df-er 8692  df-ec 8694  df-qs 8698  df-map 8824  df-pm 8825  df-ixp 8894  df-en 8942  df-dom 8943  df-sdom 8944  df-fin 8945  df-fsupp 9320  df-fi 9369  df-sup 9400  df-inf 9401  df-oi 9470  df-dju 9894  df-card 9932  df-acn 9935  df-pnf 11251  df-mnf 11252  df-xr 11253  df-ltxr 11254  df-le 11255  df-sub 11449  df-neg 11450  df-div 11878  df-nn 12240  df-2 12309  df-3 12310  df-4 12311  df-5 12312  df-6 12313  df-7 12314  df-8 12315  df-9 12316  df-n0 12511  df-xnn0 12584  df-z 12598  df-dec 12718  df-uz 12869  df-q 12979  df-rp 13023  df-xneg 13143  df-xadd 13144  df-xmul 13145  df-ioo 13382  df-ioc 13383  df-ico 13384  df-icc 13385  df-fz 13542  df-fzo 13690  df-fl 13832  df-mod 13910  df-seq 14045  df-exp 14105  df-fac 14317  df-bc 14346  df-hash 14374  df-word 14558  df-concat 14615  df-s1 14641  df-shft 15111  df-cj 15157  df-re 15158  df-im 15159  df-sqrt 15293  df-abs 15294  df-limsup 15529  df-clim 15546  df-rlim 15547  df-sum 15745  df-ef 16127  df-sin 16129  df-cos 16130  df-pi 16132  df-dvds 16317  df-gcd 16559  df-prm 16736  df-phi 16831  df-pc 16903  df-struct 17213  df-sets 17230  df-slot 17248  df-ndx 17260  df-base 17276  df-ress 17297  df-plusg 17329  df-mulr 17330  df-starv 17331  df-sca 17332  df-vsca 17333  df-ip 17334  df-tset 17335  df-ple 17336  df-ds 17338  df-unif 17339  df-hom 17340  df-cco 17341  df-rest 17481  df-topn 17482  df-0g 17500  df-gsum 17501  df-topgen 17502  df-pt 17503  df-prds 17506  df-xrs 17562  df-qtop 17567  df-imas 17568  df-qus 17569  df-xps 17570  df-mre 17644  df-mrc 17645  df-acs 17647  df-mgm 18704  df-sgrp 18783  df-mnd 18799  df-mhm 18847  df-submnd 18848  df-grp 19009  df-minusg 19010  df-sbg 19011  df-mulg 19140  df-subg 19195  df-nsg 19196  df-eqg 19197  df-ghm 19290  df-gim 19335  df-ga 19366  df-cntz 19393  df-oppg 19422  df-od 19604  df-gex 19605  df-pgp 19606  df-lsm 19712  df-pj1 19713  df-cmn 19858  df-abl 19859  df-cyg 19954  df-dprd 20073  df-dpj 20074  df-mgp 20223  df-rng 20237  df-ur 20270  df-ring 20323  df-cring 20324  df-oppr 20426  df-dvdsr 20446  df-unit 20447  df-invr 20477  df-rhm 20561  df-subrng 20656  df-subrg 20680  df-lmod 20994  df-lss 21064  df-lsp 21104  df-sra 21305  df-rgmod 21306  df-lidl 21343  df-rsp 21344  df-2idl 21400  df-psmet 21525  df-xmet 21526  df-met 21527  df-bl 21528  df-mopn 21529  df-fbas 21530  df-fg 21531  df-cnfld 21534  df-zring 21608  df-zrh 21664  df-zn 21667  df-top 23062  df-topon 23079  df-topsp 23101  df-bases 23114  df-cld 23187  df-ntr 23188  df-cls 23189  df-nei 23266  df-lp 23304  df-perf 23305  df-cn 23395  df-cnp 23396  df-haus 23483  df-tx 23730  df-hmeo 23923  df-fil 24014  df-fm 24106  df-flim 24107  df-flf 24108  df-xms 24488  df-ms 24489  df-tms 24490  df-cncf 25048  df-0p 25840  df-limc 26036  df-dv 26037  df-ply 26356  df-idp 26357  df-coe 26358  df-dgr 26359  df-quot 26463  df-log 26732  df-cxp 26733  df-dchr 27408
This theorem is used by:  sumdchr  27447
  Copyright terms: Public domain W3C validator