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

Theorem dirith 21225
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 958 . . . . . . . 8  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  N  e.  NN )
21nnnn0d 10276 . . . . . . 7  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  N  e.  NN0 )
32adantr 453 . . . . . 6  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  ->  N  e.  NN0 )
4 eqid 2438 . . . . . . 7  |-  (ℤ/n `  N
)  =  (ℤ/n `  N
)
5 eqid 2438 . . . . . . 7  |-  ( Base `  (ℤ/n `  N ) )  =  ( Base `  (ℤ/n `  N
) )
6 eqid 2438 . . . . . . 7  |-  ( ZRHom `  (ℤ/n `  N ) )  =  ( ZRHom `  (ℤ/n `  N
) )
74, 5, 6znzrhfo 16830 . . . . . 6  |-  ( N  e.  NN0  ->  ( ZRHom `  (ℤ/n `  N ) ) : ZZ -onto-> ( Base `  (ℤ/n `  N
) ) )
8 fofn 5657 . . . . . 6  |-  ( ( ZRHom `  (ℤ/n `  N ) ) : ZZ -onto-> ( Base `  (ℤ/n `  N
) )  ->  ( ZRHom `  (ℤ/n `  N ) )  Fn  ZZ )
93, 7, 83syl 19 . . . . 5  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  -> 
( ZRHom `  (ℤ/n `  N
) )  Fn  ZZ )
10 prmz 13085 . . . . . 6  |-  ( p  e.  Prime  ->  p  e.  ZZ )
1110adantl 454 . . . . 5  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  ->  p  e.  ZZ )
12 fniniseg 5853 . . . . . 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 877 . . . . 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 644 . . . 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 959 . . . . . 6  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  A  e.  ZZ )
1615adantr 453 . . . . 5  |-  ( ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  /\  p  e.  Prime )  ->  A  e.  ZZ )
174, 6zndvds 16832 . . . . 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 1185 . . . 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 246 . . 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 3551 . 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 2438 . . 3  |-  (Unit `  (ℤ/n `  N ) )  =  (Unit `  (ℤ/n `  N ) )
22 simp3 960 . . . 4  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  ( A  gcd  N )  =  1 )
234, 21, 6znunit 16846 . . . . 5  |-  ( ( N  e.  NN0  /\  A  e.  ZZ )  ->  ( ( ( ZRHom `  (ℤ/n `  N ) ) `  A )  e.  (Unit `  (ℤ/n `  N ) )  <->  ( A  gcd  N )  =  1 ) )
242, 15, 23syl2anc 644 . . . 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 225 . . 3  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  (
( ZRHom `  (ℤ/n `  N
) ) `  A
)  e.  (Unit `  (ℤ/n `  N ) ) )
26 eqid 2438 . . 3  |-  ( `' ( ZRHom `  (ℤ/n `  N
) ) " {
( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )  =  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } )
274, 6, 1, 21, 25, 26dirith2 21224 . 2  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  ( A  gcd  N )  =  1 )  ->  ( Prime  i^i  ( `' ( ZRHom `  (ℤ/n `  N ) ) " { ( ( ZRHom `  (ℤ/n `  N ) ) `  A ) } ) )  ~~  NN )
2820, 27eqbrtrrd 4236 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 178    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726   {crab 2711    i^i cin 3321   {csn 3816   class class class wbr 4214   `'ccnv 4879   "cima 4883    Fn wfn 5451   -onto->wfo 5454   ` cfv 5456  (class class class)co 6083    ~~ cen 7108   1c1 8993    - cmin 9293   NNcn 10002   NN0cn0 10223   ZZcz 10284    || cdivides 12854    gcd cgcd 13008   Primecprime 13081   Basecbs 13471  Unitcui 15746   ZRHomczrh 16780  ℤ/nczn 16783
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2419  ax-rep 4322  ax-sep 4332  ax-nul 4340  ax-pow 4379  ax-pr 4405  ax-un 4703  ax-inf2 7598  ax-cnex 9048  ax-resscn 9049  ax-1cn 9050  ax-icn 9051  ax-addcl 9052  ax-addrcl 9053  ax-mulcl 9054  ax-mulrcl 9055  ax-mulcom 9056  ax-addass 9057  ax-mulass 9058  ax-distr 9059  ax-i2m1 9060  ax-1ne0 9061  ax-1rid 9062  ax-rnegex 9063  ax-rrecex 9064  ax-cnre 9065  ax-pre-lttri 9066  ax-pre-lttrn 9067  ax-pre-ltadd 9068  ax-pre-mulgt0 9069  ax-pre-sup 9070  ax-addf 9071  ax-mulf 9072
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-fal 1330  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2712  df-rex 2713  df-reu 2714  df-rmo 2715  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-pss 3338  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-tp 3824  df-op 3825  df-uni 4018  df-int 4053  df-iun 4097  df-iin 4098  df-disj 4185  df-br 4215  df-opab 4269  df-mpt 4270  df-tr 4305  df-eprel 4496  df-id 4500  df-po 4505  df-so 4506  df-fr 4543  df-se 4544  df-we 4545  df-ord 4586  df-on 4587  df-lim 4588  df-suc 4589  df-om 4848  df-xp 4886  df-rel 4887  df-cnv 4888  df-co 4889  df-dm 4890  df-rn 4891  df-res 4892  df-ima 4893  df-iota 5420  df-fun 5458  df-fn 5459  df-f 5460  df-f1 5461  df-fo 5462  df-f1o 5463  df-fv 5464  df-isom 5465  df-ov 6086  df-oprab 6087  df-mpt2 6088  df-of 6307  df-1st 6351  df-2nd 6352  df-tpos 6481  df-rpss 6524  df-riota 6551  df-recs 6635  df-rdg 6670  df-1o 6726  df-2o 6727  df-oadd 6730  df-omul 6731  df-er 6907  df-ec 6909  df-qs 6913  df-map 7022  df-pm 7023  df-ixp 7066  df-en 7112  df-dom 7113  df-sdom 7114  df-fin 7115  df-fi 7418  df-sup 7448  df-oi 7481  df-card 7828  df-acn 7831  df-cda 8050  df-pnf 9124  df-mnf 9125  df-xr 9126  df-ltxr 9127  df-le 9128  df-sub 9295  df-neg 9296  df-div 9680  df-nn 10003  df-2 10060  df-3 10061  df-4 10062  df-5 10063  df-6 10064  df-7 10065  df-8 10066  df-9 10067  df-10 10068  df-n0 10224  df-z 10285  df-dec 10385  df-uz 10491  df-q 10577  df-rp 10615  df-xneg 10712  df-xadd 10713  df-xmul 10714  df-ioo 10922  df-ioc 10923  df-ico 10924  df-icc 10925  df-fz 11046  df-fzo 11138  df-fl 11204  df-mod 11253  df-seq 11326  df-exp 11385  df-fac 11569  df-bc 11596  df-hash 11621  df-word 11725  df-concat 11726  df-s1 11727  df-shft 11884  df-cj 11906  df-re 11907  df-im 11908  df-sqr 12042  df-abs 12043  df-limsup 12267  df-clim 12284  df-rlim 12285  df-o1 12286  df-lo1 12287  df-sum 12482  df-ef 12672  df-e 12673  df-sin 12674  df-cos 12675  df-tan 12676  df-pi 12677  df-dvds 12855  df-gcd 13009  df-prm 13082  df-numer 13129  df-denom 13130  df-phi 13157  df-pc 13213  df-struct 13473  df-ndx 13474  df-slot 13475  df-base 13476  df-sets 13477  df-ress 13478  df-plusg 13544  df-mulr 13545  df-starv 13546  df-sca 13547  df-vsca 13548  df-tset 13550  df-ple 13551  df-ds 13553  df-unif 13554  df-hom 13555  df-cco 13556  df-rest 13652  df-topn 13653  df-topgen 13669  df-pt 13670  df-prds 13673  df-xrs 13728  df-0g 13729  df-gsum 13730  df-qtop 13735  df-imas 13736  df-divs 13737  df-xps 13738  df-mre 13813  df-mrc 13814  df-acs 13816  df-mnd 14692  df-mhm 14740  df-submnd 14741  df-grp 14814  df-minusg 14815  df-sbg 14816  df-mulg 14817  df-subg 14943  df-nsg 14944  df-eqg 14945  df-ghm 15006  df-gim 15048  df-ga 15069  df-cntz 15118  df-oppg 15144  df-od 15169  df-gex 15170  df-pgp 15171  df-lsm 15272  df-pj1 15273  df-cmn 15416  df-abl 15417  df-cyg 15490  df-dprd 15558  df-dpj 15559  df-mgp 15651  df-rng 15665  df-cring 15666  df-ur 15667  df-oppr 15730  df-dvdsr 15748  df-unit 15749  df-invr 15779  df-dvr 15790  df-rnghom 15821  df-drng 15839  df-subrg 15868  df-lmod 15954  df-lss 16011  df-lsp 16050  df-sra 16246  df-rgmod 16247  df-lidl 16248  df-rsp 16249  df-2idl 16305  df-psmet 16696  df-xmet 16697  df-met 16698  df-bl 16699  df-mopn 16700  df-fbas 16701  df-fg 16702  df-cnfld 16706  df-zrh 16784  df-zn 16787  df-top 16965  df-bases 16967  df-topon 16968  df-topsp 16969  df-cld 17085  df-ntr 17086  df-cls 17087  df-nei 17164  df-lp 17202  df-perf 17203  df-cn 17293  df-cnp 17294  df-haus 17381  df-cmp 17452  df-tx 17596  df-hmeo 17789  df-fil 17880  df-fm 17972  df-flim 17973  df-flf 17974  df-xms 18352  df-ms 18353  df-tms 18354  df-cncf 18910  df-0p 19564  df-limc 19755  df-dv 19756  df-ply 20109  df-idp 20110  df-coe 20111  df-dgr 20112  df-quot 20210  df-log 20456  df-cxp 20457  df-em 20833  df-cht 20881  df-vma 20882  df-chp 20883  df-ppi 20884  df-mu 20885  df-dchr 21019
  Copyright terms: Public domain W3C validator