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

Theorem prmfac1 16058
Description: The factorial of a number only contains primes less than the base. (Contributed by Mario Carneiro, 6-Mar-2014.)
Assertion
Ref Expression
prmfac1 ((𝑁 ∈ ℕ0𝑃 ∈ ℙ ∧ 𝑃 ∥ (!‘𝑁)) → 𝑃𝑁)

Proof of Theorem prmfac1
Dummy variables 𝑥 𝑘 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fveq2 6669 . . . . . 6 (𝑥 = 0 → (!‘𝑥) = (!‘0))
21breq2d 5075 . . . . 5 (𝑥 = 0 → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘0)))
3 breq2 5067 . . . . 5 (𝑥 = 0 → (𝑃𝑥𝑃 ≤ 0))
42, 3imbi12d 346 . . . 4 (𝑥 = 0 → ((𝑃 ∥ (!‘𝑥) → 𝑃𝑥) ↔ (𝑃 ∥ (!‘0) → 𝑃 ≤ 0)))
54imbi2d 342 . . 3 (𝑥 = 0 → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘0) → 𝑃 ≤ 0))))
6 fveq2 6669 . . . . . 6 (𝑥 = 𝑘 → (!‘𝑥) = (!‘𝑘))
76breq2d 5075 . . . . 5 (𝑥 = 𝑘 → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘𝑘)))
8 breq2 5067 . . . . 5 (𝑥 = 𝑘 → (𝑃𝑥𝑃𝑘))
97, 8imbi12d 346 . . . 4 (𝑥 = 𝑘 → ((𝑃 ∥ (!‘𝑥) → 𝑃𝑥) ↔ (𝑃 ∥ (!‘𝑘) → 𝑃𝑘)))
109imbi2d 342 . . 3 (𝑥 = 𝑘 → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑘) → 𝑃𝑘))))
11 fveq2 6669 . . . . . 6 (𝑥 = (𝑘 + 1) → (!‘𝑥) = (!‘(𝑘 + 1)))
1211breq2d 5075 . . . . 5 (𝑥 = (𝑘 + 1) → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘(𝑘 + 1))))
13 breq2 5067 . . . . 5 (𝑥 = (𝑘 + 1) → (𝑃𝑥𝑃 ≤ (𝑘 + 1)))
1412, 13imbi12d 346 . . . 4 (𝑥 = (𝑘 + 1) → ((𝑃 ∥ (!‘𝑥) → 𝑃𝑥) ↔ (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1))))
1514imbi2d 342 . . 3 (𝑥 = (𝑘 + 1) → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1)))))
16 fveq2 6669 . . . . . 6 (𝑥 = 𝑁 → (!‘𝑥) = (!‘𝑁))
1716breq2d 5075 . . . . 5 (𝑥 = 𝑁 → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘𝑁)))
18 breq2 5067 . . . . 5 (𝑥 = 𝑁 → (𝑃𝑥𝑃𝑁))
1917, 18imbi12d 346 . . . 4 (𝑥 = 𝑁 → ((𝑃 ∥ (!‘𝑥) → 𝑃𝑥) ↔ (𝑃 ∥ (!‘𝑁) → 𝑃𝑁)))
2019imbi2d 342 . . 3 (𝑥 = 𝑁 → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑁) → 𝑃𝑁))))
21 fac0 13631 . . . . 5 (!‘0) = 1
2221breq2i 5071 . . . 4 (𝑃 ∥ (!‘0) ↔ 𝑃 ∥ 1)
23 nprmdvds1 16045 . . . . 5 (𝑃 ∈ ℙ → ¬ 𝑃 ∥ 1)
2423pm2.21d 121 . . . 4 (𝑃 ∈ ℙ → (𝑃 ∥ 1 → 𝑃 ≤ 0))
2522, 24syl5bi 243 . . 3 (𝑃 ∈ ℙ → (𝑃 ∥ (!‘0) → 𝑃 ≤ 0))
26 facp1 13633 . . . . . . . . . 10 (𝑘 ∈ ℕ0 → (!‘(𝑘 + 1)) = ((!‘𝑘) · (𝑘 + 1)))
2726adantr 481 . . . . . . . . 9 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (!‘(𝑘 + 1)) = ((!‘𝑘) · (𝑘 + 1)))
2827breq2d 5075 . . . . . . . 8 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃 ∥ (!‘(𝑘 + 1)) ↔ 𝑃 ∥ ((!‘𝑘) · (𝑘 + 1))))
29 simpr 485 . . . . . . . . 9 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → 𝑃 ∈ ℙ)
30 faccl 13638 . . . . . . . . . . 11 (𝑘 ∈ ℕ0 → (!‘𝑘) ∈ ℕ)
3130adantr 481 . . . . . . . . . 10 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (!‘𝑘) ∈ ℕ)
3231nnzd 12080 . . . . . . . . 9 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (!‘𝑘) ∈ ℤ)
33 nn0p1nn 11930 . . . . . . . . . . 11 (𝑘 ∈ ℕ0 → (𝑘 + 1) ∈ ℕ)
3433adantr 481 . . . . . . . . . 10 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑘 + 1) ∈ ℕ)
3534nnzd 12080 . . . . . . . . 9 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑘 + 1) ∈ ℤ)
36 euclemma 16052 . . . . . . . . 9 ((𝑃 ∈ ℙ ∧ (!‘𝑘) ∈ ℤ ∧ (𝑘 + 1) ∈ ℤ) → (𝑃 ∥ ((!‘𝑘) · (𝑘 + 1)) ↔ (𝑃 ∥ (!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1))))
3729, 32, 35, 36syl3anc 1365 . . . . . . . 8 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃 ∥ ((!‘𝑘) · (𝑘 + 1)) ↔ (𝑃 ∥ (!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1))))
3828, 37bitrd 280 . . . . . . 7 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃 ∥ (!‘(𝑘 + 1)) ↔ (𝑃 ∥ (!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1))))
39 nn0re 11900 . . . . . . . . . . . . 13 (𝑘 ∈ ℕ0𝑘 ∈ ℝ)
4039adantr 481 . . . . . . . . . . . 12 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → 𝑘 ∈ ℝ)
4140lep1d 11565 . . . . . . . . . . 11 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → 𝑘 ≤ (𝑘 + 1))
42 prmz 16014 . . . . . . . . . . . . . 14 (𝑃 ∈ ℙ → 𝑃 ∈ ℤ)
4342adantl 482 . . . . . . . . . . . . 13 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → 𝑃 ∈ ℤ)
4443zred 12081 . . . . . . . . . . . 12 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → 𝑃 ∈ ℝ)
4534nnred 11647 . . . . . . . . . . . 12 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑘 + 1) ∈ ℝ)
46 letr 10728 . . . . . . . . . . . 12 ((𝑃 ∈ ℝ ∧ 𝑘 ∈ ℝ ∧ (𝑘 + 1) ∈ ℝ) → ((𝑃𝑘𝑘 ≤ (𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1)))
4744, 40, 45, 46syl3anc 1365 . . . . . . . . . . 11 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → ((𝑃𝑘𝑘 ≤ (𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1)))
4841, 47mpan2d 690 . . . . . . . . . 10 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃𝑘𝑃 ≤ (𝑘 + 1)))
4948imim2d 57 . . . . . . . . 9 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → ((𝑃 ∥ (!‘𝑘) → 𝑃𝑘) → (𝑃 ∥ (!‘𝑘) → 𝑃 ≤ (𝑘 + 1))))
5049com23 86 . . . . . . . 8 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃 ∥ (!‘𝑘) → ((𝑃 ∥ (!‘𝑘) → 𝑃𝑘) → 𝑃 ≤ (𝑘 + 1))))
51 dvdsle 15655 . . . . . . . . . 10 ((𝑃 ∈ ℤ ∧ (𝑘 + 1) ∈ ℕ) → (𝑃 ∥ (𝑘 + 1) → 𝑃 ≤ (𝑘 + 1)))
5243, 34, 51syl2anc 584 . . . . . . . . 9 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃 ∥ (𝑘 + 1) → 𝑃 ≤ (𝑘 + 1)))
5352a1dd 50 . . . . . . . 8 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃 ∥ (𝑘 + 1) → ((𝑃 ∥ (!‘𝑘) → 𝑃𝑘) → 𝑃 ≤ (𝑘 + 1))))
5450, 53jaod 855 . . . . . . 7 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → ((𝑃 ∥ (!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1)) → ((𝑃 ∥ (!‘𝑘) → 𝑃𝑘) → 𝑃 ≤ (𝑘 + 1))))
5538, 54sylbid 241 . . . . . 6 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → (𝑃 ∥ (!‘(𝑘 + 1)) → ((𝑃 ∥ (!‘𝑘) → 𝑃𝑘) → 𝑃 ≤ (𝑘 + 1))))
5655com23 86 . . . . 5 ((𝑘 ∈ ℕ0𝑃 ∈ ℙ) → ((𝑃 ∥ (!‘𝑘) → 𝑃𝑘) → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1))))
5756ex 413 . . . 4 (𝑘 ∈ ℕ0 → (𝑃 ∈ ℙ → ((𝑃 ∥ (!‘𝑘) → 𝑃𝑘) → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1)))))
5857a2d 29 . . 3 (𝑘 ∈ ℕ0 → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑘) → 𝑃𝑘)) → (𝑃 ∈ ℙ → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1)))))
595, 10, 15, 20, 25, 58nn0ind 12071 . 2 (𝑁 ∈ ℕ0 → (𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑁) → 𝑃𝑁)))
60593imp 1105 1 ((𝑁 ∈ ℕ0𝑃 ∈ ℙ ∧ 𝑃 ∥ (!‘𝑁)) → 𝑃𝑁)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  wo 843  w3a 1081   = wceq 1530  wcel 2107   class class class wbr 5063  cfv 6354  (class class class)co 7150  cr 10530  0cc0 10531  1c1 10532   + caddc 10534   · cmul 10536  cle 10670  cn 11632  0cn0 11891  cz 11975  !cfa 13628  cdvds 15602  cprime 16010
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1904  ax-6 1963  ax-7 2008  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2153  ax-12 2169  ax-ext 2798  ax-sep 5200  ax-nul 5207  ax-pow 5263  ax-pr 5326  ax-un 7455  ax-cnex 10587  ax-resscn 10588  ax-1cn 10589  ax-icn 10590  ax-addcl 10591  ax-addrcl 10592  ax-mulcl 10593  ax-mulrcl 10594  ax-mulcom 10595  ax-addass 10596  ax-mulass 10597  ax-distr 10598  ax-i2m1 10599  ax-1ne0 10600  ax-1rid 10601  ax-rnegex 10602  ax-rrecex 10603  ax-cnre 10604  ax-pre-lttri 10605  ax-pre-lttrn 10606  ax-pre-ltadd 10607  ax-pre-mulgt0 10608  ax-pre-sup 10609
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 844  df-3or 1082  df-3an 1083  df-tru 1533  df-ex 1774  df-nf 1778  df-sb 2063  df-mo 2620  df-eu 2652  df-clab 2805  df-cleq 2819  df-clel 2898  df-nfc 2968  df-ne 3022  df-nel 3129  df-ral 3148  df-rex 3149  df-reu 3150  df-rmo 3151  df-rab 3152  df-v 3502  df-sbc 3777  df-csb 3888  df-dif 3943  df-un 3945  df-in 3947  df-ss 3956  df-pss 3958  df-nul 4296  df-if 4471  df-pw 4544  df-sn 4565  df-pr 4567  df-tp 4569  df-op 4571  df-uni 4838  df-iun 4919  df-br 5064  df-opab 5126  df-mpt 5144  df-tr 5170  df-id 5459  df-eprel 5464  df-po 5473  df-so 5474  df-fr 5513  df-we 5515  df-xp 5560  df-rel 5561  df-cnv 5562  df-co 5563  df-dm 5564  df-rn 5565  df-res 5566  df-ima 5567  df-pred 6147  df-ord 6193  df-on 6194  df-lim 6195  df-suc 6196  df-iota 6313  df-fun 6356  df-fn 6357  df-f 6358  df-f1 6359  df-fo 6360  df-f1o 6361  df-fv 6362  df-riota 7108  df-ov 7153  df-oprab 7154  df-mpo 7155  df-om 7574  df-2nd 7686  df-wrecs 7943  df-recs 8004  df-rdg 8042  df-1o 8098  df-2o 8099  df-er 8284  df-en 8504  df-dom 8505  df-sdom 8506  df-fin 8507  df-sup 8900  df-inf 8901  df-pnf 10671  df-mnf 10672  df-xr 10673  df-ltxr 10674  df-le 10675  df-sub 10866  df-neg 10867  df-div 11292  df-nn 11633  df-2 11694  df-3 11695  df-n0 11892  df-z 11976  df-uz 12238  df-rp 12385  df-fl 13157  df-mod 13233  df-seq 13365  df-exp 13425  df-fac 13629  df-cj 14453  df-re 14454  df-im 14455  df-sqrt 14589  df-abs 14590  df-dvds 15603  df-gcd 15839  df-prm 16011
This theorem is referenced by:  prmndvdsfaclt  16062  chtublem  25720  bposlem3  25795
  Copyright terms: Public domain W3C validator