Step |
Hyp |
Ref |
Expression |
1 |
|
gausslemma2d.p |
โข ( ๐ โ ๐ โ ( โ โ { 2 } ) ) |
2 |
|
gausslemma2d.h |
โข ๐ป = ( ( ๐ โ 1 ) / 2 ) |
3 |
|
gausslemma2d.r |
โข ๐
= ( ๐ฅ โ ( 1 ... ๐ป ) โฆ if ( ( ๐ฅ ยท 2 ) < ( ๐ / 2 ) , ( ๐ฅ ยท 2 ) , ( ๐ โ ( ๐ฅ ยท 2 ) ) ) ) |
4 |
|
gausslemma2d.m |
โข ๐ = ( โ โ ( ๐ / 4 ) ) |
5 |
1 2 3 4
|
gausslemma2dlem3 |
โข ( ๐ โ โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) = ( ๐ โ ( ๐ ยท 2 ) ) ) |
6 |
|
prodeq2 |
โข ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) = ( ๐ โ ( ๐ ยท 2 ) ) โ โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) = โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ โ ( ๐ ยท 2 ) ) ) |
7 |
6
|
oveq1d |
โข ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) = ( ๐ โ ( ๐ ยท 2 ) ) โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) mod ๐ ) = ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ โ ( ๐ ยท 2 ) ) mod ๐ ) ) |
8 |
5 7
|
syl |
โข ( ๐ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) mod ๐ ) = ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ โ ( ๐ ยท 2 ) ) mod ๐ ) ) |
9 |
|
eldifi |
โข ( ๐ โ ( โ โ { 2 } ) โ ๐ โ โ ) |
10 |
|
fzfid |
โข ( ๐ โ โ โ ( ( ๐ + 1 ) ... ๐ป ) โ Fin ) |
11 |
|
prmz |
โข ( ๐ โ โ โ ๐ โ โค ) |
12 |
11
|
adantr |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ๐ โ โค ) |
13 |
|
elfzelz |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ๐ โ โค ) |
14 |
|
2z |
โข 2 โ โค |
15 |
14
|
a1i |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ 2 โ โค ) |
16 |
13 15
|
zmulcld |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ( ๐ ยท 2 ) โ โค ) |
17 |
16
|
adantl |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( ๐ ยท 2 ) โ โค ) |
18 |
12 17
|
zsubcld |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( ๐ โ ( ๐ ยท 2 ) ) โ โค ) |
19 |
|
neg1z |
โข - 1 โ โค |
20 |
19
|
a1i |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ - 1 โ โค ) |
21 |
20 16
|
zmulcld |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ( - 1 ยท ( ๐ ยท 2 ) ) โ โค ) |
22 |
21
|
adantl |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( - 1 ยท ( ๐ ยท 2 ) ) โ โค ) |
23 |
|
prmnn |
โข ( ๐ โ โ โ ๐ โ โ ) |
24 |
16
|
zcnd |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ( ๐ ยท 2 ) โ โ ) |
25 |
24
|
mulm1d |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ( - 1 ยท ( ๐ ยท 2 ) ) = - ( ๐ ยท 2 ) ) |
26 |
25
|
adantl |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( - 1 ยท ( ๐ ยท 2 ) ) = - ( ๐ ยท 2 ) ) |
27 |
26
|
oveq1d |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( ( - 1 ยท ( ๐ ยท 2 ) ) mod ๐ ) = ( - ( ๐ ยท 2 ) mod ๐ ) ) |
28 |
16
|
zred |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ( ๐ ยท 2 ) โ โ ) |
29 |
23
|
nnrpd |
โข ( ๐ โ โ โ ๐ โ โ+ ) |
30 |
|
negmod |
โข ( ( ( ๐ ยท 2 ) โ โ โง ๐ โ โ+ ) โ ( - ( ๐ ยท 2 ) mod ๐ ) = ( ( ๐ โ ( ๐ ยท 2 ) ) mod ๐ ) ) |
31 |
28 29 30
|
syl2anr |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( - ( ๐ ยท 2 ) mod ๐ ) = ( ( ๐ โ ( ๐ ยท 2 ) ) mod ๐ ) ) |
32 |
27 31
|
eqtr2d |
โข ( ( ๐ โ โ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( ( ๐ โ ( ๐ ยท 2 ) ) mod ๐ ) = ( ( - 1 ยท ( ๐ ยท 2 ) ) mod ๐ ) ) |
33 |
10 18 22 23 32
|
fprodmodd |
โข ( ๐ โ โ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ โ ( ๐ ยท 2 ) ) mod ๐ ) = ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐ ยท 2 ) ) mod ๐ ) ) |
34 |
1 9 33
|
3syl |
โข ( ๐ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ โ ( ๐ ยท 2 ) ) mod ๐ ) = ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐ ยท 2 ) ) mod ๐ ) ) |
35 |
8 34
|
eqtrd |
โข ( ๐ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) mod ๐ ) = ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐ ยท 2 ) ) mod ๐ ) ) |