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

Theorem dirith 27730
Description: Dirichlet's theorem: there are infinitely many primes in any arithmetic progression coprime to 𝑁. Theorem 9.4.1 of [Shapiro], p. 375. See https://metamath-blog.blogspot.com/2016/05/dirichlets-theorem.html for an informal exposition. This is Metamath 100 proof #48. (Contributed by Mario Carneiro, 12-May-2016.)
Assertion
Ref Expression
dirith ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → {𝑝 ∈ ℙ ∣ 𝑁 ∥ (𝑝𝐴)} ≈ ℕ)
Distinct variable groups:   𝐴,𝑝   𝑁,𝑝

Proof of Theorem dirith
StepHypRef Expression
1 simp1 1154 . . . . . . . 8 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → 𝑁 ∈ ℕ)
21nnnn0d 12583 . . . . . . 7 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → 𝑁 ∈ ℕ0)
32adantr 486 . . . . . 6 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → 𝑁 ∈ ℕ0)
4 eqid 2766 . . . . . . 7 (ℤ/nℤ‘𝑁) = (ℤ/nℤ‘𝑁)
5 eqid 2766 . . . . . . 7 (Base‘(ℤ/nℤ‘𝑁)) = (Base‘(ℤ/nℤ‘𝑁))
6 eqid 2766 . . . . . . 7 (ℤRHom‘(ℤ/nℤ‘𝑁)) = (ℤRHom‘(ℤ/nℤ‘𝑁))
74, 5, 6znzrhfo 21734 . . . . . 6 (𝑁 ∈ ℕ0 → (ℤRHom‘(ℤ/nℤ‘𝑁)):ℤ–onto→(Base‘(ℤ/nℤ‘𝑁)))
8 fofn 6801 . . . . . 6 ((ℤRHom‘(ℤ/nℤ‘𝑁)):ℤ–onto→(Base‘(ℤ/nℤ‘𝑁)) → (ℤRHom‘(ℤ/nℤ‘𝑁)) Fn ℤ)
93, 7, 83syl 19 . . . . 5 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → (ℤRHom‘(ℤ/nℤ‘𝑁)) Fn ℤ)
10 prmz 16758 . . . . . 6 (𝑝 ∈ ℙ → 𝑝 ∈ ℤ)
1110adantl 487 . . . . 5 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → 𝑝 ∈ ℤ)
12 fniniseg 7062 . . . . . 6 ((ℤRHom‘(ℤ/nℤ‘𝑁)) Fn ℤ → (𝑝 ∈ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)}) ↔ (𝑝 ∈ ℤ ∧ ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝑝) = ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴))))
1312baibd 549 . . . . 5 (((ℤRHom‘(ℤ/nℤ‘𝑁)) Fn ℤ ∧ 𝑝 ∈ ℤ) → (𝑝 ∈ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)}) ↔ ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝑝) = ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)))
149, 11, 13syl2anc 596 . . . 4 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → (𝑝 ∈ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)}) ↔ ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝑝) = ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)))
15 simp2 1155 . . . . . 6 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → 𝐴 ∈ ℤ)
1615adantr 486 . . . . 5 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → 𝐴 ∈ ℤ)
174, 6zndvds 21736 . . . . 5 ((𝑁 ∈ ℕ0𝑝 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝑝) = ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴) ↔ 𝑁 ∥ (𝑝𝐴)))
183, 11, 16, 17syl3anc 1398 . . . 4 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → (((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝑝) = ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴) ↔ 𝑁 ∥ (𝑝𝐴)))
1914, 18bitrd 282 . . 3 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → (𝑝 ∈ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)}) ↔ 𝑁 ∥ (𝑝𝐴)))
2019rabbi2dva 4181 . 2 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → (ℙ ∩ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)})) = {𝑝 ∈ ℙ ∣ 𝑁 ∥ (𝑝𝐴)})
21 eqid 2766 . . 3 (Unit‘(ℤ/nℤ‘𝑁)) = (Unit‘(ℤ/nℤ‘𝑁))
22 simp3 1156 . . . 4 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → (𝐴 gcd 𝑁) = 1)
234, 21, 6znunit 21750 . . . . 5 ((𝑁 ∈ ℕ0𝐴 ∈ ℤ) → (((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴) ∈ (Unit‘(ℤ/nℤ‘𝑁)) ↔ (𝐴 gcd 𝑁) = 1))
242, 15, 23syl2anc 596 . . . 4 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → (((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴) ∈ (Unit‘(ℤ/nℤ‘𝑁)) ↔ (𝐴 gcd 𝑁) = 1))
2522, 24mpbird 260 . . 3 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → ((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴) ∈ (Unit‘(ℤ/nℤ‘𝑁)))
26 eqid 2766 . . 3 ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)}) = ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)})
274, 6, 1, 21, 25, 26dirith2 27729 . 2 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → (ℙ ∩ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)})) ≈ ℕ)
2820, 27eqbrtrrd 5140 1 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → {𝑝 ∈ ℙ ∣ 𝑁 ∥ (𝑝𝐴)} ≈ ℕ)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  wcel 2146  {crab 3419  cin 3907  {csn 4594   class class class wbr 5114  ccnv 5665  cima 5669   Fn wfn 6538  ontowfo 6541  cfv 6543  (class class class)co 7423  cen 8949  1c1 11119  cmin 11459  cn 12251  0cn0 12522  cz 12609  cdvds 16335   gcd cgcd 16577  cprime 16754  Basecbs 17294  Unitcui 20470  ℤRHomczrh 21686  ℤ/nczn 21689
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2738  ax-rep 5243  ax-sep 5262  ax-nul 5274  ax-pow 5341  ax-pr 5409  ax-un 7745  ax-inf2 9620  ax-cnex 11174  ax-resscn 11175  ax-1cn 11176  ax-icn 11177  ax-addcl 11178  ax-addrcl 11179  ax-mulcl 11180  ax-mulrcl 11181  ax-mulcom 11182  ax-addass 11183  ax-mulass 11184  ax-distr 11185  ax-i2m1 11186  ax-1ne0 11187  ax-1rid 11188  ax-rnegex 11189  ax-rrecex 11190  ax-cnre 11191  ax-pre-lttri 11192  ax-pre-lttrn 11193  ax-pre-ltadd 11194  ax-pre-mulgt0 11195  ax-pre-sup 11196  ax-addf 11197  ax-mulf 11198
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2570  df-eu 2600  df-clab 2745  df-cleq 2758  df-clel 2841  df-nfc 2915  df-ne 2962  df-nel 3068  df-ral 3083  df-rex 3093  df-rmo 3372  df-reu 3373  df-rab 3420  df-v 3460  df-sbc 3748  df-csb 3857  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-pss 3928  df-nul 4290  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-tp 4599  df-op 4601  df-uni 4878  df-int 4918  df-iun 4963  df-iin 4964  df-disj 5082  df-br 5115  df-opab 5179  df-mpt 5198  df-tr 5224  df-id 5561  df-eprel 5566  df-po 5574  df-so 5575  df-fr 5619  df-se 5620  df-we 5621  df-xp 5672  df-rel 5673  df-cnv 5674  df-co 5675  df-dm 5676  df-rn 5677  df-res 5678  df-ima 5679  df-pred 6309  df-ord 6370  df-on 6371  df-lim 6372  df-suc 6373  df-iota 6499  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-isom 6552  df-riota 7380  df-ov 7426  df-oprab 7427  df-mpo 7428  df-of 7687  df-rpss 7733  df-om 7872  df-1st 7995  df-2nd 7996  df-supp 8166  df-tpos 8231  df-frecs 8287  df-wrecs 8318  df-recs 8367  df-rdg 8406  df-1o 8462  df-2o 8463  df-oadd 8466  df-omul 8467  df-er 8703  df-ec 8705  df-qs 8709  df-map 8835  df-pm 8836  df-ixp 8905  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-fsupp 9332  df-fi 9381  df-sup 9412  df-inf 9413  df-oi 9482  df-dju 9906  df-card 9944  df-acn 9947  df-pnf 11263  df-mnf 11264  df-xr 11265  df-ltxr 11266  df-le 11267  df-sub 11461  df-neg 11462  df-div 11890  df-nn 12252  df-2 12321  df-3 12322  df-4 12323  df-5 12324  df-6 12325  df-7 12326  df-8 12327  df-9 12328  df-n0 12523  df-xnn0 12596  df-z 12610  df-dec 12730  df-uz 12881  df-q 12991  df-rp 13035  df-xneg 13155  df-xadd 13156  df-xmul 13157  df-ioo 13394  df-ioc 13395  df-ico 13396  df-icc 13397  df-fz 13554  df-fzo 13702  df-fl 13845  df-mod 13923  df-seq 14058  df-exp 14118  df-fac 14330  df-bc 14359  df-hash 14387  df-word 14571  df-concat 14628  df-s1 14655  df-shft 15130  df-cj 15176  df-re 15177  df-im 15178  df-sqrt 15312  df-abs 15313  df-limsup 15548  df-clim 15565  df-rlim 15566  df-o1 15567  df-lo1 15568  df-sum 15764  df-ef 16146  df-e 16147  df-sin 16148  df-cos 16149  df-tan 16150  df-pi 16151  df-dvds 16336  df-gcd 16578  df-prm 16755  df-numer 16819  df-denom 16820  df-phi 16850  df-pc 16922  df-struct 17232  df-sets 17249  df-slot 17267  df-ndx 17279  df-base 17295  df-ress 17316  df-plusg 17348  df-mulr 17349  df-starv 17350  df-sca 17351  df-vsca 17352  df-ip 17353  df-tset 17354  df-ple 17355  df-ds 17357  df-unif 17358  df-hom 17359  df-cco 17360  df-rest 17500  df-topn 17501  df-0g 17519  df-gsum 17520  df-topgen 17521  df-pt 17522  df-prds 17525  df-xrs 17581  df-qtop 17586  df-imas 17587  df-qus 17588  df-xps 17589  df-mre 17663  df-mrc 17664  df-acs 17666  df-mgm 18723  df-sgrp 18806  df-mnd 18822  df-mhm 18872  df-submnd 18873  df-grp 19034  df-minusg 19035  df-sbg 19036  df-mulg 19165  df-subg 19220  df-nsg 19221  df-eqg 19222  df-ghm 19315  df-gim 19360  df-ga 19391  df-cntz 19418  df-oppg 19447  df-od 19629  df-gex 19630  df-pgp 19631  df-lsm 19737  df-pj1 19738  df-cmn 19883  df-abl 19884  df-cyg 19979  df-dprd 20098  df-dpj 20099  df-mgp 20248  df-rng 20262  df-ur 20295  df-ring 20348  df-cring 20349  df-oppr 20452  df-dvdsr 20472  df-unit 20473  df-invr 20503  df-dvr 20516  df-rhm 20587  df-subrng 20682  df-subrg 20706  df-drng 20866  df-lmod 21020  df-lss 21090  df-lsp 21130  df-sra 21331  df-rgmod 21332  df-lidl 21369  df-rsp 21370  df-2idl 21426  df-psmet 21551  df-xmet 21552  df-met 21553  df-bl 21554  df-mopn 21555  df-fbas 21556  df-fg 21557  df-cnfld 21560  df-zring 21634  df-zrh 21690  df-zn 21693  df-top 23088  df-topon 23105  df-topsp 23127  df-bases 23140  df-cld 23213  df-ntr 23214  df-cls 23215  df-nei 23292  df-lp 23330  df-perf 23331  df-cn 23421  df-cnp 23422  df-haus 23509  df-cmp 23581  df-tx 23756  df-hmeo 23949  df-fil 24040  df-fm 24132  df-flim 24133  df-flf 24134  df-xms 24514  df-ms 24515  df-tms 24516  df-cncf 25074  df-0p 25866  df-limc 26062  df-dv 26063  df-ply 26382  df-idp 26383  df-coe 26384  df-dgr 26385  df-quot 26489  df-ulm 26577  df-log 26758  df-cxp 26759  df-atan 27069  df-em 27194  df-cht 27298  df-vma 27299  df-chp 27300  df-ppi 27301  df-mu 27302  df-dchr 27434
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator