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

Theorem pockthi 14425
Description: Pocklington's theorem, which gives a sufficient criterion for a number to be prime. This is the preferred method for verifying large primes, being much more efficient to compute than trial division. This form has been optimized for application to specific large primes; see pockthg 14424 for a more general closed-form version. (Contributed by Mario Carneiro, 2-Mar-2014.)
Hypotheses
Ref Expression
pockthi.p
pockthi.g
pockthi.m
pockthi.n
pockthi.d
pockthi.e
pockthi.a
pockthi.fac
pockthi.gt
pockthi.mod
pockthi.gcd
Assertion
Ref Expression
pockthi

Proof of Theorem pockthi
Dummy variables are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 pockthi.d . 2
2 pockthi.p . . . . . 6
3 prmnn 14220 . . . . . 6
42, 3ax-mp 5 . . . . 5
5 pockthi.e . . . . . 6
65nnnn0i 10828 . . . . 5
7 nnexpcl 12179 . . . . 5
84, 6, 7mp2an 672 . . . 4
98a1i 11 . . 3
10 id 22 . . 3
11 pockthi.gt . . . 4
1211a1i 11 . . 3
13 pockthi.n . . . . 5
14 pockthi.fac . . . . . . 7
151nncni 10571 . . . . . . . 8
168nncni 10571 . . . . . . . 8
1715, 16mulcomi 9623 . . . . . . 7
1814, 17eqtri 2486 . . . . . 6
1918oveq1i 6306 . . . . 5
2013, 19eqtri 2486 . . . 4
2120a1i 11 . . 3
22 prmdvdsexpb 14256 . . . . . . 7
232, 5, 22mp3an23 1316 . . . . . 6
2413eqcomi 2470 . . . . . . . . . . 11
25 pockthi.m . . . . . . . . . . . . . . . 16
26 pockthi.g . . . . . . . . . . . . . . . . 17
2726, 4nnmulcli 10585 . . . . . . . . . . . . . . . 16
2825, 27eqeltri 2541 . . . . . . . . . . . . . . 15
29 peano2nn 10573 . . . . . . . . . . . . . . 15
3028, 29ax-mp 5 . . . . . . . . . . . . . 14
3113, 30eqeltri 2541 . . . . . . . . . . . . 13
3231nncni 10571 . . . . . . . . . . . 12
33 ax-1cn 9571 . . . . . . . . . . . 12
3428nncni 10571 . . . . . . . . . . . 12
3532, 33, 34subadd2i 9931 . . . . . . . . . . 11
3624, 35mpbir 209 . . . . . . . . . 10
3736oveq2i 6307 . . . . . . . . 9
3837oveq1i 6306 . . . . . . . 8
39 pockthi.mod . . . . . . . . 9
4031nnrei 10570 . . . . . . . . . 10
4128nngt0i 10594 . . . . . . . . . . . 12
4228nnrei 10570 . . . . . . . . . . . . 13
43 1re 9616 . . . . . . . . . . . . 13
44 ltaddpos2 10068 . . . . . . . . . . . . 13
4542, 43, 44mp2an 672 . . . . . . . . . . . 12
4641, 45mpbi 208 . . . . . . . . . . 11
4746, 13breqtrri 4477 . . . . . . . . . 10
48 1mod 12028 . . . . . . . . . 10
4940, 47, 48mp2an 672 . . . . . . . . 9
5039, 49eqtri 2486 . . . . . . . 8
5138, 50eqtri 2486 . . . . . . 7
52 oveq2 6304 . . . . . . . . . . . 12
5326nncni 10571 . . . . . . . . . . . . . . 15
544nncni 10571 . . . . . . . . . . . . . . 15
5553, 54mulcomi 9623 . . . . . . . . . . . . . 14
5636, 25, 553eqtrri 2491 . . . . . . . . . . . . 13
5732, 33subcli 9918 . . . . . . . . . . . . . 14
584nnne0i 10595 . . . . . . . . . . . . . 14
5957, 54, 53, 58divmuli 10323 . . . . . . . . . . . . 13
6056, 59mpbir 209 . . . . . . . . . . . 12
6152, 60syl6eq 2514 . . . . . . . . . . 11
6261oveq2d 6312 . . . . . . . . . 10
6362oveq1d 6311 . . . . . . . . 9
6463oveq1d 6311 . . . . . . . 8
65 pockthi.gcd . . . . . . . 8
6664, 65syl6eq 2514 . . . . . . 7
67 pockthi.a . . . . . . . . 9
6867nnzi 10913 . . . . . . . 8
69 oveq1 6303 . . . . . . . . . . . 12
7069oveq1d 6311 . . . . . . . . . . 11
7170eqeq1d 2459 . . . . . . . . . 10
72 oveq1 6303 . . . . . . . . . . . . 13
7372oveq1d 6311 . . . . . . . . . . . 12
7473oveq1d 6311 . . . . . . . . . . 11
7574eqeq1d 2459 . . . . . . . . . 10
7671, 75anbi12d 710 . . . . . . . . 9
7776rspcev 3210 . . . . . . . 8
7868, 77mpan 670 . . . . . . 7
7951, 66, 78sylancr 663 . . . . . 6
8023, 79syl6bi 228 . . . . 5
8180rgen 2817 . . . 4
8281a1i 11 . . 3
839, 10, 12, 21, 82pockthg 14424 . 2
841, 83ax-mp 5 1
Colors of variables: wff setvar class
Syntax hints:  ->wi 4  <->wb 184  /\wa 369  =wceq 1395  e.wcel 1818  A.wral 2807  E.wrex 2808   class class class wbr 4452  (class class class)co 6296   cr 9512  0cc0 9513  1c1 9514   caddc 9516   cmul 9518   clt 9649   cmin 9828   cdiv 10231   cn 10561   cn0 10820   cz 10889   cmo 11996   cexp 12166   cdvds 13986   cgcd 14144   cprime 14217
This theorem is referenced by:  1259prm  14618  2503prm  14622  4001prm  14627
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1618  ax-4 1631  ax-5 1704  ax-6 1747  ax-7 1790  ax-8 1820  ax-9 1822  ax-10 1837  ax-11 1842  ax-12 1854  ax-13 1999  ax-ext 2435  ax-rep 4563  ax-sep 4573  ax-nul 4581  ax-pow 4630  ax-pr 4691  ax-un 6592  ax-cnex 9569  ax-resscn 9570  ax-1cn 9571  ax-icn 9572  ax-addcl 9573  ax-addrcl 9574  ax-mulcl 9575  ax-mulrcl 9576  ax-mulcom 9577  ax-addass 9578  ax-mulass 9579  ax-distr 9580  ax-i2m1 9581  ax-1ne0 9582  ax-1rid 9583  ax-rnegex 9584  ax-rrecex 9585  ax-cnre 9586  ax-pre-lttri 9587  ax-pre-lttrn 9588  ax-pre-ltadd 9589  ax-pre-mulgt0 9590  ax-pre-sup 9591
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1398  df-ex 1613  df-nf 1617  df-sb 1740  df-eu 2286  df-mo 2287  df-clab 2443  df-cleq 2449  df-clel 2452  df-nfc 2607  df-ne 2654  df-nel 2655  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3111  df-sbc 3328  df-csb 3435  df-dif 3478  df-un 3480  df-in 3482  df-ss 3489  df-pss 3491  df-nul 3785  df-if 3942  df-pw 4014  df-sn 4030  df-pr 4032  df-tp 4034  df-op 4036  df-uni 4250  df-int 4287  df-iun 4332  df-br 4453  df-opab 4511  df-mpt 4512  df-tr 4546  df-eprel 4796  df-id 4800  df-po 4805  df-so 4806  df-fr 4843  df-we 4845  df-ord 4886  df-on 4887  df-lim 4888  df-suc 4889  df-xp 5010  df-rel 5011  df-cnv 5012  df-co 5013  df-dm 5014  df-rn 5015  df-res 5016  df-ima 5017  df-iota 5556  df-fun 5595  df-fn 5596  df-f 5597  df-f1 5598  df-fo 5599  df-f1o 5600  df-fv 5601  df-riota 6257  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-om 6701  df-1st 6800  df-2nd 6801  df-recs 7061  df-rdg 7095  df-1o 7149  df-2o 7150  df-oadd 7153  df-er 7330  df-map 7441  df-en 7537  df-dom 7538  df-sdom 7539  df-fin 7540  df-sup 7921  df-card 8341  df-cda 8569  df-pnf 9651  df-mnf 9652  df-xr 9653  df-ltxr 9654  df-le 9655  df-sub 9830  df-neg 9831  df-div 10232  df-nn 10562  df-2 10619  df-3 10620  df-n0 10821  df-z 10890  df-uz 11111  df-q 11212  df-rp 11250  df-fz 11702  df-fzo 11825  df-fl 11929  df-mod 11997  df-seq 12108  df-exp 12167  df-hash 12406  df-cj 12932  df-re 12933  df-im 12934  df-sqrt 13068  df-abs 13069  df-dvds 13987  df-gcd 14145  df-prm 14218  df-odz 14295  df-phi 14296  df-pc 14361
  Copyright terms: Public domain W3C validator