Step |
Hyp |
Ref |
Expression |
1 |
|
lgseisen.1 |
|- ( ph -> P e. ( Prime \ { 2 } ) ) |
2 |
|
lgseisen.2 |
|- ( ph -> Q e. ( Prime \ { 2 } ) ) |
3 |
|
lgseisen.3 |
|- ( ph -> P =/= Q ) |
4 |
|
lgseisen.4 |
|- R = ( ( Q x. ( 2 x. x ) ) mod P ) |
5 |
|
lgseisen.5 |
|- M = ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) |-> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) |
6 |
|
1zzd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 1 e. ZZ ) |
7 |
1
|
adantr |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P e. ( Prime \ { 2 } ) ) |
8 |
|
oddprm |
|- ( P e. ( Prime \ { 2 } ) -> ( ( P - 1 ) / 2 ) e. NN ) |
9 |
7 8
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( P - 1 ) / 2 ) e. NN ) |
10 |
9
|
nnzd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( P - 1 ) / 2 ) e. ZZ ) |
11 |
|
neg1cn |
|- -u 1 e. CC |
12 |
11
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> -u 1 e. CC ) |
13 |
|
neg1ne0 |
|- -u 1 =/= 0 |
14 |
13
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> -u 1 =/= 0 ) |
15 |
|
2z |
|- 2 e. ZZ |
16 |
15
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> 2 e. ZZ ) |
17 |
|
simpr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( R / 2 ) e. ZZ ) |
18 |
|
expmulz |
|- ( ( ( -u 1 e. CC /\ -u 1 =/= 0 ) /\ ( 2 e. ZZ /\ ( R / 2 ) e. ZZ ) ) -> ( -u 1 ^ ( 2 x. ( R / 2 ) ) ) = ( ( -u 1 ^ 2 ) ^ ( R / 2 ) ) ) |
19 |
12 14 16 17 18
|
syl22anc |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( -u 1 ^ ( 2 x. ( R / 2 ) ) ) = ( ( -u 1 ^ 2 ) ^ ( R / 2 ) ) ) |
20 |
2
|
adantr |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> Q e. ( Prime \ { 2 } ) ) |
21 |
20
|
eldifad |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> Q e. Prime ) |
22 |
|
prmz |
|- ( Q e. Prime -> Q e. ZZ ) |
23 |
21 22
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> Q e. ZZ ) |
24 |
|
elfzelz |
|- ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> x e. ZZ ) |
25 |
24
|
adantl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> x e. ZZ ) |
26 |
|
zmulcl |
|- ( ( 2 e. ZZ /\ x e. ZZ ) -> ( 2 x. x ) e. ZZ ) |
27 |
15 25 26
|
sylancr |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 2 x. x ) e. ZZ ) |
28 |
23 27
|
zmulcld |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( Q x. ( 2 x. x ) ) e. ZZ ) |
29 |
7
|
eldifad |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P e. Prime ) |
30 |
|
prmnn |
|- ( P e. Prime -> P e. NN ) |
31 |
29 30
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P e. NN ) |
32 |
|
zmodfz |
|- ( ( ( Q x. ( 2 x. x ) ) e. ZZ /\ P e. NN ) -> ( ( Q x. ( 2 x. x ) ) mod P ) e. ( 0 ... ( P - 1 ) ) ) |
33 |
28 31 32
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( Q x. ( 2 x. x ) ) mod P ) e. ( 0 ... ( P - 1 ) ) ) |
34 |
4 33
|
eqeltrid |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. ( 0 ... ( P - 1 ) ) ) |
35 |
|
elfznn0 |
|- ( R e. ( 0 ... ( P - 1 ) ) -> R e. NN0 ) |
36 |
34 35
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. NN0 ) |
37 |
36
|
nn0zd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. ZZ ) |
38 |
37
|
zcnd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. CC ) |
39 |
38
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> R e. CC ) |
40 |
|
2cnd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> 2 e. CC ) |
41 |
|
2ne0 |
|- 2 =/= 0 |
42 |
41
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> 2 =/= 0 ) |
43 |
39 40 42
|
divcan2d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( 2 x. ( R / 2 ) ) = R ) |
44 |
43
|
oveq2d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( -u 1 ^ ( 2 x. ( R / 2 ) ) ) = ( -u 1 ^ R ) ) |
45 |
|
neg1sqe1 |
|- ( -u 1 ^ 2 ) = 1 |
46 |
45
|
oveq1i |
|- ( ( -u 1 ^ 2 ) ^ ( R / 2 ) ) = ( 1 ^ ( R / 2 ) ) |
47 |
|
1exp |
|- ( ( R / 2 ) e. ZZ -> ( 1 ^ ( R / 2 ) ) = 1 ) |
48 |
47
|
adantl |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( 1 ^ ( R / 2 ) ) = 1 ) |
49 |
46 48
|
syl5eq |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( ( -u 1 ^ 2 ) ^ ( R / 2 ) ) = 1 ) |
50 |
19 44 49
|
3eqtr3d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( -u 1 ^ R ) = 1 ) |
51 |
50
|
oveq1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( ( -u 1 ^ R ) x. R ) = ( 1 x. R ) ) |
52 |
39
|
mulid2d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( 1 x. R ) = R ) |
53 |
51 52
|
eqtrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( ( -u 1 ^ R ) x. R ) = R ) |
54 |
53
|
oveq1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) = ( R mod P ) ) |
55 |
36
|
nn0red |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. RR ) |
56 |
31
|
nnrpd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P e. RR+ ) |
57 |
36
|
nn0ge0d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 0 <_ R ) |
58 |
28
|
zred |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( Q x. ( 2 x. x ) ) e. RR ) |
59 |
|
modlt |
|- ( ( ( Q x. ( 2 x. x ) ) e. RR /\ P e. RR+ ) -> ( ( Q x. ( 2 x. x ) ) mod P ) < P ) |
60 |
58 56 59
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( Q x. ( 2 x. x ) ) mod P ) < P ) |
61 |
4 60
|
eqbrtrid |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R < P ) |
62 |
|
modid |
|- ( ( ( R e. RR /\ P e. RR+ ) /\ ( 0 <_ R /\ R < P ) ) -> ( R mod P ) = R ) |
63 |
55 56 57 61 62
|
syl22anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( R mod P ) = R ) |
64 |
63
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( R mod P ) = R ) |
65 |
54 64
|
eqtrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) = R ) |
66 |
65
|
oveq1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) = ( R / 2 ) ) |
67 |
66 17
|
eqeltrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( R / 2 ) e. ZZ ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. ZZ ) |
68 |
31
|
nncnd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P e. CC ) |
69 |
68
|
mulid2d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 1 x. P ) = P ) |
70 |
69
|
oveq2d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -u R + ( 1 x. P ) ) = ( -u R + P ) ) |
71 |
55
|
renegcld |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -u R e. RR ) |
72 |
71
|
recnd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -u R e. CC ) |
73 |
68 72
|
addcomd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P + -u R ) = ( -u R + P ) ) |
74 |
68 38
|
negsubd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P + -u R ) = ( P - R ) ) |
75 |
70 73 74
|
3eqtr2d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -u R + ( 1 x. P ) ) = ( P - R ) ) |
76 |
75
|
oveq1d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( -u R + ( 1 x. P ) ) mod P ) = ( ( P - R ) mod P ) ) |
77 |
|
modcyc |
|- ( ( -u R e. RR /\ P e. RR+ /\ 1 e. ZZ ) -> ( ( -u R + ( 1 x. P ) ) mod P ) = ( -u R mod P ) ) |
78 |
71 56 6 77
|
syl3anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( -u R + ( 1 x. P ) ) mod P ) = ( -u R mod P ) ) |
79 |
31
|
nnred |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P e. RR ) |
80 |
79 55
|
resubcld |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P - R ) e. RR ) |
81 |
55 79 61
|
ltled |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R <_ P ) |
82 |
79 55
|
subge0d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 0 <_ ( P - R ) <-> R <_ P ) ) |
83 |
81 82
|
mpbird |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 0 <_ ( P - R ) ) |
84 |
|
2nn |
|- 2 e. NN |
85 |
|
elfznn |
|- ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> x e. NN ) |
86 |
85
|
adantl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> x e. NN ) |
87 |
|
nnmulcl |
|- ( ( 2 e. NN /\ x e. NN ) -> ( 2 x. x ) e. NN ) |
88 |
84 86 87
|
sylancr |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 2 x. x ) e. NN ) |
89 |
|
elfzle2 |
|- ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> x <_ ( ( P - 1 ) / 2 ) ) |
90 |
89
|
adantl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> x <_ ( ( P - 1 ) / 2 ) ) |
91 |
86
|
nnred |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> x e. RR ) |
92 |
|
prmuz2 |
|- ( P e. Prime -> P e. ( ZZ>= ` 2 ) ) |
93 |
|
uz2m1nn |
|- ( P e. ( ZZ>= ` 2 ) -> ( P - 1 ) e. NN ) |
94 |
29 92 93
|
3syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P - 1 ) e. NN ) |
95 |
94
|
nnred |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P - 1 ) e. RR ) |
96 |
|
2re |
|- 2 e. RR |
97 |
96
|
a1i |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 2 e. RR ) |
98 |
|
2pos |
|- 0 < 2 |
99 |
98
|
a1i |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 0 < 2 ) |
100 |
|
lemuldiv2 |
|- ( ( x e. RR /\ ( P - 1 ) e. RR /\ ( 2 e. RR /\ 0 < 2 ) ) -> ( ( 2 x. x ) <_ ( P - 1 ) <-> x <_ ( ( P - 1 ) / 2 ) ) ) |
101 |
91 95 97 99 100
|
syl112anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( 2 x. x ) <_ ( P - 1 ) <-> x <_ ( ( P - 1 ) / 2 ) ) ) |
102 |
90 101
|
mpbird |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 2 x. x ) <_ ( P - 1 ) ) |
103 |
|
prmz |
|- ( P e. Prime -> P e. ZZ ) |
104 |
29 103
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P e. ZZ ) |
105 |
|
peano2zm |
|- ( P e. ZZ -> ( P - 1 ) e. ZZ ) |
106 |
|
fznn |
|- ( ( P - 1 ) e. ZZ -> ( ( 2 x. x ) e. ( 1 ... ( P - 1 ) ) <-> ( ( 2 x. x ) e. NN /\ ( 2 x. x ) <_ ( P - 1 ) ) ) ) |
107 |
104 105 106
|
3syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( 2 x. x ) e. ( 1 ... ( P - 1 ) ) <-> ( ( 2 x. x ) e. NN /\ ( 2 x. x ) <_ ( P - 1 ) ) ) ) |
108 |
88 102 107
|
mpbir2and |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 2 x. x ) e. ( 1 ... ( P - 1 ) ) ) |
109 |
|
fzm1ndvds |
|- ( ( P e. NN /\ ( 2 x. x ) e. ( 1 ... ( P - 1 ) ) ) -> -. P || ( 2 x. x ) ) |
110 |
31 108 109
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. P || ( 2 x. x ) ) |
111 |
3
|
adantr |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> P =/= Q ) |
112 |
|
prmrp |
|- ( ( P e. Prime /\ Q e. Prime ) -> ( ( P gcd Q ) = 1 <-> P =/= Q ) ) |
113 |
29 21 112
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( P gcd Q ) = 1 <-> P =/= Q ) ) |
114 |
111 113
|
mpbird |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P gcd Q ) = 1 ) |
115 |
|
coprmdvds |
|- ( ( P e. ZZ /\ Q e. ZZ /\ ( 2 x. x ) e. ZZ ) -> ( ( P || ( Q x. ( 2 x. x ) ) /\ ( P gcd Q ) = 1 ) -> P || ( 2 x. x ) ) ) |
116 |
104 23 27 115
|
syl3anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( P || ( Q x. ( 2 x. x ) ) /\ ( P gcd Q ) = 1 ) -> P || ( 2 x. x ) ) ) |
117 |
114 116
|
mpan2d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P || ( Q x. ( 2 x. x ) ) -> P || ( 2 x. x ) ) ) |
118 |
110 117
|
mtod |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. P || ( Q x. ( 2 x. x ) ) ) |
119 |
|
dvdsval3 |
|- ( ( P e. NN /\ ( Q x. ( 2 x. x ) ) e. ZZ ) -> ( P || ( Q x. ( 2 x. x ) ) <-> ( ( Q x. ( 2 x. x ) ) mod P ) = 0 ) ) |
120 |
31 28 119
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P || ( Q x. ( 2 x. x ) ) <-> ( ( Q x. ( 2 x. x ) ) mod P ) = 0 ) ) |
121 |
118 120
|
mtbid |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. ( ( Q x. ( 2 x. x ) ) mod P ) = 0 ) |
122 |
4
|
eqeq1i |
|- ( R = 0 <-> ( ( Q x. ( 2 x. x ) ) mod P ) = 0 ) |
123 |
121 122
|
sylnibr |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. R = 0 ) |
124 |
94
|
nnnn0d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P - 1 ) e. NN0 ) |
125 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
126 |
124 125
|
eleqtrdi |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P - 1 ) e. ( ZZ>= ` 0 ) ) |
127 |
|
elfzp12 |
|- ( ( P - 1 ) e. ( ZZ>= ` 0 ) -> ( R e. ( 0 ... ( P - 1 ) ) <-> ( R = 0 \/ R e. ( ( 0 + 1 ) ... ( P - 1 ) ) ) ) ) |
128 |
126 127
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( R e. ( 0 ... ( P - 1 ) ) <-> ( R = 0 \/ R e. ( ( 0 + 1 ) ... ( P - 1 ) ) ) ) ) |
129 |
34 128
|
mpbid |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( R = 0 \/ R e. ( ( 0 + 1 ) ... ( P - 1 ) ) ) ) |
130 |
129
|
ord |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -. R = 0 -> R e. ( ( 0 + 1 ) ... ( P - 1 ) ) ) ) |
131 |
123 130
|
mpd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. ( ( 0 + 1 ) ... ( P - 1 ) ) ) |
132 |
|
1e0p1 |
|- 1 = ( 0 + 1 ) |
133 |
132
|
oveq1i |
|- ( 1 ... ( P - 1 ) ) = ( ( 0 + 1 ) ... ( P - 1 ) ) |
134 |
131 133
|
eleqtrrdi |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. ( 1 ... ( P - 1 ) ) ) |
135 |
|
elfznn |
|- ( R e. ( 1 ... ( P - 1 ) ) -> R e. NN ) |
136 |
134 135
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. NN ) |
137 |
136
|
nnrpd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> R e. RR+ ) |
138 |
79 137
|
ltsubrpd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P - R ) < P ) |
139 |
|
modid |
|- ( ( ( ( P - R ) e. RR /\ P e. RR+ ) /\ ( 0 <_ ( P - R ) /\ ( P - R ) < P ) ) -> ( ( P - R ) mod P ) = ( P - R ) ) |
140 |
80 56 83 138 139
|
syl22anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( P - R ) mod P ) = ( P - R ) ) |
141 |
76 78 140
|
3eqtr3d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -u R mod P ) = ( P - R ) ) |
142 |
141
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( -u R mod P ) = ( P - R ) ) |
143 |
|
ax-1cn |
|- 1 e. CC |
144 |
143
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> 1 e. CC ) |
145 |
136
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> R e. NN ) |
146 |
37
|
peano2zd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( R + 1 ) e. ZZ ) |
147 |
|
dvdsval2 |
|- ( ( 2 e. ZZ /\ 2 =/= 0 /\ ( R + 1 ) e. ZZ ) -> ( 2 || ( R + 1 ) <-> ( ( R + 1 ) / 2 ) e. ZZ ) ) |
148 |
15 41 146 147
|
mp3an12i |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 2 || ( R + 1 ) <-> ( ( R + 1 ) / 2 ) e. ZZ ) ) |
149 |
148
|
biimpar |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> 2 || ( R + 1 ) ) |
150 |
37
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> R e. ZZ ) |
151 |
84
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> 2 e. NN ) |
152 |
|
1lt2 |
|- 1 < 2 |
153 |
152
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> 1 < 2 ) |
154 |
|
ndvdsp1 |
|- ( ( R e. ZZ /\ 2 e. NN /\ 1 < 2 ) -> ( 2 || R -> -. 2 || ( R + 1 ) ) ) |
155 |
150 151 153 154
|
syl3anc |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( 2 || R -> -. 2 || ( R + 1 ) ) ) |
156 |
149 155
|
mt2d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> -. 2 || R ) |
157 |
|
oexpneg |
|- ( ( 1 e. CC /\ R e. NN /\ -. 2 || R ) -> ( -u 1 ^ R ) = -u ( 1 ^ R ) ) |
158 |
144 145 156 157
|
syl3anc |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( -u 1 ^ R ) = -u ( 1 ^ R ) ) |
159 |
|
1exp |
|- ( R e. ZZ -> ( 1 ^ R ) = 1 ) |
160 |
150 159
|
syl |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( 1 ^ R ) = 1 ) |
161 |
160
|
negeqd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> -u ( 1 ^ R ) = -u 1 ) |
162 |
158 161
|
eqtrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( -u 1 ^ R ) = -u 1 ) |
163 |
162
|
oveq1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( -u 1 ^ R ) x. R ) = ( -u 1 x. R ) ) |
164 |
38
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> R e. CC ) |
165 |
164
|
mulm1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( -u 1 x. R ) = -u R ) |
166 |
163 165
|
eqtrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( -u 1 ^ R ) x. R ) = -u R ) |
167 |
166
|
oveq1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) = ( -u R mod P ) ) |
168 |
68
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> P e. CC ) |
169 |
168 164 144
|
pnpcan2d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( P + 1 ) - ( R + 1 ) ) = ( P - R ) ) |
170 |
142 167 169
|
3eqtr4d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) = ( ( P + 1 ) - ( R + 1 ) ) ) |
171 |
170
|
oveq1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) = ( ( ( P + 1 ) - ( R + 1 ) ) / 2 ) ) |
172 |
|
peano2cn |
|- ( P e. CC -> ( P + 1 ) e. CC ) |
173 |
168 172
|
syl |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( P + 1 ) e. CC ) |
174 |
|
peano2cn |
|- ( R e. CC -> ( R + 1 ) e. CC ) |
175 |
164 174
|
syl |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( R + 1 ) e. CC ) |
176 |
|
2cnd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> 2 e. CC ) |
177 |
41
|
a1i |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> 2 =/= 0 ) |
178 |
173 175 176 177
|
divsubdird |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( P + 1 ) - ( R + 1 ) ) / 2 ) = ( ( ( P + 1 ) / 2 ) - ( ( R + 1 ) / 2 ) ) ) |
179 |
171 178
|
eqtrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) = ( ( ( P + 1 ) / 2 ) - ( ( R + 1 ) / 2 ) ) ) |
180 |
168 144 176
|
subadd23d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( P - 1 ) + 2 ) = ( P + ( 2 - 1 ) ) ) |
181 |
|
2m1e1 |
|- ( 2 - 1 ) = 1 |
182 |
181
|
oveq2i |
|- ( P + ( 2 - 1 ) ) = ( P + 1 ) |
183 |
180 182
|
eqtr2di |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( P + 1 ) = ( ( P - 1 ) + 2 ) ) |
184 |
183
|
oveq1d |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( P + 1 ) / 2 ) = ( ( ( P - 1 ) + 2 ) / 2 ) ) |
185 |
94
|
nncnd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P - 1 ) e. CC ) |
186 |
185
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( P - 1 ) e. CC ) |
187 |
186 176 176 177
|
divdird |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( P - 1 ) + 2 ) / 2 ) = ( ( ( P - 1 ) / 2 ) + ( 2 / 2 ) ) ) |
188 |
|
2div2e1 |
|- ( 2 / 2 ) = 1 |
189 |
188
|
oveq2i |
|- ( ( ( P - 1 ) / 2 ) + ( 2 / 2 ) ) = ( ( ( P - 1 ) / 2 ) + 1 ) |
190 |
187 189
|
eqtrdi |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( P - 1 ) + 2 ) / 2 ) = ( ( ( P - 1 ) / 2 ) + 1 ) ) |
191 |
184 190
|
eqtrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( P + 1 ) / 2 ) = ( ( ( P - 1 ) / 2 ) + 1 ) ) |
192 |
10
|
adantr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( P - 1 ) / 2 ) e. ZZ ) |
193 |
192
|
peano2zd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( P - 1 ) / 2 ) + 1 ) e. ZZ ) |
194 |
191 193
|
eqeltrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( P + 1 ) / 2 ) e. ZZ ) |
195 |
|
simpr |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( R + 1 ) / 2 ) e. ZZ ) |
196 |
194 195
|
zsubcld |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( P + 1 ) / 2 ) - ( ( R + 1 ) / 2 ) ) e. ZZ ) |
197 |
179 196
|
eqeltrd |
|- ( ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) /\ ( ( R + 1 ) / 2 ) e. ZZ ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. ZZ ) |
198 |
|
zeo |
|- ( R e. ZZ -> ( ( R / 2 ) e. ZZ \/ ( ( R + 1 ) / 2 ) e. ZZ ) ) |
199 |
37 198
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( R / 2 ) e. ZZ \/ ( ( R + 1 ) / 2 ) e. ZZ ) ) |
200 |
67 197 199
|
mpjaodan |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. ZZ ) |
201 |
|
m1expcl |
|- ( R e. ZZ -> ( -u 1 ^ R ) e. ZZ ) |
202 |
37 201
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -u 1 ^ R ) e. ZZ ) |
203 |
202 37
|
zmulcld |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( -u 1 ^ R ) x. R ) e. ZZ ) |
204 |
203 31
|
zmodcld |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) e. NN0 ) |
205 |
204
|
nn0red |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) e. RR ) |
206 |
|
fzm1ndvds |
|- ( ( P e. NN /\ R e. ( 1 ... ( P - 1 ) ) ) -> -. P || R ) |
207 |
31 134 206
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. P || R ) |
208 |
|
ax-1ne0 |
|- 1 =/= 0 |
209 |
|
divneg2 |
|- ( ( 1 e. CC /\ 1 e. CC /\ 1 =/= 0 ) -> -u ( 1 / 1 ) = ( 1 / -u 1 ) ) |
210 |
143 143 208 209
|
mp3an |
|- -u ( 1 / 1 ) = ( 1 / -u 1 ) |
211 |
|
1div1e1 |
|- ( 1 / 1 ) = 1 |
212 |
211
|
negeqi |
|- -u ( 1 / 1 ) = -u 1 |
213 |
210 212
|
eqtr3i |
|- ( 1 / -u 1 ) = -u 1 |
214 |
213
|
oveq1i |
|- ( ( 1 / -u 1 ) ^ R ) = ( -u 1 ^ R ) |
215 |
11
|
a1i |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -u 1 e. CC ) |
216 |
13
|
a1i |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -u 1 =/= 0 ) |
217 |
215 216 37
|
exprecd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( 1 / -u 1 ) ^ R ) = ( 1 / ( -u 1 ^ R ) ) ) |
218 |
214 217
|
eqtr3id |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -u 1 ^ R ) = ( 1 / ( -u 1 ^ R ) ) ) |
219 |
218
|
oveq2d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( -u 1 ^ R ) x. ( -u 1 ^ R ) ) = ( ( -u 1 ^ R ) x. ( 1 / ( -u 1 ^ R ) ) ) ) |
220 |
202
|
zcnd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -u 1 ^ R ) e. CC ) |
221 |
215 216 37
|
expne0d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -u 1 ^ R ) =/= 0 ) |
222 |
220 221
|
recidd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( -u 1 ^ R ) x. ( 1 / ( -u 1 ^ R ) ) ) = 1 ) |
223 |
219 222
|
eqtrd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( -u 1 ^ R ) x. ( -u 1 ^ R ) ) = 1 ) |
224 |
223
|
oveq1d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( -u 1 ^ R ) x. ( -u 1 ^ R ) ) x. R ) = ( 1 x. R ) ) |
225 |
220 220 38
|
mulassd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( -u 1 ^ R ) x. ( -u 1 ^ R ) ) x. R ) = ( ( -u 1 ^ R ) x. ( ( -u 1 ^ R ) x. R ) ) ) |
226 |
38
|
mulid2d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( 1 x. R ) = R ) |
227 |
224 225 226
|
3eqtr3d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( -u 1 ^ R ) x. ( ( -u 1 ^ R ) x. R ) ) = R ) |
228 |
227
|
breq2d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P || ( ( -u 1 ^ R ) x. ( ( -u 1 ^ R ) x. R ) ) <-> P || R ) ) |
229 |
207 228
|
mtbird |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. P || ( ( -u 1 ^ R ) x. ( ( -u 1 ^ R ) x. R ) ) ) |
230 |
|
dvdsmultr2 |
|- ( ( P e. ZZ /\ ( -u 1 ^ R ) e. ZZ /\ ( ( -u 1 ^ R ) x. R ) e. ZZ ) -> ( P || ( ( -u 1 ^ R ) x. R ) -> P || ( ( -u 1 ^ R ) x. ( ( -u 1 ^ R ) x. R ) ) ) ) |
231 |
104 202 203 230
|
syl3anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P || ( ( -u 1 ^ R ) x. R ) -> P || ( ( -u 1 ^ R ) x. ( ( -u 1 ^ R ) x. R ) ) ) ) |
232 |
229 231
|
mtod |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. P || ( ( -u 1 ^ R ) x. R ) ) |
233 |
|
dvdsval3 |
|- ( ( P e. NN /\ ( ( -u 1 ^ R ) x. R ) e. ZZ ) -> ( P || ( ( -u 1 ^ R ) x. R ) <-> ( ( ( -u 1 ^ R ) x. R ) mod P ) = 0 ) ) |
234 |
31 203 233
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( P || ( ( -u 1 ^ R ) x. R ) <-> ( ( ( -u 1 ^ R ) x. R ) mod P ) = 0 ) ) |
235 |
232 234
|
mtbid |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> -. ( ( ( -u 1 ^ R ) x. R ) mod P ) = 0 ) |
236 |
|
elnn0 |
|- ( ( ( ( -u 1 ^ R ) x. R ) mod P ) e. NN0 <-> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) e. NN \/ ( ( ( -u 1 ^ R ) x. R ) mod P ) = 0 ) ) |
237 |
204 236
|
sylib |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) e. NN \/ ( ( ( -u 1 ^ R ) x. R ) mod P ) = 0 ) ) |
238 |
237
|
ord |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( -. ( ( ( -u 1 ^ R ) x. R ) mod P ) e. NN -> ( ( ( -u 1 ^ R ) x. R ) mod P ) = 0 ) ) |
239 |
235 238
|
mt3d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) e. NN ) |
240 |
239
|
nngt0d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 0 < ( ( ( -u 1 ^ R ) x. R ) mod P ) ) |
241 |
205 97 240 99
|
divgt0d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 0 < ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) |
242 |
|
elnnz |
|- ( ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. NN <-> ( ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. ZZ /\ 0 < ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) ) |
243 |
200 241 242
|
sylanbrc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. NN ) |
244 |
243
|
nnge1d |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> 1 <_ ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) |
245 |
|
zmodfz |
|- ( ( ( ( -u 1 ^ R ) x. R ) e. ZZ /\ P e. NN ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) e. ( 0 ... ( P - 1 ) ) ) |
246 |
203 31 245
|
syl2anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) e. ( 0 ... ( P - 1 ) ) ) |
247 |
|
elfzle2 |
|- ( ( ( ( -u 1 ^ R ) x. R ) mod P ) e. ( 0 ... ( P - 1 ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) <_ ( P - 1 ) ) |
248 |
246 247
|
syl |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) <_ ( P - 1 ) ) |
249 |
|
lediv1 |
|- ( ( ( ( ( -u 1 ^ R ) x. R ) mod P ) e. RR /\ ( P - 1 ) e. RR /\ ( 2 e. RR /\ 0 < 2 ) ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) <_ ( P - 1 ) <-> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) <_ ( ( P - 1 ) / 2 ) ) ) |
250 |
205 95 97 99 249
|
syl112anc |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) <_ ( P - 1 ) <-> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) <_ ( ( P - 1 ) / 2 ) ) ) |
251 |
248 250
|
mpbid |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) <_ ( ( P - 1 ) / 2 ) ) |
252 |
6 10 200 244 251
|
elfzd |
|- ( ( ph /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) |
253 |
252 5
|
fmptd |
|- ( ph -> M : ( 1 ... ( ( P - 1 ) / 2 ) ) --> ( 1 ... ( ( P - 1 ) / 2 ) ) ) |