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

Theorem isprm3 13771
Description: The predicate "is a prime number". A prime number is an integer greater than or equal to 2 with no divisors strictly between 1 and itself. (Contributed by Paul Chapman, 26-Oct-2012.)
Assertion
Ref Expression
isprm3  |-  ( P  e.  Prime  <->  ( P  e.  ( ZZ>= `  2 )  /\  A. z  e.  ( 2 ... ( P  -  1 ) )  -.  z  ||  P
) )
Distinct variable group:    z, P

Proof of Theorem isprm3
StepHypRef Expression
1 isprm2 13770 . 2  |-  ( P  e.  Prime  <->  ( P  e.  ( ZZ>= `  2 )  /\  A. z  e.  NN  ( z  ||  P  ->  ( z  =  1  \/  z  =  P ) ) ) )
2 iman 424 . . . . . . 7  |-  ( ( z  e.  NN  ->  ( z  =  1  \/  z  =  P ) )  <->  -.  ( z  e.  NN  /\  -.  (
z  =  1  \/  z  =  P ) ) )
3 2nn 10478 . . . . . . . . . . . . . . . . . . 19  |-  2  e.  NN
4 elnnuz 10896 . . . . . . . . . . . . . . . . . . 19  |-  ( 2  e.  NN  <->  2  e.  ( ZZ>= `  1 )
)
53, 4mpbi 208 . . . . . . . . . . . . . . . . . 18  |-  2  e.  ( ZZ>= `  1 )
6 uztrn 10876 . . . . . . . . . . . . . . . . . 18  |-  ( ( P  e.  ( ZZ>= ` 
2 )  /\  2  e.  ( ZZ>= `  1 )
)  ->  P  e.  ( ZZ>= `  1 )
)
75, 6mpan2 671 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  ( ZZ>= `  2
)  ->  P  e.  ( ZZ>= `  1 )
)
8 elnnuz 10896 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  NN  <->  P  e.  ( ZZ>= `  1 )
)
97, 8sylibr 212 . . . . . . . . . . . . . . . 16  |-  ( P  e.  ( ZZ>= `  2
)  ->  P  e.  NN )
10 nnz 10667 . . . . . . . . . . . . . . . . . 18  |-  ( z  e.  NN  ->  z  e.  ZZ )
11 dvdsle 13577 . . . . . . . . . . . . . . . . . 18  |-  ( ( z  e.  ZZ  /\  P  e.  NN )  ->  ( z  ||  P  ->  z  <_  P )
)
1210, 11sylan 471 . . . . . . . . . . . . . . . . 17  |-  ( ( z  e.  NN  /\  P  e.  NN )  ->  ( z  ||  P  ->  z  <_  P )
)
13 nnge1 10347 . . . . . . . . . . . . . . . . . 18  |-  ( z  e.  NN  ->  1  <_  z )
1413adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( z  e.  NN  /\  P  e.  NN )  ->  1  <_  z )
1512, 14jctild 543 . . . . . . . . . . . . . . . 16  |-  ( ( z  e.  NN  /\  P  e.  NN )  ->  ( z  ||  P  ->  ( 1  <_  z  /\  z  <_  P ) ) )
169, 15sylan2 474 . . . . . . . . . . . . . . 15  |-  ( ( z  e.  NN  /\  P  e.  ( ZZ>= ` 
2 ) )  -> 
( z  ||  P  ->  ( 1  <_  z  /\  z  <_  P ) ) )
17 zre 10649 . . . . . . . . . . . . . . . . . 18  |-  ( z  e.  ZZ  ->  z  e.  RR )
18 nnre 10328 . . . . . . . . . . . . . . . . . 18  |-  ( P  e.  NN  ->  P  e.  RR )
19 1re 9384 . . . . . . . . . . . . . . . . . . . . . 22  |-  1  e.  RR
20 leltne 9463 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( 1  e.  RR  /\  z  e.  RR  /\  1  <_  z )  ->  (
1  <  z  <->  z  =/=  1 ) )
2119, 20mp3an1 1301 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( z  e.  RR  /\  1  <_  z )  -> 
( 1  <  z  <->  z  =/=  1 ) )
22213adant2 1007 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( z  e.  RR  /\  P  e.  RR  /\  1  <_  z )  ->  (
1  <  z  <->  z  =/=  1 ) )
23223expia 1189 . . . . . . . . . . . . . . . . . . 19  |-  ( ( z  e.  RR  /\  P  e.  RR )  ->  ( 1  <_  z  ->  ( 1  <  z  <->  z  =/=  1 ) ) )
24 leltne 9463 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( z  e.  RR  /\  P  e.  RR  /\  z  <_  P )  ->  (
z  <  P  <->  P  =/=  z ) )
25243expia 1189 . . . . . . . . . . . . . . . . . . 19  |-  ( ( z  e.  RR  /\  P  e.  RR )  ->  ( z  <_  P  ->  ( z  <  P  <->  P  =/=  z ) ) )
2623, 25anim12d 563 . . . . . . . . . . . . . . . . . 18  |-  ( ( z  e.  RR  /\  P  e.  RR )  ->  ( ( 1  <_ 
z  /\  z  <_  P )  ->  ( (
1  <  z  <->  z  =/=  1 )  /\  (
z  <  P  <->  P  =/=  z ) ) ) )
2717, 18, 26syl2an 477 . . . . . . . . . . . . . . . . 17  |-  ( ( z  e.  ZZ  /\  P  e.  NN )  ->  ( ( 1  <_ 
z  /\  z  <_  P )  ->  ( (
1  <  z  <->  z  =/=  1 )  /\  (
z  <  P  <->  P  =/=  z ) ) ) )
28 pm4.38 867 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( 1  <  z  <->  z  =/=  1 )  /\  ( z  <  P  <->  P  =/=  z ) )  ->  ( ( 1  <  z  /\  z  <  P )  <->  ( z  =/=  1  /\  P  =/=  z ) ) )
29 df-ne 2607 . . . . . . . . . . . . . . . . . . . 20  |-  ( z  =/=  1  <->  -.  z  =  1 )
30 nesym 2646 . . . . . . . . . . . . . . . . . . . 20  |-  ( P  =/=  z  <->  -.  z  =  P )
3129, 30anbi12i 697 . . . . . . . . . . . . . . . . . . 19  |-  ( ( z  =/=  1  /\  P  =/=  z )  <-> 
( -.  z  =  1  /\  -.  z  =  P ) )
32 ioran 490 . . . . . . . . . . . . . . . . . . 19  |-  ( -.  ( z  =  1  \/  z  =  P )  <->  ( -.  z  =  1  /\  -.  z  =  P )
)
3331, 32bitr4i 252 . . . . . . . . . . . . . . . . . 18  |-  ( ( z  =/=  1  /\  P  =/=  z )  <->  -.  ( z  =  1  \/  z  =  P ) )
3428, 33syl6bb 261 . . . . . . . . . . . . . . . . 17  |-  ( ( ( 1  <  z  <->  z  =/=  1 )  /\  ( z  <  P  <->  P  =/=  z ) )  ->  ( ( 1  <  z  /\  z  <  P )  <->  -.  (
z  =  1  \/  z  =  P ) ) )
3527, 34syl6 33 . . . . . . . . . . . . . . . 16  |-  ( ( z  e.  ZZ  /\  P  e.  NN )  ->  ( ( 1  <_ 
z  /\  z  <_  P )  ->  ( (
1  <  z  /\  z  <  P )  <->  -.  (
z  =  1  \/  z  =  P ) ) ) )
3610, 9, 35syl2an 477 . . . . . . . . . . . . . . 15  |-  ( ( z  e.  NN  /\  P  e.  ( ZZ>= ` 
2 ) )  -> 
( ( 1  <_ 
z  /\  z  <_  P )  ->  ( (
1  <  z  /\  z  <  P )  <->  -.  (
z  =  1  \/  z  =  P ) ) ) )
3716, 36syld 44 . . . . . . . . . . . . . 14  |-  ( ( z  e.  NN  /\  P  e.  ( ZZ>= ` 
2 ) )  -> 
( z  ||  P  ->  ( ( 1  < 
z  /\  z  <  P )  <->  -.  ( z  =  1  \/  z  =  P ) ) ) )
3837imp 429 . . . . . . . . . . . . 13  |-  ( ( ( z  e.  NN  /\  P  e.  ( ZZ>= ` 
2 ) )  /\  z  ||  P )  -> 
( ( 1  < 
z  /\  z  <  P )  <->  -.  ( z  =  1  \/  z  =  P ) ) )
39 eluzelz 10869 . . . . . . . . . . . . . . 15  |-  ( P  e.  ( ZZ>= `  2
)  ->  P  e.  ZZ )
40 1z 10675 . . . . . . . . . . . . . . . . . . . 20  |-  1  e.  ZZ
41 zltp1le 10693 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( 1  e.  ZZ  /\  z  e.  ZZ )  ->  ( 1  <  z  <->  ( 1  +  1 )  <_  z ) )
4240, 41mpan 670 . . . . . . . . . . . . . . . . . . 19  |-  ( z  e.  ZZ  ->  (
1  <  z  <->  ( 1  +  1 )  <_ 
z ) )
43 df-2 10379 . . . . . . . . . . . . . . . . . . . 20  |-  2  =  ( 1  +  1 )
4443breq1i 4298 . . . . . . . . . . . . . . . . . . 19  |-  ( 2  <_  z  <->  ( 1  +  1 )  <_ 
z )
4542, 44syl6bbr 263 . . . . . . . . . . . . . . . . . 18  |-  ( z  e.  ZZ  ->  (
1  <  z  <->  2  <_  z ) )
4645adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( ( z  e.  ZZ  /\  P  e.  ZZ )  ->  ( 1  <  z  <->  2  <_  z ) )
47 zltlem1 10696 . . . . . . . . . . . . . . . . 17  |-  ( ( z  e.  ZZ  /\  P  e.  ZZ )  ->  ( z  <  P  <->  z  <_  ( P  - 
1 ) ) )
4846, 47anbi12d 710 . . . . . . . . . . . . . . . 16  |-  ( ( z  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 1  < 
z  /\  z  <  P )  <->  ( 2  <_ 
z  /\  z  <_  ( P  -  1 ) ) ) )
49 peano2zm 10687 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  ZZ  ->  ( P  -  1 )  e.  ZZ )
50 2z 10677 . . . . . . . . . . . . . . . . . 18  |-  2  e.  ZZ
51 elfz 11442 . . . . . . . . . . . . . . . . . 18  |-  ( ( z  e.  ZZ  /\  2  e.  ZZ  /\  ( P  -  1 )  e.  ZZ )  -> 
( z  e.  ( 2 ... ( P  -  1 ) )  <-> 
( 2  <_  z  /\  z  <_  ( P  -  1 ) ) ) )
5250, 51mp3an2 1302 . . . . . . . . . . . . . . . . 17  |-  ( ( z  e.  ZZ  /\  ( P  -  1
)  e.  ZZ )  ->  ( z  e.  ( 2 ... ( P  -  1 ) )  <->  ( 2  <_ 
z  /\  z  <_  ( P  -  1 ) ) ) )
5349, 52sylan2 474 . . . . . . . . . . . . . . . 16  |-  ( ( z  e.  ZZ  /\  P  e.  ZZ )  ->  ( z  e.  ( 2 ... ( P  -  1 ) )  <-> 
( 2  <_  z  /\  z  <_  ( P  -  1 ) ) ) )
5448, 53bitr4d 256 . . . . . . . . . . . . . . 15  |-  ( ( z  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 1  < 
z  /\  z  <  P )  <->  z  e.  ( 2 ... ( P  -  1 ) ) ) )
5510, 39, 54syl2an 477 . . . . . . . . . . . . . 14  |-  ( ( z  e.  NN  /\  P  e.  ( ZZ>= ` 
2 ) )  -> 
( ( 1  < 
z  /\  z  <  P )  <->  z  e.  ( 2 ... ( P  -  1 ) ) ) )
5655adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( z  e.  NN  /\  P  e.  ( ZZ>= ` 
2 ) )  /\  z  ||  P )  -> 
( ( 1  < 
z  /\  z  <  P )  <->  z  e.  ( 2 ... ( P  -  1 ) ) ) )
5738, 56bitr3d 255 . . . . . . . . . . . 12  |-  ( ( ( z  e.  NN  /\  P  e.  ( ZZ>= ` 
2 ) )  /\  z  ||  P )  -> 
( -.  ( z  =  1  \/  z  =  P )  <->  z  e.  ( 2 ... ( P  -  1 ) ) ) )
5857anasss 647 . . . . . . . . . . 11  |-  ( ( z  e.  NN  /\  ( P  e.  ( ZZ>=
`  2 )  /\  z  ||  P ) )  ->  ( -.  (
z  =  1  \/  z  =  P )  <-> 
z  e.  ( 2 ... ( P  - 
1 ) ) ) )
5958expcom 435 . . . . . . . . . 10  |-  ( ( P  e.  ( ZZ>= ` 
2 )  /\  z  ||  P )  ->  (
z  e.  NN  ->  ( -.  ( z  =  1  \/  z  =  P )  <->  z  e.  ( 2 ... ( P  -  1 ) ) ) ) )
6059pm5.32d 639 . . . . . . . . 9  |-  ( ( P  e.  ( ZZ>= ` 
2 )  /\  z  ||  P )  ->  (
( z  e.  NN  /\ 
-.  ( z  =  1  \/  z  =  P ) )  <->  ( z  e.  NN  /\  z  e.  ( 2 ... ( P  -  1 ) ) ) ) )
61 fzssuz 11498 . . . . . . . . . . . . 13  |-  ( 2 ... ( P  - 
1 ) )  C_  ( ZZ>= `  2 )
62 1le2 10534 . . . . . . . . . . . . . . 15  |-  1  <_  2
63 eluz 10873 . . . . . . . . . . . . . . . 16  |-  ( ( 1  e.  ZZ  /\  2  e.  ZZ )  ->  ( 2  e.  (
ZZ>= `  1 )  <->  1  <_  2 ) )
6440, 50, 63mp2an 672 . . . . . . . . . . . . . . 15  |-  ( 2  e.  ( ZZ>= `  1
)  <->  1  <_  2
)
6562, 64mpbir 209 . . . . . . . . . . . . . 14  |-  2  e.  ( ZZ>= `  1 )
66 uzss 10880 . . . . . . . . . . . . . 14  |-  ( 2  e.  ( ZZ>= `  1
)  ->  ( ZZ>= ` 
2 )  C_  ( ZZ>=
`  1 ) )
6765, 66ax-mp 5 . . . . . . . . . . . . 13  |-  ( ZZ>= ` 
2 )  C_  ( ZZ>=
`  1 )
6861, 67sstri 3364 . . . . . . . . . . . 12  |-  ( 2 ... ( P  - 
1 ) )  C_  ( ZZ>= `  1 )
69 nnuz 10895 . . . . . . . . . . . 12  |-  NN  =  ( ZZ>= `  1 )
7068, 69sseqtr4i 3388 . . . . . . . . . . 11  |-  ( 2 ... ( P  - 
1 ) )  C_  NN
7170sseli 3351 . . . . . . . . . 10  |-  ( z  e.  ( 2 ... ( P  -  1 ) )  ->  z  e.  NN )
7271pm4.71ri 633 . . . . . . . . 9  |-  ( z  e.  ( 2 ... ( P  -  1 ) )  <->  ( z  e.  NN  /\  z  e.  ( 2 ... ( P  -  1 ) ) ) )
7360, 72syl6bbr 263 . . . . . . . 8  |-  ( ( P  e.  ( ZZ>= ` 
2 )  /\  z  ||  P )  ->  (
( z  e.  NN  /\ 
-.  ( z  =  1  \/  z  =  P ) )  <->  z  e.  ( 2 ... ( P  -  1 ) ) ) )
7473notbid 294 . . . . . . 7  |-  ( ( P  e.  ( ZZ>= ` 
2 )  /\  z  ||  P )  ->  ( -.  ( z  e.  NN  /\ 
-.  ( z  =  1  \/  z  =  P ) )  <->  -.  z  e.  ( 2 ... ( P  -  1 ) ) ) )
752, 74syl5bb 257 . . . . . 6  |-  ( ( P  e.  ( ZZ>= ` 
2 )  /\  z  ||  P )  ->  (
( z  e.  NN  ->  ( z  =  1  \/  z  =  P ) )  <->  -.  z  e.  ( 2 ... ( P  -  1 ) ) ) )
7675pm5.74da 687 . . . . 5  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( (
z  ||  P  ->  ( z  e.  NN  ->  ( z  =  1  \/  z  =  P ) ) )  <->  ( z  ||  P  ->  -.  z  e.  ( 2 ... ( P  -  1 ) ) ) ) )
77 bi2.04 361 . . . . 5  |-  ( ( z  ||  P  -> 
( z  e.  NN  ->  ( z  =  1  \/  z  =  P ) ) )  <->  ( z  e.  NN  ->  ( z  ||  P  ->  ( z  =  1  \/  z  =  P ) ) ) )
78 con2b 334 . . . . 5  |-  ( ( z  ||  P  ->  -.  z  e.  (
2 ... ( P  - 
1 ) ) )  <-> 
( z  e.  ( 2 ... ( P  -  1 ) )  ->  -.  z  ||  P ) )
7976, 77, 783bitr3g 287 . . . 4  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( (
z  e.  NN  ->  ( z  ||  P  -> 
( z  =  1  \/  z  =  P ) ) )  <->  ( z  e.  ( 2 ... ( P  -  1 ) )  ->  -.  z  ||  P ) ) )
8079ralbidv2 2736 . . 3  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( A. z  e.  NN  (
z  ||  P  ->  ( z  =  1  \/  z  =  P ) )  <->  A. z  e.  ( 2 ... ( P  -  1 ) )  -.  z  ||  P
) )
8180pm5.32i 637 . 2  |-  ( ( P  e.  ( ZZ>= ` 
2 )  /\  A. z  e.  NN  (
z  ||  P  ->  ( z  =  1  \/  z  =  P ) ) )  <->  ( P  e.  ( ZZ>= `  2 )  /\  A. z  e.  ( 2 ... ( P  -  1 ) )  -.  z  ||  P
) )
821, 81bitri 249 1  |-  ( P  e.  Prime  <->  ( P  e.  ( ZZ>= `  2 )  /\  A. z  e.  ( 2 ... ( P  -  1 ) )  -.  z  ||  P
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    \/ wo 368    /\ wa 369    = wceq 1369    e. wcel 1756    =/= wne 2605   A.wral 2714    C_ wss 3327   class class class wbr 4291   ` cfv 5417  (class class class)co 6090   RRcr 9280   1c1 9282    + caddc 9284    < clt 9417    <_ cle 9418    - cmin 9594   NNcn 10321   2c2 10370   ZZcz 10645   ZZ>=cuz 10860   ...cfz 11436    || cdivides 13534   Primecprime 13762
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-sep 4412  ax-nul 4420  ax-pow 4469  ax-pr 4530  ax-un 6371  ax-cnex 9337  ax-resscn 9338  ax-1cn 9339  ax-icn 9340  ax-addcl 9341  ax-addrcl 9342  ax-mulcl 9343  ax-mulrcl 9344  ax-mulcom 9345  ax-addass 9346  ax-mulass 9347  ax-distr 9348  ax-i2m1 9349  ax-1ne0 9350  ax-1rid 9351  ax-rnegex 9352  ax-rrecex 9353  ax-cnre 9354  ax-pre-lttri 9355  ax-pre-lttrn 9356  ax-pre-ltadd 9357  ax-pre-mulgt0 9358
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2429  df-cleq 2435  df-clel 2438  df-nfc 2567  df-ne 2607  df-nel 2608  df-ral 2719  df-rex 2720  df-reu 2721  df-rab 2723  df-v 2973  df-sbc 3186  df-csb 3288  df-dif 3330  df-un 3332  df-in 3334  df-ss 3341  df-pss 3343  df-nul 3637  df-if 3791  df-pw 3861  df-sn 3877  df-pr 3879  df-tp 3881  df-op 3883  df-uni 4091  df-int 4128  df-iun 4172  df-br 4292  df-opab 4350  df-mpt 4351  df-tr 4385  df-eprel 4631  df-id 4635  df-po 4640  df-so 4641  df-fr 4678  df-we 4680  df-ord 4721  df-on 4722  df-lim 4723  df-suc 4724  df-xp 4845  df-rel 4846  df-cnv 4847  df-co 4848  df-dm 4849  df-rn 4850  df-res 4851  df-ima 4852  df-iota 5380  df-fun 5419  df-fn 5420  df-f 5421  df-f1 5422  df-fo 5423  df-f1o 5424  df-fv 5425  df-riota 6051  df-ov 6093  df-oprab 6094  df-mpt2 6095  df-om 6476  df-1st 6576  df-2nd 6577  df-recs 6831  df-rdg 6865  df-1o 6919  df-2o 6920  df-oadd 6923  df-er 7100  df-en 7310  df-dom 7311  df-sdom 7312  df-fin 7313  df-pnf 9419  df-mnf 9420  df-xr 9421  df-ltxr 9422  df-le 9423  df-sub 9596  df-neg 9597  df-nn 10322  df-2 10379  df-n0 10579  df-z 10646  df-uz 10861  df-fz 11437  df-dvds 13535  df-prm 13763
This theorem is referenced by:  prmind2  13773  2prm  13778  3prm  13779  wilth  22408  mersenne  22565
  Copyright terms: Public domain W3C validator