MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dirith Unicode version

Theorem dirith 20784
Description: Dirichlet's theorem: there are infinitely many primes in any arithmetic progression coprime to  N. Theorem 9.4.1 of [Shapiro], p. 375. See http://metamath-blog.blogspot.com/2016/05/dirichlets-theorem.html for an informal exposition. (Contributed by Mario Carneiro, 12-May-2016.)
Assertion
Ref Expression
dirith  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  { p  e.  Prime  |  N  ||  ( p  -  A
) }  ~~  NN )
Distinct variable groups:    A, p    N, p

Proof of Theorem dirith
StepHypRef Expression
1 simp1 955 . . . . . . . 8  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  N  e.  NN )
21nnnn0d 10107 . . . . . . 7  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  N  e.  NN0 )
32adantr 451 . . . . . 6  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  ->  N  e.  NN0 )
4 eqid 2358 . . . . . . 7  |-  (ℤ/n `  N
)  =  (ℤ/n `  N
)
5 eqid 2358 . . . . . . 7  |-  ( Base `  (ℤ/n `  N ) )  =  ( Base `  (ℤ/n `  N
) )
6 eqid 2358 . . . . . . 7  |-  ( ZRHom `  (ℤ/n `  N ) )  =  ( ZRHom `  (ℤ/n `  N
) )
74, 5, 6znzrhfo 16601 . . . . . 6  |-  ( N  e.  NN0  ->  ( ZRHom `  (ℤ/n `  N ) ) : ZZ -onto-> ( Base `  (ℤ/n `  N
) ) )
8 fofn 5533 . . . . . 6  |-  ( ( ZRHom `  (ℤ/n `  N ) ) : ZZ -onto-> ( Base `  (ℤ/n `  N
) )  ->  ( ZRHom `  (ℤ/n `  N ) )  Fn  ZZ )
93, 7, 83syl 18 . . . . 5  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  -> 
( ZRHom `  (ℤ/n `  N
) )  Fn  ZZ )
10 prmz 12853 . . . . . 6  |-  ( p  e.  Prime  ->  p  e.  ZZ )
1110adantl 452 . . . . 5  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  ->  p  e.  ZZ )
12 fniniseg 5726 . . . . . 6  |-  ( ( ZRHom `  (ℤ/n `  N ) )  Fn  ZZ  ->  ( p  e.  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )  <-> 
( p  e.  ZZ  /\  ( ( ZRHom `  (ℤ/n `  N ) ) `  p )  =  ( ( ZRHom `  (ℤ/n `  N
) ) `  A
) ) ) )
1312baibd 875 . . . . 5  |-  ( ( ( ZRHom `  (ℤ/n `  N
) )  Fn  ZZ  /\  p  e.  ZZ )  ->  ( p  e.  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )  <-> 
( ( ZRHom `  (ℤ/n `  N ) ) `  p )  =  ( ( ZRHom `  (ℤ/n `  N
) ) `  A
) ) )
149, 11, 13syl2anc 642 . . . 4  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  -> 
( p  e.  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )  <-> 
( ( ZRHom `  (ℤ/n `  N ) ) `  p )  =  ( ( ZRHom `  (ℤ/n `  N
) ) `  A
) ) )
15 simp2 956 . . . . . 6  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  A  e.  ZZ )
1615adantr 451 . . . . 5  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  ->  A  e.  ZZ )
174, 6zndvds 16603 . . . . 5  |-  ( ( N  e.  NN0  /\  p  e.  ZZ  /\  A  e.  ZZ )  ->  (
( ( ZRHom `  (ℤ/n `  N ) ) `  p )  =  ( ( ZRHom `  (ℤ/n `  N
) ) `  A
)  <->  N  ||  ( p  -  A ) ) )
183, 11, 16, 17syl3anc 1182 . . . 4  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  -> 
( ( ( ZRHom `  (ℤ/n `  N ) ) `  p )  =  ( ( ZRHom `  (ℤ/n `  N
) ) `  A
)  <->  N  ||  ( p  -  A ) ) )
1914, 18bitrd 244 . . 3  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  -> 
( p  e.  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )  <-> 
N  ||  ( p  -  A ) ) )
2019rabbi2dva 3453 . 2  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  ( Prime  i^i  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } ) )  =  { p  e.  Prime  |  N  ||  ( p  -  A
) } )
21 eqid 2358 . . 3  |-  (Unit `  (ℤ/n `  N ) )  =  (Unit `  (ℤ/n `  N ) )
22 simp3 957 . . . 4  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  ( A  gcd  N )  =  1 )
234, 21, 6znunit 16617 . . . . 5  |-  ( ( N  e.  NN0  /\  A  e.  ZZ )  ->  ( ( ( ZRHom `  (ℤ/n `  N ) ) `  A )  e.  (Unit `  (ℤ/n `  N ) )  <->  ( A  gcd  N )  =  1 ) )
242, 15, 23syl2anc 642 . . . 4  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  (
( ( ZRHom `  (ℤ/n `  N ) ) `  A )  e.  (Unit `  (ℤ/n `  N ) )  <->  ( A  gcd  N )  =  1 ) )
2522, 24mpbird 223 . . 3  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  (
( ZRHom `  (ℤ/n `  N
) ) `  A
)  e.  (Unit `  (ℤ/n `  N ) ) )
26 eqid 2358 . . 3  |-  ( `' ( ZRHom `  (ℤ/n `  N
) ) " {
( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )  =  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )
274, 6, 1, 21, 25, 26dirith2 20783 . 2  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  ( Prime  i^i  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } ) )  ~~  NN )
2820, 27eqbrtrrd 4124 1  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  { p  e.  Prime  |  N  ||  ( p  -  A
) }  ~~  NN )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ wa 358    /\ w3a 934    = wceq 1642    e. wcel 1710   {crab 2623    i^i cin 3227   {csn 3716   class class class wbr 4102   `'ccnv 4767   "cima 4771    Fn wfn 5329   -onto->wfo 5332   ` cfv 5334  (class class class)co 5942    ~~ cen 6945   1c1 8825    - cmin 9124   NNcn 9833   NN0cn0 10054   ZZcz 10113    || cdivides 12622    gcd cgcd 12776   Primecprime 12849   Basecbs 13239  Unitcui 15514   ZRHomczrh 16551  ℤ/nczn 16554
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-13 1712  ax-14 1714  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1930  ax-ext 2339  ax-rep 4210  ax-sep 4220  ax-nul 4228  ax-pow 4267  ax-pr 4293  ax-un 4591  ax-inf2 7429  ax-cnex 8880  ax-resscn 8881  ax-1cn 8882  ax-icn 8883  ax-addcl 8884  ax-addrcl 8885  ax-mulcl 8886  ax-mulrcl 8887  ax-mulcom 8888  ax-addass 8889  ax-mulass 8890  ax-distr 8891  ax-i2m1 8892  ax-1ne0 8893  ax-1rid 8894  ax-rnegex 8895  ax-rrecex 8896  ax-cnre 8897  ax-pre-lttri 8898  ax-pre-lttrn 8899  ax-pre-ltadd 8900  ax-pre-mulgt0 8901  ax-pre-sup 8902  ax-addf 8903  ax-mulf 8904
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1319  df-fal 1320  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2213  df-mo 2214  df-clab 2345  df-cleq 2351  df-clel 2354  df-nfc 2483  df-ne 2523  df-nel 2524  df-ral 2624  df-rex 2625  df-reu 2626  df-rmo 2627  df-rab 2628  df-v 2866  df-sbc 3068  df-csb 3158  df-dif 3231  df-un 3233  df-in 3235  df-ss 3242  df-pss 3244  df-nul 3532  df-if 3642  df-pw 3703  df-sn 3722  df-pr 3723  df-tp 3724  df-op 3725  df-uni 3907  df-int 3942  df-iun 3986  df-iin 3987  df-disj 4073  df-br 4103  df-opab 4157  df-mpt 4158  df-tr 4193  df-eprel 4384  df-id 4388  df-po 4393  df-so 4394  df-fr 4431  df-se 4432  df-we 4433  df-ord 4474  df-on 4475  df-lim 4476  df-suc 4477  df-om 4736  df-xp 4774  df-rel 4775  df-cnv 4776  df-co 4777  df-dm 4778  df-rn 4779  df-res 4780  df-ima 4781  df-iota 5298  df-fun 5336  df-fn 5337  df-f 5338  df-f1 5339  df-fo 5340  df-f1o 5341  df-fv 5342  df-isom 5343  df-ov 5945  df-oprab 5946  df-mpt2 5947  df-of 6162  df-1st 6206  df-2nd 6207  df-tpos 6318  df-rpss 6361  df-riota 6388  df-recs 6472  df-rdg 6507  df-1o 6563  df-2o 6564  df-oadd 6567  df-omul 6568  df-er 6744  df-ec 6746  df-qs 6750  df-map 6859  df-pm 6860  df-ixp 6903  df-en 6949  df-dom 6950  df-sdom 6951  df-fin 6952  df-fi 7252  df-sup 7281  df-oi 7312  df-card 7659  df-acn 7662  df-cda 7881  df-pnf 8956  df-mnf 8957  df-xr 8958  df-ltxr 8959  df-le 8960  df-sub 9126  df-neg 9127  df-div 9511  df-nn 9834  df-2 9891  df-3 9892  df-4 9893  df-5 9894  df-6 9895  df-7 9896  df-8 9897  df-9 9898  df-10 9899  df-n0 10055  df-z 10114  df-dec 10214  df-uz 10320  df-q 10406  df-rp 10444  df-xneg 10541  df-xadd 10542  df-xmul 10543  df-ioo 10749  df-ioc 10750  df-ico 10751  df-icc 10752  df-fz 10872  df-fzo 10960  df-fl 11014  df-mod 11063  df-seq 11136  df-exp 11195  df-fac 11379  df-bc 11406  df-hash 11428  df-word 11499  df-concat 11500  df-s1 11501  df-shft 11652  df-cj 11674  df-re 11675  df-im 11676  df-sqr 11810  df-abs 11811  df-limsup 12035  df-clim 12052  df-rlim 12053  df-o1 12054  df-lo1 12055  df-sum 12250  df-ef 12440  df-e 12441  df-sin 12442  df-cos 12443  df-tan 12444  df-pi 12445  df-dvds 12623  df-gcd 12777  df-prm 12850  df-numer 12897  df-denom 12898  df-phi 12925  df-pc 12981  df-struct 13241  df-ndx 13242  df-slot 13243  df-base 13244  df-sets 13245  df-ress 13246  df-plusg 13312  df-mulr 13313  df-starv 13314  df-sca 13315  df-vsca 13316  df-tset 13318  df-ple 13319  df-ds 13321  df-unif 13322  df-hom 13323  df-cco 13324  df-rest 13420  df-topn 13421  df-topgen 13437  df-pt 13438  df-prds 13441  df-xrs 13496  df-0g 13497  df-gsum 13498  df-qtop 13503  df-imas 13504  df-divs 13505  df-xps 13506  df-mre 13581  df-mrc 13582  df-acs 13584  df-mnd 14460  df-mhm 14508  df-submnd 14509  df-grp 14582  df-minusg 14583  df-sbg 14584  df-mulg 14585  df-subg 14711  df-nsg 14712  df-eqg 14713  df-ghm 14774  df-gim 14816  df-ga 14837  df-cntz 14886  df-oppg 14912  df-od 14937  df-gex 14938  df-pgp 14939  df-lsm 15040  df-pj1 15041  df-cmn 15184  df-abl 15185  df-cyg 15258  df-dprd 15326  df-dpj 15327  df-mgp 15419  df-rng 15433  df-cring 15434  df-ur 15435  df-oppr 15498  df-dvdsr 15516  df-unit 15517  df-invr 15547  df-dvr 15558  df-rnghom 15589  df-drng 15607  df-subrg 15636  df-lmod 15722  df-lss 15783  df-lsp 15822  df-sra 16018  df-rgmod 16019  df-lidl 16020  df-rsp 16021  df-2idl 16077  df-xmet 16469  df-met 16470  df-bl 16471  df-mopn 16472  df-fbas 16473  df-fg 16474  df-cnfld 16477  df-zrh 16555  df-zn 16558  df-top 16736  df-bases 16738  df-topon 16739  df-topsp 16740  df-cld 16856  df-ntr 16857  df-cls 16858  df-nei 16935  df-lp 16968  df-perf 16969  df-cn 17057  df-cnp 17058  df-haus 17143  df-cmp 17214  df-tx 17357  df-hmeo 17546  df-fil 17637  df-fm 17729  df-flim 17730  df-flf 17731  df-xms 17981  df-ms 17982  df-tms 17983  df-cncf 18479  df-0p 19123  df-limc 19314  df-dv 19315  df-ply 19668  df-idp 19669  df-coe 19670  df-dgr 19671  df-quot 19769  df-log 20015  df-cxp 20016  df-em 20392  df-cht 20440  df-vma 20441  df-chp 20442  df-ppi 20443  df-mu 20444  df-dchr 20578
  Copyright terms: Public domain W3C validator