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

Theorem znunithash 21126
Description: The size of the unit group of β„€/nβ„€. (Contributed by Mario Carneiro, 19-Apr-2016.)
Hypotheses
Ref Expression
znchr.y π‘Œ = (β„€/nβ„€β€˜π‘)
znunit.u π‘ˆ = (Unitβ€˜π‘Œ)
Assertion
Ref Expression
znunithash (𝑁 ∈ β„• β†’ (β™―β€˜π‘ˆ) = (Ο•β€˜π‘))

Proof of Theorem znunithash
Dummy variable π‘₯ is distinct from all other variables.
StepHypRef Expression
1 dfphi2 16709 . 2 (𝑁 ∈ β„• β†’ (Ο•β€˜π‘) = (β™―β€˜{π‘₯ ∈ (0..^𝑁) ∣ (π‘₯ gcd 𝑁) = 1}))
2 nnnn0 12481 . . . . . . . . 9 (𝑁 ∈ β„• β†’ 𝑁 ∈ β„•0)
3 znchr.y . . . . . . . . . 10 π‘Œ = (β„€/nβ„€β€˜π‘)
4 eqid 2732 . . . . . . . . . 10 (Baseβ€˜π‘Œ) = (Baseβ€˜π‘Œ)
5 eqid 2732 . . . . . . . . . 10 ((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁))) = ((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁)))
6 eqid 2732 . . . . . . . . . 10 if(𝑁 = 0, β„€, (0..^𝑁)) = if(𝑁 = 0, β„€, (0..^𝑁))
73, 4, 5, 6znf1o 21113 . . . . . . . . 9 (𝑁 ∈ β„•0 β†’ ((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁))):if(𝑁 = 0, β„€, (0..^𝑁))–1-1-ontoβ†’(Baseβ€˜π‘Œ))
82, 7syl 17 . . . . . . . 8 (𝑁 ∈ β„• β†’ ((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁))):if(𝑁 = 0, β„€, (0..^𝑁))–1-1-ontoβ†’(Baseβ€˜π‘Œ))
9 nnne0 12248 . . . . . . . . 9 (𝑁 ∈ β„• β†’ 𝑁 β‰  0)
10 ifnefalse 4540 . . . . . . . . 9 (𝑁 β‰  0 β†’ if(𝑁 = 0, β„€, (0..^𝑁)) = (0..^𝑁))
11 reseq2 5976 . . . . . . . . . . 11 (if(𝑁 = 0, β„€, (0..^𝑁)) = (0..^𝑁) β†’ ((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁))) = ((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)))
1211f1oeq1d 6828 . . . . . . . . . 10 (if(𝑁 = 0, β„€, (0..^𝑁)) = (0..^𝑁) β†’ (((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁))):if(𝑁 = 0, β„€, (0..^𝑁))–1-1-ontoβ†’(Baseβ€˜π‘Œ) ↔ ((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):if(𝑁 = 0, β„€, (0..^𝑁))–1-1-ontoβ†’(Baseβ€˜π‘Œ)))
13 f1oeq2 6822 . . . . . . . . . 10 (if(𝑁 = 0, β„€, (0..^𝑁)) = (0..^𝑁) β†’ (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):if(𝑁 = 0, β„€, (0..^𝑁))–1-1-ontoβ†’(Baseβ€˜π‘Œ) ↔ ((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(0..^𝑁)–1-1-ontoβ†’(Baseβ€˜π‘Œ)))
1412, 13bitrd 278 . . . . . . . . 9 (if(𝑁 = 0, β„€, (0..^𝑁)) = (0..^𝑁) β†’ (((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁))):if(𝑁 = 0, β„€, (0..^𝑁))–1-1-ontoβ†’(Baseβ€˜π‘Œ) ↔ ((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(0..^𝑁)–1-1-ontoβ†’(Baseβ€˜π‘Œ)))
159, 10, 143syl 18 . . . . . . . 8 (𝑁 ∈ β„• β†’ (((β„€RHomβ€˜π‘Œ) β†Ύ if(𝑁 = 0, β„€, (0..^𝑁))):if(𝑁 = 0, β„€, (0..^𝑁))–1-1-ontoβ†’(Baseβ€˜π‘Œ) ↔ ((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(0..^𝑁)–1-1-ontoβ†’(Baseβ€˜π‘Œ)))
168, 15mpbid 231 . . . . . . 7 (𝑁 ∈ β„• β†’ ((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(0..^𝑁)–1-1-ontoβ†’(Baseβ€˜π‘Œ))
17 f1ofn 6834 . . . . . . 7 (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(0..^𝑁)–1-1-ontoβ†’(Baseβ€˜π‘Œ) β†’ ((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) Fn (0..^𝑁))
18 elpreima 7059 . . . . . . 7 (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) Fn (0..^𝑁) β†’ (π‘₯ ∈ (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) ↔ (π‘₯ ∈ (0..^𝑁) ∧ (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁))β€˜π‘₯) ∈ π‘ˆ)))
1916, 17, 183syl 18 . . . . . 6 (𝑁 ∈ β„• β†’ (π‘₯ ∈ (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) ↔ (π‘₯ ∈ (0..^𝑁) ∧ (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁))β€˜π‘₯) ∈ π‘ˆ)))
20 fvres 6910 . . . . . . . . . 10 (π‘₯ ∈ (0..^𝑁) β†’ (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁))β€˜π‘₯) = ((β„€RHomβ€˜π‘Œ)β€˜π‘₯))
2120adantl 482 . . . . . . . . 9 ((𝑁 ∈ β„• ∧ π‘₯ ∈ (0..^𝑁)) β†’ (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁))β€˜π‘₯) = ((β„€RHomβ€˜π‘Œ)β€˜π‘₯))
2221eleq1d 2818 . . . . . . . 8 ((𝑁 ∈ β„• ∧ π‘₯ ∈ (0..^𝑁)) β†’ ((((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁))β€˜π‘₯) ∈ π‘ˆ ↔ ((β„€RHomβ€˜π‘Œ)β€˜π‘₯) ∈ π‘ˆ))
23 elfzoelz 13634 . . . . . . . . 9 (π‘₯ ∈ (0..^𝑁) β†’ π‘₯ ∈ β„€)
24 znunit.u . . . . . . . . . 10 π‘ˆ = (Unitβ€˜π‘Œ)
25 eqid 2732 . . . . . . . . . 10 (β„€RHomβ€˜π‘Œ) = (β„€RHomβ€˜π‘Œ)
263, 24, 25znunit 21125 . . . . . . . . 9 ((𝑁 ∈ β„•0 ∧ π‘₯ ∈ β„€) β†’ (((β„€RHomβ€˜π‘Œ)β€˜π‘₯) ∈ π‘ˆ ↔ (π‘₯ gcd 𝑁) = 1))
272, 23, 26syl2an 596 . . . . . . . 8 ((𝑁 ∈ β„• ∧ π‘₯ ∈ (0..^𝑁)) β†’ (((β„€RHomβ€˜π‘Œ)β€˜π‘₯) ∈ π‘ˆ ↔ (π‘₯ gcd 𝑁) = 1))
2822, 27bitrd 278 . . . . . . 7 ((𝑁 ∈ β„• ∧ π‘₯ ∈ (0..^𝑁)) β†’ ((((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁))β€˜π‘₯) ∈ π‘ˆ ↔ (π‘₯ gcd 𝑁) = 1))
2928pm5.32da 579 . . . . . 6 (𝑁 ∈ β„• β†’ ((π‘₯ ∈ (0..^𝑁) ∧ (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁))β€˜π‘₯) ∈ π‘ˆ) ↔ (π‘₯ ∈ (0..^𝑁) ∧ (π‘₯ gcd 𝑁) = 1)))
3019, 29bitrd 278 . . . . 5 (𝑁 ∈ β„• β†’ (π‘₯ ∈ (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) ↔ (π‘₯ ∈ (0..^𝑁) ∧ (π‘₯ gcd 𝑁) = 1)))
3130eqabdv 2867 . . . 4 (𝑁 ∈ β„• β†’ (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) = {π‘₯ ∣ (π‘₯ ∈ (0..^𝑁) ∧ (π‘₯ gcd 𝑁) = 1)})
32 df-rab 3433 . . . 4 {π‘₯ ∈ (0..^𝑁) ∣ (π‘₯ gcd 𝑁) = 1} = {π‘₯ ∣ (π‘₯ ∈ (0..^𝑁) ∧ (π‘₯ gcd 𝑁) = 1)}
3331, 32eqtr4di 2790 . . 3 (𝑁 ∈ β„• β†’ (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) = {π‘₯ ∈ (0..^𝑁) ∣ (π‘₯ gcd 𝑁) = 1})
3433fveq2d 6895 . 2 (𝑁 ∈ β„• β†’ (β™―β€˜(β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ)) = (β™―β€˜{π‘₯ ∈ (0..^𝑁) ∣ (π‘₯ gcd 𝑁) = 1}))
35 f1ocnv 6845 . . . . 5 (((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(0..^𝑁)–1-1-ontoβ†’(Baseβ€˜π‘Œ) β†’ β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(Baseβ€˜π‘Œ)–1-1-ontoβ†’(0..^𝑁))
36 f1of1 6832 . . . . 5 (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(Baseβ€˜π‘Œ)–1-1-ontoβ†’(0..^𝑁) β†’ β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(Baseβ€˜π‘Œ)–1-1β†’(0..^𝑁))
3716, 35, 363syl 18 . . . 4 (𝑁 ∈ β„• β†’ β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(Baseβ€˜π‘Œ)–1-1β†’(0..^𝑁))
38 ovexd 7446 . . . 4 (𝑁 ∈ β„• β†’ (0..^𝑁) ∈ V)
394, 24unitss 20194 . . . . 5 π‘ˆ βŠ† (Baseβ€˜π‘Œ)
4039a1i 11 . . . 4 (𝑁 ∈ β„• β†’ π‘ˆ βŠ† (Baseβ€˜π‘Œ))
4124fvexi 6905 . . . . 5 π‘ˆ ∈ V
4241a1i 11 . . . 4 (𝑁 ∈ β„• β†’ π‘ˆ ∈ V)
43 f1imaen2g 9013 . . . 4 (((β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)):(Baseβ€˜π‘Œ)–1-1β†’(0..^𝑁) ∧ (0..^𝑁) ∈ V) ∧ (π‘ˆ βŠ† (Baseβ€˜π‘Œ) ∧ π‘ˆ ∈ V)) β†’ (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) β‰ˆ π‘ˆ)
4437, 38, 40, 42, 43syl22anc 837 . . 3 (𝑁 ∈ β„• β†’ (β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) β‰ˆ π‘ˆ)
45 hasheni 14310 . . 3 ((β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ) β‰ˆ π‘ˆ β†’ (β™―β€˜(β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ)) = (β™―β€˜π‘ˆ))
4644, 45syl 17 . 2 (𝑁 ∈ β„• β†’ (β™―β€˜(β—‘((β„€RHomβ€˜π‘Œ) β†Ύ (0..^𝑁)) β€œ π‘ˆ)) = (β™―β€˜π‘ˆ))
471, 34, 463eqtr2rd 2779 1 (𝑁 ∈ β„• β†’ (β™―β€˜π‘ˆ) = (Ο•β€˜π‘))
Colors of variables: wff setvar class
Syntax hints:   β†’ wi 4   ↔ wb 205   ∧ wa 396   = wceq 1541   ∈ wcel 2106  {cab 2709   β‰  wne 2940  {crab 3432  Vcvv 3474   βŠ† wss 3948  ifcif 4528   class class class wbr 5148  β—‘ccnv 5675   β†Ύ cres 5678   β€œ cima 5679   Fn wfn 6538  β€“1-1β†’wf1 6540  β€“1-1-ontoβ†’wf1o 6542  β€˜cfv 6543  (class class class)co 7411   β‰ˆ cen 8938  0cc0 11112  1c1 11113  β„•cn 12214  β„•0cn0 12474  β„€cz 12560  ..^cfzo 13629  β™―chash 14292   gcd cgcd 16437  Ο•cphi 16699  Basecbs 17146  Unitcui 20173  β„€RHomczrh 21055  β„€/nβ„€czn 21058
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-rep 5285  ax-sep 5299  ax-nul 5306  ax-pow 5363  ax-pr 5427  ax-un 7727  ax-cnex 11168  ax-resscn 11169  ax-1cn 11170  ax-icn 11171  ax-addcl 11172  ax-addrcl 11173  ax-mulcl 11174  ax-mulrcl 11175  ax-mulcom 11176  ax-addass 11177  ax-mulass 11178  ax-distr 11179  ax-i2m1 11180  ax-1ne0 11181  ax-1rid 11182  ax-rnegex 11183  ax-rrecex 11184  ax-cnre 11185  ax-pre-lttri 11186  ax-pre-lttrn 11187  ax-pre-ltadd 11188  ax-pre-mulgt0 11189  ax-pre-sup 11190  ax-addf 11191  ax-mulf 11192
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3376  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3778  df-csb 3894  df-dif 3951  df-un 3953  df-in 3955  df-ss 3965  df-pss 3967  df-nul 4323  df-if 4529  df-pw 4604  df-sn 4629  df-pr 4631  df-tp 4633  df-op 4635  df-uni 4909  df-int 4951  df-iun 4999  df-br 5149  df-opab 5211  df-mpt 5232  df-tr 5266  df-id 5574  df-eprel 5580  df-po 5588  df-so 5589  df-fr 5631  df-we 5633  df-xp 5682  df-rel 5683  df-cnv 5684  df-co 5685  df-dm 5686  df-rn 5687  df-res 5688  df-ima 5689  df-pred 6300  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6495  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-riota 7367  df-ov 7414  df-oprab 7415  df-mpo 7416  df-om 7858  df-1st 7977  df-2nd 7978  df-tpos 8213  df-frecs 8268  df-wrecs 8299  df-recs 8373  df-rdg 8412  df-1o 8468  df-oadd 8472  df-er 8705  df-ec 8707  df-qs 8711  df-map 8824  df-en 8942  df-dom 8943  df-sdom 8944  df-fin 8945  df-sup 9439  df-inf 9440  df-card 9936  df-pnf 11252  df-mnf 11253  df-xr 11254  df-ltxr 11255  df-le 11256  df-sub 11448  df-neg 11449  df-div 11874  df-nn 12215  df-2 12277  df-3 12278  df-4 12279  df-5 12280  df-6 12281  df-7 12282  df-8 12283  df-9 12284  df-n0 12475  df-xnn0 12547  df-z 12561  df-dec 12680  df-uz 12825  df-rp 12977  df-fz 13487  df-fzo 13630  df-fl 13759  df-mod 13837  df-seq 13969  df-exp 14030  df-hash 14293  df-cj 15048  df-re 15049  df-im 15050  df-sqrt 15184  df-abs 15185  df-dvds 16200  df-gcd 16438  df-phi 16701  df-struct 17082  df-sets 17099  df-slot 17117  df-ndx 17129  df-base 17147  df-ress 17176  df-plusg 17212  df-mulr 17213  df-starv 17214  df-sca 17215  df-vsca 17216  df-ip 17217  df-tset 17218  df-ple 17219  df-ds 17221  df-unif 17222  df-0g 17389  df-imas 17456  df-qus 17457  df-mgm 18563  df-sgrp 18612  df-mnd 18628  df-mhm 18673  df-grp 18824  df-minusg 18825  df-sbg 18826  df-mulg 18953  df-subg 19005  df-nsg 19006  df-eqg 19007  df-ghm 19092  df-cmn 19652  df-abl 19653  df-mgp 19990  df-ur 20007  df-ring 20060  df-cring 20061  df-oppr 20154  df-dvdsr 20175  df-unit 20176  df-rnghom 20255  df-subrg 20321  df-lmod 20477  df-lss 20548  df-lsp 20588  df-sra 20791  df-rgmod 20792  df-lidl 20793  df-rsp 20794  df-2idl 20863  df-cnfld 20951  df-zring 21024  df-zrh 21059  df-zn 21062
This theorem is referenced by:  dchrfi  26765  dchrsum2  26778
  Copyright terms: Public domain W3C validator