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

Theorem mersenne 23619
Description: A Mersenne prime is a prime number of the form  2 ^ P  - 
1. This theorem shows that the  P in this expression is necessarily also prime. (Contributed by Mario Carneiro, 17-May-2016.)
Assertion
Ref Expression
mersenne  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  Prime )

Proof of Theorem mersenne
Dummy variables  k  n are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 simpl 455 . . 3  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  ZZ )
2 2nn0 10729 . . . . . . 7  |-  2  e.  NN0
32numexp1 14565 . . . . . 6  |-  ( 2 ^ 1 )  =  2
4 df-2 10511 . . . . . 6  |-  2  =  ( 1  +  1 )
53, 4eqtri 2411 . . . . 5  |-  ( 2 ^ 1 )  =  ( 1  +  1 )
6 prmuz2 14237 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  Prime  ->  ( ( 2 ^ P )  -  1 )  e.  ( ZZ>= `  2 )
)
76adantl 464 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( ( 2 ^ P )  -  1 )  e.  ( ZZ>= ` 
2 ) )
8 eluz2b2 11073 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  ( ZZ>= `  2
)  <->  ( ( ( 2 ^ P )  -  1 )  e.  NN  /\  1  < 
( ( 2 ^ P )  -  1 ) ) )
98simprbi 462 . . . . . . 7  |-  ( ( ( 2 ^ P
)  -  1 )  e.  ( ZZ>= `  2
)  ->  1  <  ( ( 2 ^ P
)  -  1 ) )
107, 9syl 16 . . . . . 6  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  <  ( ( 2 ^ P )  -  1 ) )
11 1red 9522 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  e.  RR )
12 2re 10522 . . . . . . . . 9  |-  2  e.  RR
1312a1i 11 . . . . . . . 8  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  2  e.  RR )
14 2ne0 10545 . . . . . . . . 9  |-  2  =/=  0
1514a1i 11 . . . . . . . 8  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  2  =/=  0 )
1613, 15, 1reexpclzd 12237 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 2 ^ P
)  e.  RR )
1711, 11, 16ltaddsubd 10069 . . . . . 6  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( ( 1  +  1 )  <  (
2 ^ P )  <->  1  <  ( ( 2 ^ P )  -  1 ) ) )
1810, 17mpbird 232 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 1  +  1 )  <  ( 2 ^ P ) )
195, 18syl5eqbr 4400 . . . 4  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 2 ^ 1 )  <  ( 2 ^ P ) )
20 1zzd 10812 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  e.  ZZ )
21 1lt2 10619 . . . . . 6  |-  1  <  2
2221a1i 11 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  <  2 )
2313, 20, 1, 22ltexp2d 12241 . . . 4  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 1  <  P  <->  ( 2 ^ 1 )  <  ( 2 ^ P ) ) )
2419, 23mpbird 232 . . 3  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  <  P )
25 eluz2b1 11072 . . 3  |-  ( P  e.  ( ZZ>= `  2
)  <->  ( P  e.  ZZ  /\  1  < 
P ) )
261, 24, 25sylanbrc 662 . 2  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  ( ZZ>= ` 
2 ) )
27 simpllr 758 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  Prime )
28 prmnn 14222 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  Prime  ->  ( ( 2 ^ P )  -  1 )  e.  NN )
2927, 28syl 16 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  NN )
3029nncnd 10468 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  CC )
31 2nn 10610 . . . . . . . . . . 11  |-  2  e.  NN
32 elfzuz 11605 . . . . . . . . . . . . . 14  |-  ( k  e.  ( 2 ... ( P  -  1 ) )  ->  k  e.  ( ZZ>= `  2 )
)
3332ad2antlr 724 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  ( ZZ>= `  2 )
)
34 eluz2nn 11039 . . . . . . . . . . . . 13  |-  ( k  e.  ( ZZ>= `  2
)  ->  k  e.  NN )
3533, 34syl 16 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  NN )
3635nnnn0d 10769 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  NN0 )
37 nnexpcl 12082 . . . . . . . . . . 11  |-  ( ( 2  e.  NN  /\  k  e.  NN0 )  -> 
( 2 ^ k
)  e.  NN )
3831, 36, 37sylancr 661 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  NN )
3938nnzd 10883 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  ZZ )
40 peano2zm 10824 . . . . . . . . 9  |-  ( ( 2 ^ k )  e.  ZZ  ->  (
( 2 ^ k
)  -  1 )  e.  ZZ )
4139, 40syl 16 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  ZZ )
4241zred 10884 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  RR )
4342recnd 9533 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  CC )
44 0red 9508 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  e.  RR )
45 1red 9522 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  e.  RR )
46 0lt1 9992 . . . . . . . . . 10  |-  0  <  1
4746a1i 11 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  <  1 )
48 eluz2b2 11073 . . . . . . . . . . . . . 14  |-  ( k  e.  ( ZZ>= `  2
)  <->  ( k  e.  NN  /\  1  < 
k ) )
4948simprbi 462 . . . . . . . . . . . . 13  |-  ( k  e.  ( ZZ>= `  2
)  ->  1  <  k )
5033, 49syl 16 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  <  k )
5112a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  2  e.  RR )
52 1zzd 10812 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  e.  ZZ )
53 elfzelz 11609 . . . . . . . . . . . . . 14  |-  ( k  e.  ( 2 ... ( P  -  1 ) )  ->  k  e.  ZZ )
5453ad2antlr 724 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  ZZ )
5521a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  <  2 )
5651, 52, 54, 55ltexp2d 12241 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  <  k  <->  ( 2 ^ 1 )  < 
( 2 ^ k
) ) )
5750, 56mpbid 210 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ 1 )  <  ( 2 ^ k ) )
585, 57syl5eqbrr 4401 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  +  1 )  <  ( 2 ^ k ) )
5938nnred 10467 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  RR )
6045, 45, 59ltaddsubd 10069 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 1  +  1 )  <  ( 2 ^ k )  <->  1  <  ( ( 2 ^ k
)  -  1 ) ) )
6158, 60mpbid 210 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  <  ( ( 2 ^ k )  -  1 ) )
6244, 45, 42, 47, 61lttrd 9654 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  <  ( ( 2 ^ k )  -  1 ) )
63 elnnz 10791 . . . . . . . 8  |-  ( ( ( 2 ^ k
)  -  1 )  e.  NN  <->  ( (
( 2 ^ k
)  -  1 )  e.  ZZ  /\  0  <  ( ( 2 ^ k )  -  1 ) ) )
6441, 62, 63sylanbrc 662 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  NN )
6564nnne0d 10497 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  =/=  0 )
6630, 43, 65divcan2d 10239 . . . . 5  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ k )  -  1 )  x.  ( ( ( 2 ^ P
)  -  1 )  /  ( ( 2 ^ k )  - 
1 ) ) )  =  ( ( 2 ^ P )  - 
1 ) )
6766, 27eqeltrd 2470 . . . 4  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ k )  -  1 )  x.  ( ( ( 2 ^ P
)  -  1 )  /  ( ( 2 ^ k )  - 
1 ) ) )  e.  Prime )
68 eluz2b2 11073 . . . . . 6  |-  ( ( ( 2 ^ k
)  -  1 )  e.  ( ZZ>= `  2
)  <->  ( ( ( 2 ^ k )  -  1 )  e.  NN  /\  1  < 
( ( 2 ^ k )  -  1 ) ) )
6964, 61, 68sylanbrc 662 . . . . 5  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  ( ZZ>= `  2
) )
7038nncnd 10468 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  CC )
71 ax-1cn 9461 . . . . . . . . . . . 12  |-  1  e.  CC
72 subeq0 9758 . . . . . . . . . . . 12  |-  ( ( ( 2 ^ k
)  e.  CC  /\  1  e.  CC )  ->  ( ( ( 2 ^ k )  - 
1 )  =  0  <-> 
( 2 ^ k
)  =  1 ) )
7370, 71, 72sylancl 660 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ k )  -  1 )  =  0  <->  (
2 ^ k )  =  1 ) )
7473necon3bid 2640 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ k )  -  1 )  =/=  0  <->  (
2 ^ k )  =/=  1 ) )
7565, 74mpbid 210 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  =/=  1 )
76 simpr 459 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  ||  P )
77 eluz2nn 11039 . . . . . . . . . . . . . 14  |-  ( P  e.  ( ZZ>= `  2
)  ->  P  e.  NN )
7826, 77syl 16 . . . . . . . . . . . . 13  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  NN )
7978ad2antrr 723 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  NN )
80 nndivdvds 13994 . . . . . . . . . . . 12  |-  ( ( P  e.  NN  /\  k  e.  NN )  ->  ( k  ||  P  <->  ( P  /  k )  e.  NN ) )
8179, 35, 80syl2anc 659 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  ||  P  <->  ( P  /  k )  e.  NN ) )
8276, 81mpbid 210 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( P  /  k )  e.  NN )
8382nnnn0d 10769 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( P  /  k )  e. 
NN0 )
8470, 75, 83geoser 13680 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  sum_ n  e.  ( 0 ... (
( P  /  k
)  -  1 ) ) ( ( 2 ^ k ) ^
n )  =  ( ( 1  -  (
( 2 ^ k
) ^ ( P  /  k ) ) )  /  ( 1  -  ( 2 ^ k ) ) ) )
8516ad2antrr 723 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  e.  RR )
8685recnd 9533 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  e.  CC )
87 negsubdi2 9791 . . . . . . . . . . 11  |-  ( ( ( 2 ^ P
)  e.  CC  /\  1  e.  CC )  -> 
-u ( ( 2 ^ P )  - 
1 )  =  ( 1  -  ( 2 ^ P ) ) )
8886, 71, 87sylancl 660 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  -u (
( 2 ^ P
)  -  1 )  =  ( 1  -  ( 2 ^ P
) ) )
8979nncnd 10468 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  CC )
9035nncnd 10468 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  CC )
9135nnne0d 10497 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  =/=  0 )
9289, 90, 91divcan2d 10239 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  x.  ( P  /  k ) )  =  P )
9392oveq2d 6212 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ ( k  x.  ( P  / 
k ) ) )  =  ( 2 ^ P ) )
9451recnd 9533 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  2  e.  CC )
9594, 83, 36expmuld 12215 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ ( k  x.  ( P  / 
k ) ) )  =  ( ( 2 ^ k ) ^
( P  /  k
) ) )
9693, 95eqtr3d 2425 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  =  ( ( 2 ^ k ) ^
( P  /  k
) ) )
9796oveq2d 6212 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  -  ( 2 ^ P ) )  =  ( 1  -  ( ( 2 ^ k ) ^ ( P  /  k ) ) ) )
9888, 97eqtrd 2423 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  -u (
( 2 ^ P
)  -  1 )  =  ( 1  -  ( ( 2 ^ k ) ^ ( P  /  k ) ) ) )
99 negsubdi2 9791 . . . . . . . . . 10  |-  ( ( ( 2 ^ k
)  e.  CC  /\  1  e.  CC )  -> 
-u ( ( 2 ^ k )  - 
1 )  =  ( 1  -  ( 2 ^ k ) ) )
10070, 71, 99sylancl 660 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  -u (
( 2 ^ k
)  -  1 )  =  ( 1  -  ( 2 ^ k
) ) )
10198, 100oveq12d 6214 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( -u ( ( 2 ^ P )  -  1 )  /  -u (
( 2 ^ k
)  -  1 ) )  =  ( ( 1  -  ( ( 2 ^ k ) ^ ( P  / 
k ) ) )  /  ( 1  -  ( 2 ^ k
) ) ) )
10230, 43, 65div2negd 10252 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( -u ( ( 2 ^ P )  -  1 )  /  -u (
( 2 ^ k
)  -  1 ) )  =  ( ( ( 2 ^ P
)  -  1 )  /  ( ( 2 ^ k )  - 
1 ) ) )
10384, 101, 1023eqtr2d 2429 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  sum_ n  e.  ( 0 ... (
( P  /  k
)  -  1 ) ) ( ( 2 ^ k ) ^
n )  =  ( ( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) ) )
104 fzfid 11986 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
0 ... ( ( P  /  k )  - 
1 ) )  e. 
Fin )
105 elfznn0 11693 . . . . . . . . 9  |-  ( n  e.  ( 0 ... ( ( P  / 
k )  -  1 ) )  ->  n  e.  NN0 )
106 zexpcl 12084 . . . . . . . . 9  |-  ( ( ( 2 ^ k
)  e.  ZZ  /\  n  e.  NN0 )  -> 
( ( 2 ^ k ) ^ n
)  e.  ZZ )
10739, 105, 106syl2an 475 . . . . . . . 8  |-  ( ( ( ( ( P  e.  ZZ  /\  (
( 2 ^ P
)  -  1 )  e.  Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  /\  n  e.  ( 0 ... (
( P  /  k
)  -  1 ) ) )  ->  (
( 2 ^ k
) ^ n )  e.  ZZ )
108104, 107fsumzcl 13559 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  sum_ n  e.  ( 0 ... (
( P  /  k
)  -  1 ) ) ( ( 2 ^ k ) ^
n )  e.  ZZ )
109103, 108eqeltrrd 2471 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) )  e.  ZZ )
11043mulid2d 9525 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  x.  ( ( 2 ^ k )  -  1 ) )  =  ( ( 2 ^ k )  - 
1 ) )
111 2z 10813 . . . . . . . . . . . . . 14  |-  2  e.  ZZ
112 elfzm11 11671 . . . . . . . . . . . . . 14  |-  ( ( 2  e.  ZZ  /\  P  e.  ZZ )  ->  ( k  e.  ( 2 ... ( P  -  1 ) )  <-> 
( k  e.  ZZ  /\  2  <_  k  /\  k  <  P ) ) )
113111, 1, 112sylancr 661 . . . . . . . . . . . . 13  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( k  e.  ( 2 ... ( P  -  1 ) )  <-> 
( k  e.  ZZ  /\  2  <_  k  /\  k  <  P ) ) )
114113biimpa 482 . . . . . . . . . . . 12  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  ( k  e.  ZZ  /\  2  <_ 
k  /\  k  <  P ) )
115114simp3d 1008 . . . . . . . . . . 11  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  k  <  P
)
116115adantr 463 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  <  P )
1171ad2antrr 723 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  ZZ )
11851, 54, 117, 55ltexp2d 12241 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  <  P  <->  ( 2 ^ k )  < 
( 2 ^ P
) ) )
119116, 118mpbid 210 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  <  ( 2 ^ P ) )
12059, 85, 45, 119ltsub1dd 10081 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  <  ( ( 2 ^ P )  - 
1 ) )
121110, 120eqbrtrd 4387 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  x.  ( ( 2 ^ k )  -  1 ) )  <  ( ( 2 ^ P )  - 
1 ) )
12229nnred 10467 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  RR )
123 ltmuldiv 10332 . . . . . . . 8  |-  ( ( 1  e.  RR  /\  ( ( 2 ^ P )  -  1 )  e.  RR  /\  ( ( ( 2 ^ k )  - 
1 )  e.  RR  /\  0  <  ( ( 2 ^ k )  -  1 ) ) )  ->  ( (
1  x.  ( ( 2 ^ k )  -  1 ) )  <  ( ( 2 ^ P )  - 
1 )  <->  1  <  ( ( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) ) ) )
12445, 122, 42, 62, 123syl112anc 1230 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 1  x.  (
( 2 ^ k
)  -  1 ) )  <  ( ( 2 ^ P )  -  1 )  <->  1  <  ( ( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) ) ) )
125121, 124mpbid 210 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  <  ( ( ( 2 ^ P )  - 
1 )  /  (
( 2 ^ k
)  -  1 ) ) )
126 eluz2b1 11072 . . . . . 6  |-  ( ( ( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) )  e.  ( ZZ>= `  2
)  <->  ( ( ( ( 2 ^ P
)  -  1 )  /  ( ( 2 ^ k )  - 
1 ) )  e.  ZZ  /\  1  < 
( ( ( 2 ^ P )  - 
1 )  /  (
( 2 ^ k
)  -  1 ) ) ) )
127109, 125, 126sylanbrc 662 . . . . 5  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) )  e.  ( ZZ>= `  2
) )
128 nprm 14233 . . . . 5  |-  ( ( ( ( 2 ^ k )  -  1 )  e.  ( ZZ>= ` 
2 )  /\  (
( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) )  e.  ( ZZ>= `  2
) )  ->  -.  ( ( ( 2 ^ k )  - 
1 )  x.  (
( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) ) )  e.  Prime )
12969, 127, 128syl2anc 659 . . . 4  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  -.  ( ( ( 2 ^ k )  - 
1 )  x.  (
( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) ) )  e.  Prime )
13067, 129pm2.65da 574 . . 3  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  -.  k  ||  P )
131130ralrimiva 2796 . 2  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  A. k  e.  ( 2 ... ( P  -  1 ) )  -.  k  ||  P
)
132 isprm3 14228 . 2  |-  ( P  e.  Prime  <->  ( P  e.  ( ZZ>= `  2 )  /\  A. k  e.  ( 2 ... ( P  -  1 ) )  -.  k  ||  P
) )
13326, 131, 132sylanbrc 662 1  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  Prime )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 367    /\ w3a 971    = wceq 1399    e. wcel 1826    =/= wne 2577   A.wral 2732   class class class wbr 4367   ` cfv 5496  (class class class)co 6196   CCcc 9401   RRcr 9402   0cc0 9403   1c1 9404    + caddc 9406    x. cmul 9408    < clt 9539    <_ cle 9540    - cmin 9718   -ucneg 9719    / cdiv 10123   NNcn 10452   2c2 10502   NN0cn0 10712   ZZcz 10781   ZZ>=cuz 11001   ...cfz 11593   ^cexp 12069   sum_csu 13510    || cdvds 13988   Primecprime 14219
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1626  ax-4 1639  ax-5 1712  ax-6 1755  ax-7 1798  ax-8 1828  ax-9 1830  ax-10 1845  ax-11 1850  ax-12 1862  ax-13 2006  ax-ext 2360  ax-rep 4478  ax-sep 4488  ax-nul 4496  ax-pow 4543  ax-pr 4601  ax-un 6491  ax-inf2 7972  ax-cnex 9459  ax-resscn 9460  ax-1cn 9461  ax-icn 9462  ax-addcl 9463  ax-addrcl 9464  ax-mulcl 9465  ax-mulrcl 9466  ax-mulcom 9467  ax-addass 9468  ax-mulass 9469  ax-distr 9470  ax-i2m1 9471  ax-1ne0 9472  ax-1rid 9473  ax-rnegex 9474  ax-rrecex 9475  ax-cnre 9476  ax-pre-lttri 9477  ax-pre-lttrn 9478  ax-pre-ltadd 9479  ax-pre-mulgt0 9480  ax-pre-sup 9481
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 972  df-3an 973  df-tru 1402  df-fal 1405  df-ex 1621  df-nf 1625  df-sb 1748  df-eu 2222  df-mo 2223  df-clab 2368  df-cleq 2374  df-clel 2377  df-nfc 2532  df-ne 2579  df-nel 2580  df-ral 2737  df-rex 2738  df-reu 2739  df-rmo 2740  df-rab 2741  df-v 3036  df-sbc 3253  df-csb 3349  df-dif 3392  df-un 3394  df-in 3396  df-ss 3403  df-pss 3405  df-nul 3712  df-if 3858  df-pw 3929  df-sn 3945  df-pr 3947  df-tp 3949  df-op 3951  df-uni 4164  df-int 4200  df-iun 4245  df-br 4368  df-opab 4426  df-mpt 4427  df-tr 4461  df-eprel 4705  df-id 4709  df-po 4714  df-so 4715  df-fr 4752  df-se 4753  df-we 4754  df-ord 4795  df-on 4796  df-lim 4797  df-suc 4798  df-xp 4919  df-rel 4920  df-cnv 4921  df-co 4922  df-dm 4923  df-rn 4924  df-res 4925  df-ima 4926  df-iota 5460  df-fun 5498  df-fn 5499  df-f 5500  df-f1 5501  df-fo 5502  df-f1o 5503  df-fv 5504  df-isom 5505  df-riota 6158  df-ov 6199  df-oprab 6200  df-mpt2 6201  df-om 6600  df-1st 6699  df-2nd 6700  df-recs 6960  df-rdg 6994  df-1o 7048  df-2o 7049  df-oadd 7052  df-er 7229  df-en 7436  df-dom 7437  df-sdom 7438  df-fin 7439  df-sup 7816  df-oi 7850  df-card 8233  df-pnf 9541  df-mnf 9542  df-xr 9543  df-ltxr 9544  df-le 9545  df-sub 9720  df-neg 9721  df-div 10124  df-nn 10453  df-2 10511  df-3 10512  df-n0 10713  df-z 10782  df-uz 11002  df-rp 11140  df-fz 11594  df-fzo 11718  df-seq 12011  df-exp 12070  df-hash 12308  df-cj 12934  df-re 12935  df-im 12936  df-sqrt 13070  df-abs 13071  df-clim 13313  df-sum 13511  df-dvds 13989  df-prm 14220
This theorem is referenced by:  perfect1  23620  perfect  23623  perfectALTV  32545
  Copyright terms: Public domain W3C validator