Step |
Hyp |
Ref |
Expression |
1 |
|
2nn |
|- 2 e. NN |
2 |
|
fpprel |
|- ( 2 e. NN -> ( X e. ( FPPr ` 2 ) <-> ( X e. ( ZZ>= ` 4 ) /\ X e/ Prime /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) ) ) |
3 |
1 2
|
ax-mp |
|- ( X e. ( FPPr ` 2 ) <-> ( X e. ( ZZ>= ` 4 ) /\ X e/ Prime /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) ) |
4 |
|
eluz4nn |
|- ( X e. ( ZZ>= ` 4 ) -> X e. NN ) |
5 |
4
|
adantr |
|- ( ( X e. ( ZZ>= ` 4 ) /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) -> X e. NN ) |
6 |
|
eluzelz |
|- ( X e. ( ZZ>= ` 4 ) -> X e. ZZ ) |
7 |
|
zeo2ALTV |
|- ( X e. ZZ -> ( X e. Even <-> -. X e. Odd ) ) |
8 |
6 7
|
syl |
|- ( X e. ( ZZ>= ` 4 ) -> ( X e. Even <-> -. X e. Odd ) ) |
9 |
8
|
adantr |
|- ( ( X e. ( ZZ>= ` 4 ) /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) -> ( X e. Even <-> -. X e. Odd ) ) |
10 |
9
|
biimprd |
|- ( ( X e. ( ZZ>= ` 4 ) /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) -> ( -. X e. Odd -> X e. Even ) ) |
11 |
|
nnennexALTV |
|- ( ( X e. NN /\ X e. Even ) -> E. y e. NN X = ( 2 x. y ) ) |
12 |
5 10 11
|
syl6an |
|- ( ( X e. ( ZZ>= ` 4 ) /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) -> ( -. X e. Odd -> E. y e. NN X = ( 2 x. y ) ) ) |
13 |
|
oveq1 |
|- ( X = ( 2 x. y ) -> ( X - 1 ) = ( ( 2 x. y ) - 1 ) ) |
14 |
13
|
oveq2d |
|- ( X = ( 2 x. y ) -> ( 2 ^ ( X - 1 ) ) = ( 2 ^ ( ( 2 x. y ) - 1 ) ) ) |
15 |
|
id |
|- ( X = ( 2 x. y ) -> X = ( 2 x. y ) ) |
16 |
14 15
|
oveq12d |
|- ( X = ( 2 x. y ) -> ( ( 2 ^ ( X - 1 ) ) mod X ) = ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) ) |
17 |
16
|
eqeq1d |
|- ( X = ( 2 x. y ) -> ( ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 <-> ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) = 1 ) ) |
18 |
17
|
adantl |
|- ( ( ( X e. ( ZZ>= ` 4 ) /\ y e. NN ) /\ X = ( 2 x. y ) ) -> ( ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 <-> ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) = 1 ) ) |
19 |
|
2z |
|- 2 e. ZZ |
20 |
1
|
a1i |
|- ( y e. NN -> 2 e. NN ) |
21 |
|
id |
|- ( y e. NN -> y e. NN ) |
22 |
20 21
|
nnmulcld |
|- ( y e. NN -> ( 2 x. y ) e. NN ) |
23 |
|
nnm1nn0 |
|- ( ( 2 x. y ) e. NN -> ( ( 2 x. y ) - 1 ) e. NN0 ) |
24 |
22 23
|
syl |
|- ( y e. NN -> ( ( 2 x. y ) - 1 ) e. NN0 ) |
25 |
|
zexpcl |
|- ( ( 2 e. ZZ /\ ( ( 2 x. y ) - 1 ) e. NN0 ) -> ( 2 ^ ( ( 2 x. y ) - 1 ) ) e. ZZ ) |
26 |
19 24 25
|
sylancr |
|- ( y e. NN -> ( 2 ^ ( ( 2 x. y ) - 1 ) ) e. ZZ ) |
27 |
22
|
nnrpd |
|- ( y e. NN -> ( 2 x. y ) e. RR+ ) |
28 |
|
modmuladdim |
|- ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) e. ZZ /\ ( 2 x. y ) e. RR+ ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) = 1 -> E. m e. ZZ ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( ( m x. ( 2 x. y ) ) + 1 ) ) ) |
29 |
26 27 28
|
syl2anc |
|- ( y e. NN -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) = 1 -> E. m e. ZZ ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( ( m x. ( 2 x. y ) ) + 1 ) ) ) |
30 |
24
|
adantr |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 x. y ) - 1 ) e. NN0 ) |
31 |
19 30 25
|
sylancr |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( 2 x. y ) - 1 ) ) e. ZZ ) |
32 |
31
|
zcnd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( 2 x. y ) - 1 ) ) e. CC ) |
33 |
|
zcn |
|- ( m e. ZZ -> m e. CC ) |
34 |
33
|
adantl |
|- ( ( y e. NN /\ m e. ZZ ) -> m e. CC ) |
35 |
|
2cnd |
|- ( ( y e. NN /\ m e. ZZ ) -> 2 e. CC ) |
36 |
|
nncn |
|- ( y e. NN -> y e. CC ) |
37 |
36
|
adantr |
|- ( ( y e. NN /\ m e. ZZ ) -> y e. CC ) |
38 |
35 37
|
mulcld |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 x. y ) e. CC ) |
39 |
34 38
|
mulcld |
|- ( ( y e. NN /\ m e. ZZ ) -> ( m x. ( 2 x. y ) ) e. CC ) |
40 |
|
1cnd |
|- ( ( y e. NN /\ m e. ZZ ) -> 1 e. CC ) |
41 |
|
subadd |
|- ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) e. CC /\ ( m x. ( 2 x. y ) ) e. CC /\ 1 e. CC ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) - ( m x. ( 2 x. y ) ) ) = 1 <-> ( ( m x. ( 2 x. y ) ) + 1 ) = ( 2 ^ ( ( 2 x. y ) - 1 ) ) ) ) |
42 |
|
eqcom |
|- ( ( ( m x. ( 2 x. y ) ) + 1 ) = ( 2 ^ ( ( 2 x. y ) - 1 ) ) <-> ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( ( m x. ( 2 x. y ) ) + 1 ) ) |
43 |
41 42
|
bitrdi |
|- ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) e. CC /\ ( m x. ( 2 x. y ) ) e. CC /\ 1 e. CC ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) - ( m x. ( 2 x. y ) ) ) = 1 <-> ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( ( m x. ( 2 x. y ) ) + 1 ) ) ) |
44 |
32 39 40 43
|
syl3anc |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) - ( m x. ( 2 x. y ) ) ) = 1 <-> ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( ( m x. ( 2 x. y ) ) + 1 ) ) ) |
45 |
|
2cnd |
|- ( y e. NN -> 2 e. CC ) |
46 |
45 36
|
mulcld |
|- ( y e. NN -> ( 2 x. y ) e. CC ) |
47 |
|
1cnd |
|- ( y e. NN -> 1 e. CC ) |
48 |
46 47
|
subcld |
|- ( y e. NN -> ( ( 2 x. y ) - 1 ) e. CC ) |
49 |
48
|
adantr |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 x. y ) - 1 ) e. CC ) |
50 |
|
npcan1 |
|- ( ( ( 2 x. y ) - 1 ) e. CC -> ( ( ( ( 2 x. y ) - 1 ) - 1 ) + 1 ) = ( ( 2 x. y ) - 1 ) ) |
51 |
49 50
|
syl |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( ( ( 2 x. y ) - 1 ) - 1 ) + 1 ) = ( ( 2 x. y ) - 1 ) ) |
52 |
51
|
eqcomd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 x. y ) - 1 ) = ( ( ( ( 2 x. y ) - 1 ) - 1 ) + 1 ) ) |
53 |
52
|
oveq2d |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( 2 ^ ( ( ( ( 2 x. y ) - 1 ) - 1 ) + 1 ) ) ) |
54 |
|
2t1e2 |
|- ( 2 x. 1 ) = 2 |
55 |
54
|
eqcomi |
|- 2 = ( 2 x. 1 ) |
56 |
55
|
oveq2i |
|- ( ( 2 x. y ) - 2 ) = ( ( 2 x. y ) - ( 2 x. 1 ) ) |
57 |
|
sub1m1 |
|- ( ( 2 x. y ) e. CC -> ( ( ( 2 x. y ) - 1 ) - 1 ) = ( ( 2 x. y ) - 2 ) ) |
58 |
38 57
|
syl |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( ( 2 x. y ) - 1 ) - 1 ) = ( ( 2 x. y ) - 2 ) ) |
59 |
35 37 40
|
subdid |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 x. ( y - 1 ) ) = ( ( 2 x. y ) - ( 2 x. 1 ) ) ) |
60 |
56 58 59
|
3eqtr4a |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( ( 2 x. y ) - 1 ) - 1 ) = ( 2 x. ( y - 1 ) ) ) |
61 |
|
2nn0 |
|- 2 e. NN0 |
62 |
61
|
a1i |
|- ( ( y e. NN /\ m e. ZZ ) -> 2 e. NN0 ) |
63 |
|
nnm1nn0 |
|- ( y e. NN -> ( y - 1 ) e. NN0 ) |
64 |
63
|
adantr |
|- ( ( y e. NN /\ m e. ZZ ) -> ( y - 1 ) e. NN0 ) |
65 |
62 64
|
nn0mulcld |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 x. ( y - 1 ) ) e. NN0 ) |
66 |
60 65
|
eqeltrd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( ( 2 x. y ) - 1 ) - 1 ) e. NN0 ) |
67 |
35 66
|
expp1d |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( ( ( 2 x. y ) - 1 ) - 1 ) + 1 ) ) = ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) x. 2 ) ) |
68 |
35 66
|
expcld |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) e. CC ) |
69 |
68 35
|
mulcomd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) x. 2 ) = ( 2 x. ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) ) ) |
70 |
67 69
|
eqtrd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( ( ( 2 x. y ) - 1 ) - 1 ) + 1 ) ) = ( 2 x. ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) ) ) |
71 |
53 70
|
eqtrd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( 2 x. ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) ) ) |
72 |
34 35 37
|
mul12d |
|- ( ( y e. NN /\ m e. ZZ ) -> ( m x. ( 2 x. y ) ) = ( 2 x. ( m x. y ) ) ) |
73 |
71 72
|
oveq12d |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) - ( m x. ( 2 x. y ) ) ) = ( ( 2 x. ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) ) - ( 2 x. ( m x. y ) ) ) ) |
74 |
34 37
|
mulcld |
|- ( ( y e. NN /\ m e. ZZ ) -> ( m x. y ) e. CC ) |
75 |
35 68 74
|
subdid |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) = ( ( 2 x. ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) ) - ( 2 x. ( m x. y ) ) ) ) |
76 |
75
|
eqcomd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 x. ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) ) - ( 2 x. ( m x. y ) ) ) = ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) ) |
77 |
73 76
|
eqtrd |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) - ( m x. ( 2 x. y ) ) ) = ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) ) |
78 |
77
|
eqeq1d |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) - ( m x. ( 2 x. y ) ) ) = 1 <-> ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) = 1 ) ) |
79 |
|
zexpcl |
|- ( ( 2 e. ZZ /\ ( ( ( 2 x. y ) - 1 ) - 1 ) e. NN0 ) -> ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) e. ZZ ) |
80 |
19 66 79
|
sylancr |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) e. ZZ ) |
81 |
|
simpr |
|- ( ( y e. NN /\ m e. ZZ ) -> m e. ZZ ) |
82 |
|
nnz |
|- ( y e. NN -> y e. ZZ ) |
83 |
82
|
adantr |
|- ( ( y e. NN /\ m e. ZZ ) -> y e. ZZ ) |
84 |
81 83
|
zmulcld |
|- ( ( y e. NN /\ m e. ZZ ) -> ( m x. y ) e. ZZ ) |
85 |
80 84
|
zsubcld |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) e. ZZ ) |
86 |
|
m2even |
|- ( ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) e. ZZ -> ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) e. Even ) |
87 |
85 86
|
syl |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) e. Even ) |
88 |
|
1oddALTV |
|- 1 e. Odd |
89 |
|
zneoALTV |
|- ( ( ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) e. Even /\ 1 e. Odd ) -> ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) =/= 1 ) |
90 |
87 88 89
|
sylancl |
|- ( ( y e. NN /\ m e. ZZ ) -> ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) =/= 1 ) |
91 |
|
eqneqall |
|- ( ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) = 1 -> ( ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) =/= 1 -> X e. Odd ) ) |
92 |
90 91
|
syl5com |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 x. ( ( 2 ^ ( ( ( 2 x. y ) - 1 ) - 1 ) ) - ( m x. y ) ) ) = 1 -> X e. Odd ) ) |
93 |
78 92
|
sylbid |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) - ( m x. ( 2 x. y ) ) ) = 1 -> X e. Odd ) ) |
94 |
44 93
|
sylbird |
|- ( ( y e. NN /\ m e. ZZ ) -> ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( ( m x. ( 2 x. y ) ) + 1 ) -> X e. Odd ) ) |
95 |
94
|
rexlimdva |
|- ( y e. NN -> ( E. m e. ZZ ( 2 ^ ( ( 2 x. y ) - 1 ) ) = ( ( m x. ( 2 x. y ) ) + 1 ) -> X e. Odd ) ) |
96 |
29 95
|
syld |
|- ( y e. NN -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) = 1 -> X e. Odd ) ) |
97 |
96
|
adantl |
|- ( ( X e. ( ZZ>= ` 4 ) /\ y e. NN ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) = 1 -> X e. Odd ) ) |
98 |
97
|
adantr |
|- ( ( ( X e. ( ZZ>= ` 4 ) /\ y e. NN ) /\ X = ( 2 x. y ) ) -> ( ( ( 2 ^ ( ( 2 x. y ) - 1 ) ) mod ( 2 x. y ) ) = 1 -> X e. Odd ) ) |
99 |
18 98
|
sylbid |
|- ( ( ( X e. ( ZZ>= ` 4 ) /\ y e. NN ) /\ X = ( 2 x. y ) ) -> ( ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 -> X e. Odd ) ) |
100 |
99
|
ex |
|- ( ( X e. ( ZZ>= ` 4 ) /\ y e. NN ) -> ( X = ( 2 x. y ) -> ( ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 -> X e. Odd ) ) ) |
101 |
100
|
rexlimdva |
|- ( X e. ( ZZ>= ` 4 ) -> ( E. y e. NN X = ( 2 x. y ) -> ( ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 -> X e. Odd ) ) ) |
102 |
101
|
com23 |
|- ( X e. ( ZZ>= ` 4 ) -> ( ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 -> ( E. y e. NN X = ( 2 x. y ) -> X e. Odd ) ) ) |
103 |
102
|
imp |
|- ( ( X e. ( ZZ>= ` 4 ) /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) -> ( E. y e. NN X = ( 2 x. y ) -> X e. Odd ) ) |
104 |
12 103
|
syld |
|- ( ( X e. ( ZZ>= ` 4 ) /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) -> ( -. X e. Odd -> X e. Odd ) ) |
105 |
104
|
3adant2 |
|- ( ( X e. ( ZZ>= ` 4 ) /\ X e/ Prime /\ ( ( 2 ^ ( X - 1 ) ) mod X ) = 1 ) -> ( -. X e. Odd -> X e. Odd ) ) |
106 |
3 105
|
sylbi |
|- ( X e. ( FPPr ` 2 ) -> ( -. X e. Odd -> X e. Odd ) ) |
107 |
106
|
pm2.18d |
|- ( X e. ( FPPr ` 2 ) -> X e. Odd ) |