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

Theorem dirith 20680
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 10020 . . . . . . 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 2285 . . . . . . 7  |-  (ℤ/n `  N
)  =  (ℤ/n `  N
)
5 eqid 2285 . . . . . . 7  |-  ( Base `  (ℤ/n `  N ) )  =  ( Base `  (ℤ/n `  N
) )
6 eqid 2285 . . . . . . 7  |-  ( ZRHom `  (ℤ/n `  N ) )  =  ( ZRHom `  (ℤ/n `  N
) )
74, 5, 6znzrhfo 16503 . . . . . 6  |-  ( N  e.  NN0  ->  ( ZRHom `  (ℤ/n `  N ) ) : ZZ -onto-> ( Base `  (ℤ/n `  N
) ) )
8 fofn 5455 . . . . . 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 12764 . . . . . 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 5648 . . . . . 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 16505 . . . . 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 3379 . 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 2285 . . 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 16519 . . . . 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 2285 . . 3  |-  ( `' ( ZRHom `  (ℤ/n `  N
) ) " {
( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )  =  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )
274, 6, 1, 21, 25, 26dirith2 20679 . 2  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  ( Prime  i^i  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } ) )  ~~  NN )
2820, 27eqbrtrrd 4047 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 1625    e. wcel 1686   {crab 2549    i^i cin 3153   {csn 3642   class class class wbr 4025   `'ccnv 4690   "cima 4694    Fn wfn 5252   -onto->wfo 5255   ` cfv 5257  (class class class)co 5860    ~~ cen 6862   1c1 8740    - cmin 9039   NNcn 9748   NN0cn0 9967   ZZcz 10026    || cdivides 12533    gcd cgcd 12687   Primecprime 12760   Basecbs 13150  Unitcui 15423   ZRHomczrh 16453  ℤ/nczn 16456
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1535  ax-5 1546  ax-17 1605  ax-9 1637  ax-8 1645  ax-13 1688  ax-14 1690  ax-6 1705  ax-7 1710  ax-11 1717  ax-12 1868  ax-ext 2266  ax-rep 4133  ax-sep 4143  ax-nul 4151  ax-pow 4190  ax-pr 4216  ax-un 4514  ax-inf2 7344  ax-cnex 8795  ax-resscn 8796  ax-1cn 8797  ax-icn 8798  ax-addcl 8799  ax-addrcl 8800  ax-mulcl 8801  ax-mulrcl 8802  ax-mulcom 8803  ax-addass 8804  ax-mulass 8805  ax-distr 8806  ax-i2m1 8807  ax-1ne0 8808  ax-1rid 8809  ax-rnegex 8810  ax-rrecex 8811  ax-cnre 8812  ax-pre-lttri 8813  ax-pre-lttrn 8814  ax-pre-ltadd 8815  ax-pre-mulgt0 8816  ax-pre-sup 8817  ax-addf 8818  ax-mulf 8819
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-fal 1311  df-ex 1531  df-nf 1534  df-sb 1632  df-eu 2149  df-mo 2150  df-clab 2272  df-cleq 2278  df-clel 2281  df-nfc 2410  df-ne 2450  df-nel 2451  df-ral 2550  df-rex 2551  df-reu 2552  df-rmo 2553  df-rab 2554  df-v 2792  df-sbc 2994  df-csb 3084  df-dif 3157  df-un 3159  df-in 3161  df-ss 3168  df-pss 3170  df-nul 3458  df-if 3568  df-pw 3629  df-sn 3648  df-pr 3649  df-tp 3650  df-op 3651  df-uni 3830  df-int 3865  df-iun 3909  df-iin 3910  df-disj 3996  df-br 4026  df-opab 4080  df-mpt 4081  df-tr 4116  df-eprel 4307  df-id 4311  df-po 4316  df-so 4317  df-fr 4354  df-se 4355  df-we 4356  df-ord 4397  df-on 4398  df-lim 4399  df-suc 4400  df-om 4659  df-xp 4697  df-rel 4698  df-cnv 4699  df-co 4700  df-dm 4701  df-rn 4702  df-res 4703  df-ima 4704  df-iota 5221  df-fun 5259  df-fn 5260  df-f 5261  df-f1 5262  df-fo 5263  df-f1o 5264  df-fv 5265  df-isom 5266  df-ov 5863  df-oprab 5864  df-mpt2 5865  df-of 6080  df-1st 6124  df-2nd 6125  df-tpos 6236  df-rpss 6279  df-riota 6306  df-recs 6390  df-rdg 6425  df-1o 6481  df-2o 6482  df-oadd 6485  df-omul 6486  df-er 6662  df-ec 6664  df-qs 6668  df-map 6776  df-pm 6777  df-ixp 6820  df-en 6866  df-dom 6867  df-sdom 6868  df-fin 6869  df-fi 7167  df-sup 7196  df-oi 7227  df-card 7574  df-acn 7577  df-cda 7796  df-pnf 8871  df-mnf 8872  df-xr 8873  df-ltxr 8874  df-le 8875  df-sub 9041  df-neg 9042  df-div 9426  df-nn 9749  df-2 9806  df-3 9807  df-4 9808  df-5 9809  df-6 9810  df-7 9811  df-8 9812  df-9 9813  df-10 9814  df-n0 9968  df-z 10027  df-dec 10127  df-uz 10233  df-q 10319  df-rp 10357  df-xneg 10454  df-xadd 10455  df-xmul 10456  df-ioo 10662  df-ioc 10663  df-ico 10664  df-icc 10665  df-fz 10785  df-fzo 10873  df-fl 10927  df-mod 10976  df-seq 11049  df-exp 11107  df-fac 11291  df-bc 11318  df-hash 11340  df-word 11411  df-concat 11412  df-s1 11413  df-shft 11564  df-cj 11586  df-re 11587  df-im 11588  df-sqr 11722  df-abs 11723  df-limsup 11947  df-clim 11964  df-rlim 11965  df-o1 11966  df-lo1 11967  df-sum 12161  df-ef 12351  df-e 12352  df-sin 12353  df-cos 12354  df-tan 12355  df-pi 12356  df-dvds 12534  df-gcd 12688  df-prm 12761  df-numer 12808  df-denom 12809  df-phi 12836  df-pc 12892  df-struct 13152  df-ndx 13153  df-slot 13154  df-base 13155  df-sets 13156  df-ress 13157  df-plusg 13223  df-mulr 13224  df-starv 13225  df-sca 13226  df-vsca 13227  df-tset 13229  df-ple 13230  df-ds 13232  df-hom 13234  df-cco 13235  df-rest 13329  df-topn 13330  df-topgen 13346  df-pt 13347  df-prds 13350  df-xrs 13405  df-0g 13406  df-gsum 13407  df-qtop 13412  df-imas 13413  df-divs 13414  df-xps 13415  df-mre 13490  df-mrc 13491  df-acs 13493  df-mnd 14369  df-mhm 14417  df-submnd 14418  df-grp 14491  df-minusg 14492  df-sbg 14493  df-mulg 14494  df-subg 14620  df-nsg 14621  df-eqg 14622  df-ghm 14683  df-gim 14725  df-ga 14746  df-cntz 14795  df-oppg 14821  df-od 14846  df-gex 14847  df-pgp 14848  df-lsm 14949  df-pj1 14950  df-cmn 15093  df-abl 15094  df-cyg 15167  df-dprd 15235  df-dpj 15236  df-mgp 15328  df-rng 15342  df-cring 15343  df-ur 15344  df-oppr 15407  df-dvdsr 15425  df-unit 15426  df-invr 15456  df-dvr 15467  df-rnghom 15498  df-drng 15516  df-subrg 15545  df-lmod 15631  df-lss 15692  df-lsp 15731  df-sra 15927  df-rgmod 15928  df-lidl 15929  df-rsp 15930  df-2idl 15986  df-xmet 16375  df-met 16376  df-bl 16377  df-mopn 16378  df-cnfld 16380  df-zrh 16457  df-zn 16460  df-top 16638  df-bases 16640  df-topon 16641  df-topsp 16642  df-cld 16758  df-ntr 16759  df-cls 16760  df-nei 16837  df-lp 16870  df-perf 16871  df-cn 16959  df-cnp 16960  df-haus 17045  df-cmp 17116  df-tx 17259  df-hmeo 17448  df-fbas 17522  df-fg 17523  df-fil 17543  df-fm 17635  df-flim 17636  df-flf 17637  df-xms 17887  df-ms 17888  df-tms 17889  df-cncf 18384  df-0p 19027  df-limc 19218  df-dv 19219  df-ply 19572  df-idp 19573  df-coe 19574  df-dgr 19575  df-quot 19673  df-log 19916  df-cxp 19917  df-em 20289  df-cht 20336  df-vma 20337  df-chp 20338  df-ppi 20339  df-mu 20340  df-dchr 20474
  Copyright terms: Public domain W3C validator