ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  pcz GIF version

Theorem pcz 12240
Description: The prime count function can be used as an indicator that a given rational number is an integer. (Contributed by Mario Carneiro, 23-Feb-2014.)
Assertion
Ref Expression
pcz (𝐴 ∈ ℚ → (𝐴 ∈ ℤ ↔ ∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴)))
Distinct variable group:   𝐴,𝑝

Proof of Theorem pcz
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 pcge0 12221 . . . 4 ((𝑝 ∈ ℙ ∧ 𝐴 ∈ ℤ) → 0 ≤ (𝑝 pCnt 𝐴))
21ancoms 266 . . 3 ((𝐴 ∈ ℤ ∧ 𝑝 ∈ ℙ) → 0 ≤ (𝑝 pCnt 𝐴))
32ralrimiva 2537 . 2 (𝐴 ∈ ℤ → ∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴))
4 elq 9551 . . 3 (𝐴 ∈ ℚ ↔ ∃𝑥 ∈ ℤ ∃𝑦 ∈ ℕ 𝐴 = (𝑥 / 𝑦))
5 nnz 9201 . . . . . . . . . . 11 (𝑦 ∈ ℕ → 𝑦 ∈ ℤ)
6 dvds0 11732 . . . . . . . . . . 11 (𝑦 ∈ ℤ → 𝑦 ∥ 0)
75, 6syl 14 . . . . . . . . . 10 (𝑦 ∈ ℕ → 𝑦 ∥ 0)
87ad2antlr 481 . . . . . . . . 9 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 = 0) → 𝑦 ∥ 0)
9 simpr 109 . . . . . . . . 9 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 = 0) → 𝑥 = 0)
108, 9breqtrrd 4004 . . . . . . . 8 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 = 0) → 𝑦𝑥)
1110a1d 22 . . . . . . 7 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 = 0) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) → 𝑦𝑥))
12 simpr 109 . . . . . . . . . . . . 13 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → 𝑝 ∈ ℙ)
13 simplll 523 . . . . . . . . . . . . 13 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → 𝑥 ∈ ℤ)
14 simplr 520 . . . . . . . . . . . . 13 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → 𝑥 ≠ 0)
15 simpllr 524 . . . . . . . . . . . . 13 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → 𝑦 ∈ ℕ)
16 pcdiv 12211 . . . . . . . . . . . . 13 ((𝑝 ∈ ℙ ∧ (𝑥 ∈ ℤ ∧ 𝑥 ≠ 0) ∧ 𝑦 ∈ ℕ) → (𝑝 pCnt (𝑥 / 𝑦)) = ((𝑝 pCnt 𝑥) − (𝑝 pCnt 𝑦)))
1712, 13, 14, 15, 16syl121anc 1232 . . . . . . . . . . . 12 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (𝑝 pCnt (𝑥 / 𝑦)) = ((𝑝 pCnt 𝑥) − (𝑝 pCnt 𝑦)))
1817breq2d 3988 . . . . . . . . . . 11 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) ↔ 0 ≤ ((𝑝 pCnt 𝑥) − (𝑝 pCnt 𝑦))))
19 pczcl 12207 . . . . . . . . . . . . . 14 ((𝑝 ∈ ℙ ∧ (𝑥 ∈ ℤ ∧ 𝑥 ≠ 0)) → (𝑝 pCnt 𝑥) ∈ ℕ0)
2012, 13, 14, 19syl12anc 1225 . . . . . . . . . . . . 13 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (𝑝 pCnt 𝑥) ∈ ℕ0)
2120nn0red 9159 . . . . . . . . . . . 12 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (𝑝 pCnt 𝑥) ∈ ℝ)
2212, 15pccld 12209 . . . . . . . . . . . . 13 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (𝑝 pCnt 𝑦) ∈ ℕ0)
2322nn0red 9159 . . . . . . . . . . . 12 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (𝑝 pCnt 𝑦) ∈ ℝ)
2421, 23subge0d 8424 . . . . . . . . . . 11 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (0 ≤ ((𝑝 pCnt 𝑥) − (𝑝 pCnt 𝑦)) ↔ (𝑝 pCnt 𝑦) ≤ (𝑝 pCnt 𝑥)))
2518, 24bitrd 187 . . . . . . . . . 10 ((((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) ∧ 𝑝 ∈ ℙ) → (0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) ↔ (𝑝 pCnt 𝑦) ≤ (𝑝 pCnt 𝑥)))
2625ralbidva 2460 . . . . . . . . 9 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) ↔ ∀𝑝 ∈ ℙ (𝑝 pCnt 𝑦) ≤ (𝑝 pCnt 𝑥)))
27 id 19 . . . . . . . . . . 11 (𝑥 ∈ ℤ → 𝑥 ∈ ℤ)
28 pc2dvds 12238 . . . . . . . . . . 11 ((𝑦 ∈ ℤ ∧ 𝑥 ∈ ℤ) → (𝑦𝑥 ↔ ∀𝑝 ∈ ℙ (𝑝 pCnt 𝑦) ≤ (𝑝 pCnt 𝑥)))
295, 27, 28syl2anr 288 . . . . . . . . . 10 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → (𝑦𝑥 ↔ ∀𝑝 ∈ ℙ (𝑝 pCnt 𝑦) ≤ (𝑝 pCnt 𝑥)))
3029adantr 274 . . . . . . . . 9 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) → (𝑦𝑥 ↔ ∀𝑝 ∈ ℙ (𝑝 pCnt 𝑦) ≤ (𝑝 pCnt 𝑥)))
3126, 30bitr4d 190 . . . . . . . 8 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) ↔ 𝑦𝑥))
3231biimpd 143 . . . . . . 7 (((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) ∧ 𝑥 ≠ 0) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) → 𝑦𝑥))
33 0zd 9194 . . . . . . . . 9 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → 0 ∈ ℤ)
34 zdceq 9257 . . . . . . . . 9 ((𝑥 ∈ ℤ ∧ 0 ∈ ℤ) → DECID 𝑥 = 0)
3533, 34syldan 280 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → DECID 𝑥 = 0)
36 dcne 2345 . . . . . . . 8 (DECID 𝑥 = 0 ↔ (𝑥 = 0 ∨ 𝑥 ≠ 0))
3735, 36sylib 121 . . . . . . 7 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → (𝑥 = 0 ∨ 𝑥 ≠ 0))
3811, 32, 37mpjaodan 788 . . . . . 6 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) → 𝑦𝑥))
39 nnne0 8876 . . . . . . 7 (𝑦 ∈ ℕ → 𝑦 ≠ 0)
40 simpl 108 . . . . . . 7 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → 𝑥 ∈ ℤ)
41 dvdsval2 11716 . . . . . . 7 ((𝑦 ∈ ℤ ∧ 𝑦 ≠ 0 ∧ 𝑥 ∈ ℤ) → (𝑦𝑥 ↔ (𝑥 / 𝑦) ∈ ℤ))
425, 39, 40, 41syl2an23an 1288 . . . . . 6 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → (𝑦𝑥 ↔ (𝑥 / 𝑦) ∈ ℤ))
4338, 42sylibd 148 . . . . 5 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) → (𝑥 / 𝑦) ∈ ℤ))
44 oveq2 5844 . . . . . . . 8 (𝐴 = (𝑥 / 𝑦) → (𝑝 pCnt 𝐴) = (𝑝 pCnt (𝑥 / 𝑦)))
4544breq2d 3988 . . . . . . 7 (𝐴 = (𝑥 / 𝑦) → (0 ≤ (𝑝 pCnt 𝐴) ↔ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦))))
4645ralbidv 2464 . . . . . 6 (𝐴 = (𝑥 / 𝑦) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴) ↔ ∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦))))
47 eleq1 2227 . . . . . 6 (𝐴 = (𝑥 / 𝑦) → (𝐴 ∈ ℤ ↔ (𝑥 / 𝑦) ∈ ℤ))
4846, 47imbi12d 233 . . . . 5 (𝐴 = (𝑥 / 𝑦) → ((∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴) → 𝐴 ∈ ℤ) ↔ (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt (𝑥 / 𝑦)) → (𝑥 / 𝑦) ∈ ℤ)))
4943, 48syl5ibrcom 156 . . . 4 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ) → (𝐴 = (𝑥 / 𝑦) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴) → 𝐴 ∈ ℤ)))
5049rexlimivv 2587 . . 3 (∃𝑥 ∈ ℤ ∃𝑦 ∈ ℕ 𝐴 = (𝑥 / 𝑦) → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴) → 𝐴 ∈ ℤ))
514, 50sylbi 120 . 2 (𝐴 ∈ ℚ → (∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴) → 𝐴 ∈ ℤ))
523, 51impbid2 142 1 (𝐴 ∈ ℚ → (𝐴 ∈ ℤ ↔ ∀𝑝 ∈ ℙ 0 ≤ (𝑝 pCnt 𝐴)))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 103  wb 104  wo 698  DECID wdc 824   = wceq 1342  wcel 2135  wne 2334  wral 2442  wrex 2443   class class class wbr 3976  (class class class)co 5836  0cc0 7744  cle 7925  cmin 8060   / cdiv 8559  cn 8848  0cn0 9105  cz 9182  cq 9548  cdvds 11713  cprime 12018   pCnt cpc 12193
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 604  ax-in2 605  ax-io 699  ax-5 1434  ax-7 1435  ax-gen 1436  ax-ie1 1480  ax-ie2 1481  ax-8 1491  ax-10 1492  ax-11 1493  ax-i12 1494  ax-bndl 1496  ax-4 1497  ax-17 1513  ax-i9 1517  ax-ial 1521  ax-i5r 1522  ax-13 2137  ax-14 2138  ax-ext 2146  ax-coll 4091  ax-sep 4094  ax-nul 4102  ax-pow 4147  ax-pr 4181  ax-un 4405  ax-setind 4508  ax-iinf 4559  ax-cnex 7835  ax-resscn 7836  ax-1cn 7837  ax-1re 7838  ax-icn 7839  ax-addcl 7840  ax-addrcl 7841  ax-mulcl 7842  ax-mulrcl 7843  ax-addcom 7844  ax-mulcom 7845  ax-addass 7846  ax-mulass 7847  ax-distr 7848  ax-i2m1 7849  ax-0lt1 7850  ax-1rid 7851  ax-0id 7852  ax-rnegex 7853  ax-precex 7854  ax-cnre 7855  ax-pre-ltirr 7856  ax-pre-ltwlin 7857  ax-pre-lttrn 7858  ax-pre-apti 7859  ax-pre-ltadd 7860  ax-pre-mulgt0 7861  ax-pre-mulext 7862  ax-arch 7863  ax-caucvg 7864
This theorem depends on definitions:  df-bi 116  df-stab 821  df-dc 825  df-3or 968  df-3an 969  df-tru 1345  df-fal 1348  df-nf 1448  df-sb 1750  df-eu 2016  df-mo 2017  df-clab 2151  df-cleq 2157  df-clel 2160  df-nfc 2295  df-ne 2335  df-nel 2430  df-ral 2447  df-rex 2448  df-reu 2449  df-rmo 2450  df-rab 2451  df-v 2723  df-sbc 2947  df-csb 3041  df-dif 3113  df-un 3115  df-in 3117  df-ss 3124  df-nul 3405  df-if 3516  df-pw 3555  df-sn 3576  df-pr 3577  df-op 3579  df-uni 3784  df-int 3819  df-iun 3862  df-br 3977  df-opab 4038  df-mpt 4039  df-tr 4075  df-id 4265  df-po 4268  df-iso 4269  df-iord 4338  df-on 4340  df-ilim 4341  df-suc 4343  df-iom 4562  df-xp 4604  df-rel 4605  df-cnv 4606  df-co 4607  df-dm 4608  df-rn 4609  df-res 4610  df-ima 4611  df-iota 5147  df-fun 5184  df-fn 5185  df-f 5186  df-f1 5187  df-fo 5188  df-f1o 5189  df-fv 5190  df-isom 5191  df-riota 5792  df-ov 5839  df-oprab 5840  df-mpo 5841  df-1st 6100  df-2nd 6101  df-recs 6264  df-frec 6350  df-1o 6375  df-2o 6376  df-er 6492  df-en 6698  df-sup 6940  df-inf 6941  df-pnf 7926  df-mnf 7927  df-xr 7928  df-ltxr 7929  df-le 7930  df-sub 8062  df-neg 8063  df-reap 8464  df-ap 8471  df-div 8560  df-inn 8849  df-2 8907  df-3 8908  df-4 8909  df-n0 9106  df-xnn0 9169  df-z 9183  df-uz 9458  df-q 9549  df-rp 9581  df-fz 9936  df-fzo 10068  df-fl 10195  df-mod 10248  df-seqfrec 10371  df-exp 10445  df-cj 10770  df-re 10771  df-im 10772  df-rsqrt 10926  df-abs 10927  df-dvds 11714  df-gcd 11861  df-prm 12019  df-pc 12194
This theorem is referenced by:  pcmptdvds  12252  qexpz  12259
  Copyright terms: Public domain W3C validator