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

Theorem mersenne 24167
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 459 . . 3  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  ZZ )
2 2nn0 10893 . . . . . . 7  |-  2  e.  NN0
32numexp1 15061 . . . . . 6  |-  ( 2 ^ 1 )  =  2
4 df-2 10675 . . . . . 6  |-  2  =  ( 1  +  1 )
53, 4eqtri 2475 . . . . 5  |-  ( 2 ^ 1 )  =  ( 1  +  1 )
6 prmuz2 14654 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  Prime  ->  ( ( 2 ^ P )  -  1 )  e.  ( ZZ>= `  2 )
)
76adantl 468 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( ( 2 ^ P )  -  1 )  e.  ( ZZ>= ` 
2 ) )
8 eluz2b2 11238 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  ( ZZ>= `  2
)  <->  ( ( ( 2 ^ P )  -  1 )  e.  NN  /\  1  < 
( ( 2 ^ P )  -  1 ) ) )
98simprbi 466 . . . . . . 7  |-  ( ( ( 2 ^ P
)  -  1 )  e.  ( ZZ>= `  2
)  ->  1  <  ( ( 2 ^ P
)  -  1 ) )
107, 9syl 17 . . . . . 6  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  <  ( ( 2 ^ P )  -  1 ) )
11 1red 9663 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  e.  RR )
12 2re 10686 . . . . . . . . 9  |-  2  e.  RR
1312a1i 11 . . . . . . . 8  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  2  e.  RR )
14 2ne0 10709 . . . . . . . . 9  |-  2  =/=  0
1514a1i 11 . . . . . . . 8  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  2  =/=  0 )
1613, 15, 1reexpclzd 12448 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 2 ^ P
)  e.  RR )
1711, 11, 16ltaddsubd 10220 . . . . . 6  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( ( 1  +  1 )  <  (
2 ^ P )  <->  1  <  ( ( 2 ^ P )  -  1 ) ) )
1810, 17mpbird 236 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 1  +  1 )  <  ( 2 ^ P ) )
195, 18syl5eqbr 4439 . . . 4  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 2 ^ 1 )  <  ( 2 ^ P ) )
20 1zzd 10975 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  e.  ZZ )
21 1lt2 10783 . . . . . 6  |-  1  <  2
2221a1i 11 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  <  2 )
2313, 20, 1, 22ltexp2d 12452 . . . 4  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 1  <  P  <->  ( 2 ^ 1 )  <  ( 2 ^ P ) ) )
2419, 23mpbird 236 . . 3  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  <  P )
25 eluz2b1 11237 . . 3  |-  ( P  e.  ( ZZ>= `  2
)  <->  ( P  e.  ZZ  /\  1  < 
P ) )
261, 24, 25sylanbrc 671 . 2  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  ( ZZ>= ` 
2 ) )
27 simpllr 770 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  Prime )
28 prmnn 14637 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  Prime  ->  ( ( 2 ^ P )  -  1 )  e.  NN )
2927, 28syl 17 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  NN )
3029nncnd 10632 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  CC )
31 2nn 10774 . . . . . . . . . . 11  |-  2  e.  NN
32 elfzuz 11803 . . . . . . . . . . . . . 14  |-  ( k  e.  ( 2 ... ( P  -  1 ) )  ->  k  e.  ( ZZ>= `  2 )
)
3332ad2antlr 734 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  ( ZZ>= `  2 )
)
34 eluz2nn 11204 . . . . . . . . . . . . 13  |-  ( k  e.  ( ZZ>= `  2
)  ->  k  e.  NN )
3533, 34syl 17 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  NN )
3635nnnn0d 10932 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  NN0 )
37 nnexpcl 12292 . . . . . . . . . . 11  |-  ( ( 2  e.  NN  /\  k  e.  NN0 )  -> 
( 2 ^ k
)  e.  NN )
3831, 36, 37sylancr 670 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  NN )
3938nnzd 11046 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  ZZ )
40 peano2zm 10987 . . . . . . . . 9  |-  ( ( 2 ^ k )  e.  ZZ  ->  (
( 2 ^ k
)  -  1 )  e.  ZZ )
4139, 40syl 17 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  ZZ )
4241zred 11047 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  RR )
4342recnd 9674 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  CC )
44 0red 9649 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  e.  RR )
45 1red 9663 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  e.  RR )
46 0lt1 10143 . . . . . . . . . 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 11238 . . . . . . . . . . . . . 14  |-  ( k  e.  ( ZZ>= `  2
)  <->  ( k  e.  NN  /\  1  < 
k ) )
4948simprbi 466 . . . . . . . . . . . . 13  |-  ( k  e.  ( ZZ>= `  2
)  ->  1  <  k )
5033, 49syl 17 . . . . . . . . . . . 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 10975 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  e.  ZZ )
53 elfzelz 11807 . . . . . . . . . . . . . 14  |-  ( k  e.  ( 2 ... ( P  -  1 ) )  ->  k  e.  ZZ )
5453ad2antlr 734 . . . . . . . . . . . . 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 12452 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  <  k  <->  ( 2 ^ 1 )  < 
( 2 ^ k
) ) )
5750, 56mpbid 214 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ 1 )  <  ( 2 ^ k ) )
585, 57syl5eqbrr 4440 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  +  1 )  <  ( 2 ^ k ) )
5938nnred 10631 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  RR )
6045, 45, 59ltaddsubd 10220 . . . . . . . . . 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 214 . . . . . . . . 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 9801 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  <  ( ( 2 ^ k )  -  1 ) )
63 elnnz 10954 . . . . . . . 8  |-  ( ( ( 2 ^ k
)  -  1 )  e.  NN  <->  ( (
( 2 ^ k
)  -  1 )  e.  ZZ  /\  0  <  ( ( 2 ^ k )  -  1 ) ) )
6441, 62, 63sylanbrc 671 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  NN )
6564nnne0d 10661 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  =/=  0 )
6630, 43, 65divcan2d 10392 . . . . 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 2531 . . . 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 11238 . . . . . 6  |-  ( ( ( 2 ^ k
)  -  1 )  e.  ( ZZ>= `  2
)  <->  ( ( ( 2 ^ k )  -  1 )  e.  NN  /\  1  < 
( ( 2 ^ k )  -  1 ) ) )
6964, 61, 68sylanbrc 671 . . . . 5  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  ( ZZ>= `  2
) )
7038nncnd 10632 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  CC )
71 ax-1cn 9602 . . . . . . . . . . . 12  |-  1  e.  CC
72 subeq0 9905 . . . . . . . . . . . 12  |-  ( ( ( 2 ^ k
)  e.  CC  /\  1  e.  CC )  ->  ( ( ( 2 ^ k )  - 
1 )  =  0  <-> 
( 2 ^ k
)  =  1 ) )
7370, 71, 72sylancl 669 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ k )  -  1 )  =  0  <->  (
2 ^ k )  =  1 ) )
7473necon3bid 2670 . . . . . . . . . 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 214 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  =/=  1 )
76 simpr 463 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  ||  P )
77 eluz2nn 11204 . . . . . . . . . . . . . 14  |-  ( P  e.  ( ZZ>= `  2
)  ->  P  e.  NN )
7826, 77syl 17 . . . . . . . . . . . . 13  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  NN )
7978ad2antrr 733 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  NN )
80 nndivdvds 14323 . . . . . . . . . . . 12  |-  ( ( P  e.  NN  /\  k  e.  NN )  ->  ( k  ||  P  <->  ( P  /  k )  e.  NN ) )
8179, 35, 80syl2anc 667 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  ||  P  <->  ( P  /  k )  e.  NN ) )
8276, 81mpbid 214 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( P  /  k )  e.  NN )
8382nnnn0d 10932 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( P  /  k )  e. 
NN0 )
8470, 75, 83geoser 13937 . . . . . . . 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 733 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  e.  RR )
8685recnd 9674 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  e.  CC )
87 negsubdi2 9938 . . . . . . . . . . 11  |-  ( ( ( 2 ^ P
)  e.  CC  /\  1  e.  CC )  -> 
-u ( ( 2 ^ P )  - 
1 )  =  ( 1  -  ( 2 ^ P ) ) )
8886, 71, 87sylancl 669 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  -u (
( 2 ^ P
)  -  1 )  =  ( 1  -  ( 2 ^ P
) ) )
8979nncnd 10632 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  CC )
9035nncnd 10632 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  CC )
9135nnne0d 10661 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  =/=  0 )
9289, 90, 91divcan2d 10392 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  x.  ( P  /  k ) )  =  P )
9392oveq2d 6311 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ ( k  x.  ( P  / 
k ) ) )  =  ( 2 ^ P ) )
9451recnd 9674 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  2  e.  CC )
9594, 83, 36expmuld 12426 . . . . . . . . . . . 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 2489 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  =  ( ( 2 ^ k ) ^
( P  /  k
) ) )
9796oveq2d 6311 . . . . . . . . . 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 2487 . . . . . . . . 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 9938 . . . . . . . . . 10  |-  ( ( ( 2 ^ k
)  e.  CC  /\  1  e.  CC )  -> 
-u ( ( 2 ^ k )  - 
1 )  =  ( 1  -  ( 2 ^ k ) ) )
10070, 71, 99sylancl 669 . . . . . . . . 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 6313 . . . . . . . 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 10405 . . . . . . . 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 2493 . . . . . . 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 12193 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
0 ... ( ( P  /  k )  - 
1 ) )  e. 
Fin )
105 elfznn0 11894 . . . . . . . . 9  |-  ( n  e.  ( 0 ... ( ( P  / 
k )  -  1 ) )  ->  n  e.  NN0 )
106 zexpcl 12294 . . . . . . . . 9  |-  ( ( ( 2 ^ k
)  e.  ZZ  /\  n  e.  NN0 )  -> 
( ( 2 ^ k ) ^ n
)  e.  ZZ )
10739, 105, 106syl2an 480 . . . . . . . 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 13813 . . . . . . 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 2532 . . . . . 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 9666 . . . . . . . 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 10976 . . . . . . . . . . . . . 14  |-  2  e.  ZZ
112 elfzm11 11872 . . . . . . . . . . . . . 14  |-  ( ( 2  e.  ZZ  /\  P  e.  ZZ )  ->  ( k  e.  ( 2 ... ( P  -  1 ) )  <-> 
( k  e.  ZZ  /\  2  <_  k  /\  k  <  P ) ) )
113111, 1, 112sylancr 670 . . . . . . . . . . . . 13  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( k  e.  ( 2 ... ( P  -  1 ) )  <-> 
( k  e.  ZZ  /\  2  <_  k  /\  k  <  P ) ) )
114113biimpa 487 . . . . . . . . . . . 12  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  ( k  e.  ZZ  /\  2  <_ 
k  /\  k  <  P ) )
115114simp3d 1023 . . . . . . . . . . 11  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  k  <  P
)
116115adantr 467 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  <  P )
1171ad2antrr 733 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  ZZ )
11851, 54, 117, 55ltexp2d 12452 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  <  P  <->  ( 2 ^ k )  < 
( 2 ^ P
) ) )
119116, 118mpbid 214 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  <  ( 2 ^ P ) )
12059, 85, 45, 119ltsub1dd 10232 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  <  ( ( 2 ^ P )  - 
1 ) )
121110, 120eqbrtrd 4426 . . . . . . 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 10631 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  RR )
123 ltmuldiv 10485 . . . . . . . 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 1273 . . . . . . 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 214 . . . . . 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 11237 . . . . . 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 671 . . . . 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 14650 . . . . 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 667 . . . 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 580 . . 3  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  -.  k  ||  P )
131130ralrimiva 2804 . 2  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  A. k  e.  ( 2 ... ( P  -  1 ) )  -.  k  ||  P
)
132 isprm3 14645 . 2  |-  ( P  e.  Prime  <->  ( P  e.  ( ZZ>= `  2 )  /\  A. k  e.  ( 2 ... ( P  -  1 ) )  -.  k  ||  P
) )
13326, 131, 132sylanbrc 671 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 188    /\ wa 371    /\ w3a 986    = wceq 1446    e. wcel 1889    =/= wne 2624   A.wral 2739   class class class wbr 4405   ` cfv 5585  (class class class)co 6295   CCcc 9542   RRcr 9543   0cc0 9544   1c1 9545    + caddc 9547    x. cmul 9549    < clt 9680    <_ cle 9681    - cmin 9865   -ucneg 9866    / cdiv 10276   NNcn 10616   2c2 10666   NN0cn0 10876   ZZcz 10944   ZZ>=cuz 11166   ...cfz 11791   ^cexp 12279   sum_csu 13764    || cdvds 14317   Primecprime 14634
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1671  ax-4 1684  ax-5 1760  ax-6 1807  ax-7 1853  ax-8 1891  ax-9 1898  ax-10 1917  ax-11 1922  ax-12 1935  ax-13 2093  ax-ext 2433  ax-rep 4518  ax-sep 4528  ax-nul 4537  ax-pow 4584  ax-pr 4642  ax-un 6588  ax-inf2 8151  ax-cnex 9600  ax-resscn 9601  ax-1cn 9602  ax-icn 9603  ax-addcl 9604  ax-addrcl 9605  ax-mulcl 9606  ax-mulrcl 9607  ax-mulcom 9608  ax-addass 9609  ax-mulass 9610  ax-distr 9611  ax-i2m1 9612  ax-1ne0 9613  ax-1rid 9614  ax-rnegex 9615  ax-rrecex 9616  ax-cnre 9617  ax-pre-lttri 9618  ax-pre-lttrn 9619  ax-pre-ltadd 9620  ax-pre-mulgt0 9621  ax-pre-sup 9622
This theorem depends on definitions:  df-bi 189  df-or 372  df-an 373  df-3or 987  df-3an 988  df-tru 1449  df-fal 1452  df-ex 1666  df-nf 1670  df-sb 1800  df-eu 2305  df-mo 2306  df-clab 2440  df-cleq 2446  df-clel 2449  df-nfc 2583  df-ne 2626  df-nel 2627  df-ral 2744  df-rex 2745  df-reu 2746  df-rmo 2747  df-rab 2748  df-v 3049  df-sbc 3270  df-csb 3366  df-dif 3409  df-un 3411  df-in 3413  df-ss 3420  df-pss 3422  df-nul 3734  df-if 3884  df-pw 3955  df-sn 3971  df-pr 3973  df-tp 3975  df-op 3977  df-uni 4202  df-int 4238  df-iun 4283  df-br 4406  df-opab 4465  df-mpt 4466  df-tr 4501  df-eprel 4748  df-id 4752  df-po 4758  df-so 4759  df-fr 4796  df-se 4797  df-we 4798  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-pred 5383  df-ord 5429  df-on 5430  df-lim 5431  df-suc 5432  df-iota 5549  df-fun 5587  df-fn 5588  df-f 5589  df-f1 5590  df-fo 5591  df-f1o 5592  df-fv 5593  df-isom 5594  df-riota 6257  df-ov 6298  df-oprab 6299  df-mpt2 6300  df-om 6698  df-1st 6798  df-2nd 6799  df-wrecs 7033  df-recs 7095  df-rdg 7133  df-1o 7187  df-2o 7188  df-oadd 7191  df-er 7368  df-en 7575  df-dom 7576  df-sdom 7577  df-fin 7578  df-sup 7961  df-oi 8030  df-card 8378  df-pnf 9682  df-mnf 9683  df-xr 9684  df-ltxr 9685  df-le 9686  df-sub 9867  df-neg 9868  df-div 10277  df-nn 10617  df-2 10675  df-3 10676  df-n0 10877  df-z 10945  df-uz 11167  df-rp 11310  df-fz 11792  df-fzo 11923  df-seq 12221  df-exp 12280  df-hash 12523  df-cj 13174  df-re 13175  df-im 13176  df-sqrt 13310  df-abs 13311  df-clim 13564  df-sum 13765  df-dvds 14318  df-prm 14635
This theorem is referenced by:  perfect1  24168  perfect  24171  perfectALTV  38855
  Copyright terms: Public domain W3C validator