| Step |
Hyp |
Ref |
Expression |
| 1 |
|
2lgslem1a |
|- ( ( P e. Prime /\ -. 2 || P ) -> { x e. ZZ | E. i e. ( 1 ... ( ( P - 1 ) / 2 ) ) ( x = ( i x. 2 ) /\ ( P / 2 ) < ( x mod P ) ) } = { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } ) |
| 2 |
1
|
fveq2d |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( # ` { x e. ZZ | E. i e. ( 1 ... ( ( P - 1 ) / 2 ) ) ( x = ( i x. 2 ) /\ ( P / 2 ) < ( x mod P ) ) } ) = ( # ` { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } ) ) |
| 3 |
|
ovex |
|- ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) e. _V |
| 4 |
3
|
mptex |
|- ( y e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) |-> ( y x. 2 ) ) e. _V |
| 5 |
|
f1oeq1 |
|- ( f = ( y e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) |-> ( y x. 2 ) ) -> ( f : ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } <-> ( y e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) |-> ( y x. 2 ) ) : ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } ) ) |
| 6 |
|
eqid |
|- ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) = ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) |
| 7 |
|
eqid |
|- ( y e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) |-> ( y x. 2 ) ) = ( y e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) |-> ( y x. 2 ) ) |
| 8 |
6 7
|
2lgslem1b |
|- ( y e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) |-> ( y x. 2 ) ) : ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } |
| 9 |
4 5 8
|
ceqsexv2d |
|- E. f f : ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } |
| 10 |
9
|
a1i |
|- ( ( P e. Prime /\ -. 2 || P ) -> E. f f : ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } ) |
| 11 |
|
hasheqf1oi |
|- ( ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) e. _V -> ( E. f f : ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } -> ( # ` ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) ) = ( # ` { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } ) ) ) |
| 12 |
3 10 11
|
mpsyl |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( # ` ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) ) = ( # ` { x e. ZZ | E. i e. ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) x = ( i x. 2 ) } ) ) |
| 13 |
|
prmz |
|- ( P e. Prime -> P e. ZZ ) |
| 14 |
13
|
zred |
|- ( P e. Prime -> P e. RR ) |
| 15 |
|
4re |
|- 4 e. RR |
| 16 |
15
|
a1i |
|- ( P e. Prime -> 4 e. RR ) |
| 17 |
|
4ne0 |
|- 4 =/= 0 |
| 18 |
17
|
a1i |
|- ( P e. Prime -> 4 =/= 0 ) |
| 19 |
14 16 18
|
redivcld |
|- ( P e. Prime -> ( P / 4 ) e. RR ) |
| 20 |
19
|
flcld |
|- ( P e. Prime -> ( |_ ` ( P / 4 ) ) e. ZZ ) |
| 21 |
20
|
adantr |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( |_ ` ( P / 4 ) ) e. ZZ ) |
| 22 |
|
oddm1d2 |
|- ( P e. ZZ -> ( -. 2 || P <-> ( ( P - 1 ) / 2 ) e. ZZ ) ) |
| 23 |
13 22
|
syl |
|- ( P e. Prime -> ( -. 2 || P <-> ( ( P - 1 ) / 2 ) e. ZZ ) ) |
| 24 |
23
|
biimpa |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( ( P - 1 ) / 2 ) e. ZZ ) |
| 25 |
|
2lgslem1c |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( |_ ` ( P / 4 ) ) <_ ( ( P - 1 ) / 2 ) ) |
| 26 |
|
eluz2 |
|- ( ( ( P - 1 ) / 2 ) e. ( ZZ>= ` ( |_ ` ( P / 4 ) ) ) <-> ( ( |_ ` ( P / 4 ) ) e. ZZ /\ ( ( P - 1 ) / 2 ) e. ZZ /\ ( |_ ` ( P / 4 ) ) <_ ( ( P - 1 ) / 2 ) ) ) |
| 27 |
21 24 25 26
|
syl3anbrc |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( ( P - 1 ) / 2 ) e. ( ZZ>= ` ( |_ ` ( P / 4 ) ) ) ) |
| 28 |
|
hashfzp1 |
|- ( ( ( P - 1 ) / 2 ) e. ( ZZ>= ` ( |_ ` ( P / 4 ) ) ) -> ( # ` ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) ) = ( ( ( P - 1 ) / 2 ) - ( |_ ` ( P / 4 ) ) ) ) |
| 29 |
27 28
|
syl |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( # ` ( ( ( |_ ` ( P / 4 ) ) + 1 ) ... ( ( P - 1 ) / 2 ) ) ) = ( ( ( P - 1 ) / 2 ) - ( |_ ` ( P / 4 ) ) ) ) |
| 30 |
2 12 29
|
3eqtr2d |
|- ( ( P e. Prime /\ -. 2 || P ) -> ( # ` { x e. ZZ | E. i e. ( 1 ... ( ( P - 1 ) / 2 ) ) ( x = ( i x. 2 ) /\ ( P / 2 ) < ( x mod P ) ) } ) = ( ( ( P - 1 ) / 2 ) - ( |_ ` ( P / 4 ) ) ) ) |