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

Theorem dirith 27773
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 12593 . . . . . . 7 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → 𝑁 ∈ ℕ0)
32adantr 486 . . . . . 6 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → 𝑁 ∈ ℕ0)
4 eqid 2762 . . . . . . 7 (ℤ/nℤ‘𝑁) = (ℤ/nℤ‘𝑁)
5 eqid 2762 . . . . . . 7 (Base‘(ℤ/nℤ‘𝑁)) = (Base‘(ℤ/nℤ‘𝑁))
6 eqid 2762 . . . . . . 7 (ℤRHom‘(ℤ/nℤ‘𝑁)) = (ℤRHom‘(ℤ/nℤ‘𝑁))
74, 5, 6znzrhfo 21766 . . . . . 6 (𝑁 ∈ ℕ0 → (ℤRHom‘(ℤ/nℤ‘𝑁)):ℤ–onto→(Base‘(ℤ/nℤ‘𝑁)))
8 fofn 6795 . . . . . 6 ((ℤRHom‘(ℤ/nℤ‘𝑁)):ℤ–onto→(Base‘(ℤ/nℤ‘𝑁)) → (ℤRHom‘(ℤ/nℤ‘𝑁)) Fn ℤ)
93, 7, 83syl 19 . . . . 5 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → (ℤRHom‘(ℤ/nℤ‘𝑁)) Fn ℤ)
10 prmz 16771 . . . . . 6 (𝑝 ∈ ℙ → 𝑝 ∈ ℤ)
1110adantl 487 . . . . 5 (((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) ∧ 𝑝 ∈ ℙ) → 𝑝 ∈ ℤ)
12 fniniseg 7056 . . . . . 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 21768 . . . . 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 4174 . 2 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → (ℙ ∩ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)})) = {𝑝 ∈ ℙ ∣ 𝑁 ∥ (𝑝𝐴)})
21 eqid 2762 . . 3 (Unit‘(ℤ/nℤ‘𝑁)) = (Unit‘(ℤ/nℤ‘𝑁))
22 simp3 1156 . . . 4 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → (𝐴 gcd 𝑁) = 1)
234, 21, 6znunit 21782 . . . . 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 2762 . . 3 ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)}) = ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)})
274, 6, 1, 21, 25, 26dirith2 27772 . 2 ((𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1) → (ℙ ∩ ((ℤRHom‘(ℤ/nℤ‘𝑁)) “ {((ℤRHom‘(ℤ/nℤ‘𝑁))‘𝐴)})) ≈ ℕ)
2820, 27eqbrtrrd 5133 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 2145  {crab 3414  cin 3901  {csn 4587   class class class wbr 5107  ccnv 5658  cima 5662   Fn wfn 6532  ontowfo 6535  cfv 6537  (class class class)co 7417  cen 8953  1c1 11129  cmin 11469  cn 12261  0cn0 12532  cz 12619  cdvds 16348   gcd cgcd 16590  cprime 16767  Basecbs 17307  Unitcui 20502  ℤRHomczrh 21718  ℤ/nczn 21721
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 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pow 5334  ax-pr 5402  ax-un 7740  ax-inf2 9624  ax-cnex 11184  ax-resscn 11185  ax-1cn 11186  ax-icn 11187  ax-addcl 11188  ax-addrcl 11189  ax-mulcl 11190  ax-mulrcl 11191  ax-mulcom 11192  ax-addass 11193  ax-mulass 11194  ax-distr 11195  ax-i2m1 11196  ax-1ne0 11197  ax-1rid 11198  ax-rnegex 11199  ax-rrecex 11200  ax-cnre 11201  ax-pre-lttri 11202  ax-pre-lttrn 11203  ax-pre-ltadd 11204  ax-pre-mulgt0 11205  ax-pre-sup 11206  ax-addf 11207  ax-mulf 11208
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 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3064  df-ral 3079  df-rex 3089  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-tp 4592  df-op 4594  df-uni 4871  df-int 4911  df-iun 4956  df-iin 4957  df-disj 5075  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-se 5613  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-isom 6546  df-riota 7374  df-ov 7420  df-oprab 7421  df-mpo 7422  df-of 7682  df-rpss 7728  df-om 7867  df-1st 7990  df-2nd 7991  df-supp 8163  df-tpos 8228  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-2o 8460  df-oadd 8463  df-omul 8464  df-er 8700  df-ec 8702  df-qs 8706  df-map 8832  df-pm 8833  df-ixp 8909  df-en 8957  df-dom 8958  df-sdom 8959  df-fin 8960  df-fsupp 9336  df-fi 9385  df-sup 9416  df-inf 9417  df-oi 9486  df-dju 9910  df-card 9948  df-acn 9951  df-pnf 11273  df-mnf 11274  df-xr 11275  df-ltxr 11276  df-le 11277  df-sub 11471  df-neg 11472  df-div 11900  df-nn 12262  df-2 12331  df-3 12332  df-4 12333  df-5 12334  df-6 12335  df-7 12336  df-8 12337  df-9 12338  df-n0 12533  df-xnn0 12606  df-z 12620  df-dec 12741  df-uz 12892  df-q 13002  df-rp 13047  df-xneg 13167  df-xadd 13168  df-xmul 13169  df-ioo 13406  df-ioc 13407  df-ico 13408  df-icc 13409  df-fz 13566  df-fzo 13714  df-fl 13857  df-mod 13935  df-seq 14070  df-exp 14130  df-fac 14342  df-bc 14371  df-hash 14399  df-word 14583  df-concat 14640  df-s1 14667  df-shft 15144  df-cj 15190  df-re 15191  df-im 15192  df-sqrt 15326  df-abs 15327  df-limsup 15562  df-clim 15579  df-rlim 15580  df-o1 15581  df-lo1 15582  df-sum 15778  df-ef 16159  df-e 16160  df-sin 16161  df-cos 16162  df-tan 16163  df-pi 16164  df-dvds 16349  df-gcd 16591  df-prm 16768  df-numer 16832  df-denom 16833  df-phi 16863  df-pc 16935  df-struct 17245  df-sets 17262  df-slot 17280  df-ndx 17292  df-base 17308  df-ress 17329  df-plusg 17361  df-mulr 17362  df-starv 17363  df-sca 17364  df-vsca 17365  df-ip 17366  df-tset 17367  df-ple 17368  df-ds 17370  df-unif 17371  df-hom 17372  df-cco 17373  df-rest 17513  df-topn 17514  df-0g 17532  df-gsum 17533  df-topgen 17534  df-pt 17535  df-prds 17538  df-xrs 17594  df-qtop 17599  df-imas 17600  df-qus 17601  df-xps 17602  df-mre 17676  df-mrc 17677  df-acs 17679  df-mgm 18736  df-sgrp 18827  df-mnd 18843  df-mhm 18897  df-submnd 18898  df-grp 19066  df-minusg 19067  df-sbg 19068  df-mulg 19197  df-subg 19252  df-nsg 19253  df-eqg 19254  df-ghm 19347  df-gim 19392  df-ga 19423  df-cntz 19450  df-oppg 19479  df-od 19661  df-gex 19662  df-pgp 19663  df-lsm 19769  df-pj1 19770  df-cmn 19915  df-abl 19916  df-cyg 20011  df-dprd 20130  df-dpj 20131  df-mgp 20280  df-rng 20294  df-ur 20327  df-ring 20380  df-cring 20381  df-oppr 20484  df-dvdsr 20504  df-unit 20505  df-invr 20535  df-dvr 20548  df-rhm 20619  df-subrng 20714  df-subrg 20738  df-drng 20898  df-lmod 21052  df-lss 21122  df-lsp 21162  df-sra 21363  df-rgmod 21364  df-lidl 21401  df-rsp 21402  df-2idl 21458  df-psmet 21583  df-xmet 21584  df-met 21585  df-bl 21586  df-mopn 21587  df-fbas 21588  df-fg 21589  df-cnfld 21592  df-zring 21666  df-zrh 21722  df-zn 21725  df-top 23125  df-topon 23142  df-topsp 23164  df-bases 23177  df-cld 23250  df-ntr 23251  df-cls 23252  df-nei 23329  df-lp 23367  df-perf 23368  df-cn 23458  df-cnp 23459  df-haus 23546  df-cmp 23618  df-tx 23794  df-hmeo 23987  df-fil 24078  df-fm 24170  df-flim 24171  df-flf 24172  df-xms 24552  df-ms 24553  df-tms 24554  df-cncf 25112  df-0p 25904  df-limc 26100  df-dv 26101  df-ply 26420  df-idp 26421  df-coe 26422  df-dgr 26423  df-quot 26528  df-ulm 26620  df-log 26801  df-cxp 26802  df-atan 27112  df-em 27237  df-cht 27341  df-vma 27342  df-chp 27343  df-ppi 27344  df-mu 27345  df-dchr 27477
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator