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

Theorem mersenne 23246
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 457 . . 3  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  ZZ )
2 2nn0 10811 . . . . . . 7  |-  2  e.  NN0
32numexp1 14421 . . . . . 6  |-  ( 2 ^ 1 )  =  2
4 df-2 10593 . . . . . 6  |-  2  =  ( 1  +  1 )
53, 4eqtri 2496 . . . . 5  |-  ( 2 ^ 1 )  =  ( 1  +  1 )
6 prmuz2 14093 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  Prime  ->  ( ( 2 ^ P )  -  1 )  e.  ( ZZ>= `  2 )
)
76adantl 466 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( ( 2 ^ P )  -  1 )  e.  ( ZZ>= ` 
2 ) )
8 eluz2b2 11153 . . . . . . . 8  |-  ( ( ( 2 ^ P
)  -  1 )  e.  ( ZZ>= `  2
)  <->  ( ( ( 2 ^ P )  -  1 )  e.  NN  /\  1  < 
( ( 2 ^ P )  -  1 ) ) )
98simprbi 464 . . . . . . 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 9610 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  e.  RR )
12 2re 10604 . . . . . . . . 9  |-  2  e.  RR
1312a1i 11 . . . . . . . 8  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  2  e.  RR )
14 2ne0 10627 . . . . . . . . 9  |-  2  =/=  0
1514a1i 11 . . . . . . . 8  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  2  =/=  0 )
1613, 15, 1reexpclzd 12302 . . . . . . 7  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 2 ^ P
)  e.  RR )
1711, 11, 16ltaddsubd 10151 . . . . . 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 4480 . . . 4  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( 2 ^ 1 )  <  ( 2 ^ P ) )
20 1zzd 10894 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  e.  ZZ )
21 1lt2 10701 . . . . . 6  |-  1  <  2
2221a1i 11 . . . . 5  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  1  <  2 )
2313, 20, 1, 22ltexp2d 12306 . . . 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 11152 . . 3  |-  ( P  e.  ( ZZ>= `  2
)  <->  ( P  e.  ZZ  /\  1  < 
P ) )
261, 24, 25sylanbrc 664 . 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 14078 . . . . . . . 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 10551 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  CC )
31 2nn 10692 . . . . . . . . . . 11  |-  2  e.  NN
32 elfzuz 11683 . . . . . . . . . . . . . 14  |-  ( k  e.  ( 2 ... ( P  -  1 ) )  ->  k  e.  ( ZZ>= `  2 )
)
3332ad2antlr 726 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  ( ZZ>= `  2 )
)
34 eluz2b2 11153 . . . . . . . . . . . . . 14  |-  ( k  e.  ( ZZ>= `  2
)  <->  ( k  e.  NN  /\  1  < 
k ) )
3534simplbi 460 . . . . . . . . . . . . 13  |-  ( k  e.  ( ZZ>= `  2
)  ->  k  e.  NN )
3633, 35syl 16 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  NN )
3736nnnn0d 10851 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  NN0 )
38 nnexpcl 12146 . . . . . . . . . . 11  |-  ( ( 2  e.  NN  /\  k  e.  NN0 )  -> 
( 2 ^ k
)  e.  NN )
3931, 37, 38sylancr 663 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  NN )
4039nnzd 10964 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  ZZ )
41 peano2zm 10905 . . . . . . . . 9  |-  ( ( 2 ^ k )  e.  ZZ  ->  (
( 2 ^ k
)  -  1 )  e.  ZZ )
4240, 41syl 16 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  ZZ )
4342zred 10965 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  RR )
4443recnd 9621 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  CC )
45 0red 9596 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  e.  RR )
46 1red 9610 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  e.  RR )
47 0lt1 10074 . . . . . . . . . 10  |-  0  <  1
4847a1i 11 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  <  1 )
4934simprbi 464 . . . . . . . . . . . . 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 10894 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  e.  ZZ )
53 elfzelz 11687 . . . . . . . . . . . . . 14  |-  ( k  e.  ( 2 ... ( P  -  1 ) )  ->  k  e.  ZZ )
5453ad2antlr 726 . . . . . . . . . . . . 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 12306 . . . . . . . . . . . 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 4481 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  +  1 )  <  ( 2 ^ k ) )
5939nnred 10550 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  RR )
6046, 46, 59ltaddsubd 10151 . . . . . . . . . 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 ) )
6245, 46, 43, 48, 61lttrd 9741 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  0  <  ( ( 2 ^ k )  -  1 ) )
63 elnnz 10873 . . . . . . . 8  |-  ( ( ( 2 ^ k
)  -  1 )  e.  NN  <->  ( (
( 2 ^ k
)  -  1 )  e.  ZZ  /\  0  <  ( ( 2 ^ k )  -  1 ) ) )
6442, 62, 63sylanbrc 664 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  NN )
6564nnne0d 10579 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  =/=  0 )
6630, 44, 65divcan2d 10321 . . . . 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 2555 . . . 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 11153 . . . . . 6  |-  ( ( ( 2 ^ k
)  -  1 )  e.  ( ZZ>= `  2
)  <->  ( ( ( 2 ^ k )  -  1 )  e.  NN  /\  1  < 
( ( 2 ^ k )  -  1 ) ) )
6964, 61, 68sylanbrc 664 . . . . 5  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  e.  ( ZZ>= `  2
) )
7039nncnd 10551 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  e.  CC )
71 ax-1cn 9549 . . . . . . . . . . . 12  |-  1  e.  CC
72 subeq0 9844 . . . . . . . . . . . 12  |-  ( ( ( 2 ^ k
)  e.  CC  /\  1  e.  CC )  ->  ( ( ( 2 ^ k )  - 
1 )  =  0  <-> 
( 2 ^ k
)  =  1 ) )
7370, 71, 72sylancl 662 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ k )  -  1 )  =  0  <->  (
2 ^ k )  =  1 ) )
7473necon3bid 2725 . . . . . . . . . 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 461 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  ||  P )
77 eluz2b2 11153 . . . . . . . . . . . . . . 15  |-  ( P  e.  ( ZZ>= `  2
)  <->  ( P  e.  NN  /\  1  < 
P ) )
7877simplbi 460 . . . . . . . . . . . . . 14  |-  ( P  e.  ( ZZ>= `  2
)  ->  P  e.  NN )
7926, 78syl 16 . . . . . . . . . . . . 13  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  P  e.  NN )
8079ad2antrr 725 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  NN )
81 nndivdvds 13852 . . . . . . . . . . . 12  |-  ( ( P  e.  NN  /\  k  e.  NN )  ->  ( k  ||  P  <->  ( P  /  k )  e.  NN ) )
8280, 36, 81syl2anc 661 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  ||  P  <->  ( P  /  k )  e.  NN ) )
8376, 82mpbid 210 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( P  /  k )  e.  NN )
8483nnnn0d 10851 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  ( P  /  k )  e. 
NN0 )
8570, 75, 84geoser 13640 . . . . . . . 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 ) ) ) )
8616ad2antrr 725 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  e.  RR )
8786recnd 9621 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  e.  CC )
88 negsubdi2 9877 . . . . . . . . . . 11  |-  ( ( ( 2 ^ P
)  e.  CC  /\  1  e.  CC )  -> 
-u ( ( 2 ^ P )  - 
1 )  =  ( 1  -  ( 2 ^ P ) ) )
8987, 71, 88sylancl 662 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  -u (
( 2 ^ P
)  -  1 )  =  ( 1  -  ( 2 ^ P
) ) )
9080nncnd 10551 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  CC )
9136nncnd 10551 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  e.  CC )
9236nnne0d 10579 . . . . . . . . . . . . . 14  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  =/=  0 )
9390, 91, 92divcan2d 10321 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  x.  ( P  /  k ) )  =  P )
9493oveq2d 6299 . . . . . . . . . . . 12  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ ( k  x.  ( P  / 
k ) ) )  =  ( 2 ^ P ) )
9551recnd 9621 . . . . . . . . . . . . 13  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  2  e.  CC )
9695, 84, 37expmuld 12280 . . . . . . . . . . . 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
) ) )
9794, 96eqtr3d 2510 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ P )  =  ( ( 2 ^ k ) ^
( P  /  k
) ) )
9897oveq2d 6299 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  -  ( 2 ^ P ) )  =  ( 1  -  ( ( 2 ^ k ) ^ ( P  /  k ) ) ) )
9989, 98eqtrd 2508 . . . . . . . . 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 ) ) ) )
100 negsubdi2 9877 . . . . . . . . . 10  |-  ( ( ( 2 ^ k
)  e.  CC  /\  1  e.  CC )  -> 
-u ( ( 2 ^ k )  - 
1 )  =  ( 1  -  ( 2 ^ k ) ) )
10170, 71, 100sylancl 662 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  -u (
( 2 ^ k
)  -  1 )  =  ( 1  -  ( 2 ^ k
) ) )
10299, 101oveq12d 6301 . . . . . . . 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
) ) ) )
10330, 44, 65div2negd 10334 . . . . . . . 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 ) ) )
10485, 102, 1033eqtr2d 2514 . . . . . . 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 ) ) )
105 fzfid 12050 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
0 ... ( ( P  /  k )  - 
1 ) )  e. 
Fin )
106 elfznn0 11769 . . . . . . . . 9  |-  ( n  e.  ( 0 ... ( ( P  / 
k )  -  1 ) )  ->  n  e.  NN0 )
107 zexpcl 12148 . . . . . . . . 9  |-  ( ( ( 2 ^ k
)  e.  ZZ  /\  n  e.  NN0 )  -> 
( ( 2 ^ k ) ^ n
)  e.  ZZ )
10840, 106, 107syl2an 477 . . . . . . . 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 )
109105, 108fsumzcl 13519 . . . . . . 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 )
110104, 109eqeltrrd 2556 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( ( 2 ^ P )  -  1 )  /  ( ( 2 ^ k )  -  1 ) )  e.  ZZ )
11144mulid2d 9613 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  x.  ( ( 2 ^ k )  -  1 ) )  =  ( ( 2 ^ k )  - 
1 ) )
112 2z 10895 . . . . . . . . . . . . . 14  |-  2  e.  ZZ
113 elfzm11 11748 . . . . . . . . . . . . . 14  |-  ( ( 2  e.  ZZ  /\  P  e.  ZZ )  ->  ( k  e.  ( 2 ... ( P  -  1 ) )  <-> 
( k  e.  ZZ  /\  2  <_  k  /\  k  <  P ) ) )
114112, 1, 113sylancr 663 . . . . . . . . . . . . 13  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  ( k  e.  ( 2 ... ( P  -  1 ) )  <-> 
( k  e.  ZZ  /\  2  <_  k  /\  k  <  P ) ) )
115114biimpa 484 . . . . . . . . . . . 12  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  ( k  e.  ZZ  /\  2  <_ 
k  /\  k  <  P ) )
116115simp3d 1010 . . . . . . . . . . 11  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  k  <  P
)
117116adantr 465 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  k  <  P )
1181ad2antrr 725 . . . . . . . . . . 11  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  P  e.  ZZ )
11951, 54, 118, 55ltexp2d 12306 . . . . . . . . . 10  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
k  <  P  <->  ( 2 ^ k )  < 
( 2 ^ P
) ) )
120117, 119mpbid 210 . . . . . . . . 9  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
2 ^ k )  <  ( 2 ^ P ) )
12159, 86, 46, 120ltsub1dd 10163 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ k
)  -  1 )  <  ( ( 2 ^ P )  - 
1 ) )
122111, 121eqbrtrd 4467 . . . . . . 7  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
1  x.  ( ( 2 ^ k )  -  1 ) )  <  ( ( 2 ^ P )  - 
1 ) )
12329nnred 10550 . . . . . . . 8  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  (
( 2 ^ P
)  -  1 )  e.  RR )
124 ltmuldiv 10414 . . . . . . . 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 ) ) ) )
12546, 123, 43, 62, 124syl112anc 1232 . . . . . . 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 ) ) ) )
126122, 125mpbid 210 . . . . . 6  |-  ( ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e. 
Prime )  /\  k  e.  ( 2 ... ( P  -  1 ) ) )  /\  k  ||  P )  ->  1  <  ( ( ( 2 ^ P )  - 
1 )  /  (
( 2 ^ k
)  -  1 ) ) )
127 eluz2b1 11152 . . . . . 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 ) ) ) )
128110, 126, 127sylanbrc 664 . . . . 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
) )
129 nprm 14089 . . . . 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 )
13069, 128, 129syl2anc 661 . . . 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 )
13167, 130pm2.65da 576 . . 3  |-  ( ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  /\  k  e.  (
2 ... ( P  - 
1 ) ) )  ->  -.  k  ||  P )
132131ralrimiva 2878 . 2  |-  ( ( P  e.  ZZ  /\  ( ( 2 ^ P )  -  1 )  e.  Prime )  ->  A. k  e.  ( 2 ... ( P  -  1 ) )  -.  k  ||  P
)
133 isprm3 14084 . 2  |-  ( P  e.  Prime  <->  ( P  e.  ( ZZ>= `  2 )  /\  A. k  e.  ( 2 ... ( P  -  1 ) )  -.  k  ||  P
) )
13426, 132, 133sylanbrc 664 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 369    /\ w3a 973    = wceq 1379    e. wcel 1767    =/= wne 2662   A.wral 2814   class class class wbr 4447   ` cfv 5587  (class class class)co 6283   CCcc 9489   RRcr 9490   0cc0 9491   1c1 9492    + caddc 9494    x. cmul 9496    < clt 9627    <_ cle 9628    - cmin 9804   -ucneg 9805    / cdiv 10205   NNcn 10535   2c2 10584   NN0cn0 10794   ZZcz 10863   ZZ>=cuz 11081   ...cfz 11671   ^cexp 12133   sum_csu 13470    || cdivides 13846   Primecprime 14075
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6575  ax-inf2 8057  ax-cnex 9547  ax-resscn 9548  ax-1cn 9549  ax-icn 9550  ax-addcl 9551  ax-addrcl 9552  ax-mulcl 9553  ax-mulrcl 9554  ax-mulcom 9555  ax-addass 9556  ax-mulass 9557  ax-distr 9558  ax-i2m1 9559  ax-1ne0 9560  ax-1rid 9561  ax-rnegex 9562  ax-rrecex 9563  ax-cnre 9564  ax-pre-lttri 9565  ax-pre-lttrn 9566  ax-pre-ltadd 9567  ax-pre-mulgt0 9568  ax-pre-sup 9569
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-fal 1385  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rmo 2822  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-int 4283  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-se 4839  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5550  df-fun 5589  df-fn 5590  df-f 5591  df-f1 5592  df-fo 5593  df-f1o 5594  df-fv 5595  df-isom 5596  df-riota 6244  df-ov 6286  df-oprab 6287  df-mpt2 6288  df-om 6680  df-1st 6784  df-2nd 6785  df-recs 7042  df-rdg 7076  df-1o 7130  df-2o 7131  df-oadd 7134  df-er 7311  df-en 7517  df-dom 7518  df-sdom 7519  df-fin 7520  df-sup 7900  df-oi 7934  df-card 8319  df-pnf 9629  df-mnf 9630  df-xr 9631  df-ltxr 9632  df-le 9633  df-sub 9806  df-neg 9807  df-div 10206  df-nn 10536  df-2 10593  df-3 10594  df-n0 10795  df-z 10864  df-uz 11082  df-rp 11220  df-fz 11672  df-fzo 11792  df-seq 12075  df-exp 12134  df-hash 12373  df-cj 12894  df-re 12895  df-im 12896  df-sqrt 13030  df-abs 13031  df-clim 13273  df-sum 13471  df-dvds 13847  df-prm 14076
This theorem is referenced by:  perfect1  23247  perfect  23250
  Copyright terms: Public domain W3C validator