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 |
|
gausslemma2d.n |
โข ๐ = ( ๐ป โ ๐ ) |
6 |
1 2 3 4
|
gausslemma2dlem5a |
โข ( ๐ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) mod ๐ ) = ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐ ยท 2 ) ) mod ๐ ) ) |
7 |
|
fzfi |
โข ( ( ๐ + 1 ) ... ๐ป ) โ Fin |
8 |
7
|
a1i |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ Fin ) |
9 |
|
neg1cn |
โข - 1 โ โ |
10 |
9
|
a1i |
โข ( ( ๐ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ - 1 โ โ ) |
11 |
|
elfzelz |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ๐ โ โค ) |
12 |
|
2z |
โข 2 โ โค |
13 |
12
|
a1i |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ 2 โ โค ) |
14 |
11 13
|
zmulcld |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ( ๐ ยท 2 ) โ โค ) |
15 |
14
|
zcnd |
โข ( ๐ โ ( ( ๐ + 1 ) ... ๐ป ) โ ( ๐ ยท 2 ) โ โ ) |
16 |
15
|
adantl |
โข ( ( ๐ โง ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ) โ ( ๐ ยท 2 ) โ โ ) |
17 |
8 10 16
|
fprodmul |
โข ( ๐ โ โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐ ยท 2 ) ) = ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) - 1 ยท โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ ยท 2 ) ) ) |
18 |
7 9
|
pm3.2i |
โข ( ( ( ๐ + 1 ) ... ๐ป ) โ Fin โง - 1 โ โ ) |
19 |
|
fprodconst |
โข ( ( ( ( ๐ + 1 ) ... ๐ป ) โ Fin โง - 1 โ โ ) โ โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) - 1 = ( - 1 โ ( โฏ โ ( ( ๐ + 1 ) ... ๐ป ) ) ) ) |
20 |
18 19
|
mp1i |
โข ( ๐ โ โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) - 1 = ( - 1 โ ( โฏ โ ( ( ๐ + 1 ) ... ๐ป ) ) ) ) |
21 |
|
nnoddn2prm |
โข ( ๐ โ ( โ โ { 2 } ) โ ( ๐ โ โ โง ยฌ 2 โฅ ๐ ) ) |
22 |
|
nnre |
โข ( ๐ โ โ โ ๐ โ โ ) |
23 |
22
|
adantr |
โข ( ( ๐ โ โ โง ยฌ 2 โฅ ๐ ) โ ๐ โ โ ) |
24 |
1 21 23
|
3syl |
โข ( ๐ โ ๐ โ โ ) |
25 |
|
4re |
โข 4 โ โ |
26 |
25
|
a1i |
โข ( ๐ โ 4 โ โ ) |
27 |
|
4ne0 |
โข 4 โ 0 |
28 |
27
|
a1i |
โข ( ๐ โ 4 โ 0 ) |
29 |
24 26 28
|
redivcld |
โข ( ๐ โ ( ๐ / 4 ) โ โ ) |
30 |
29
|
flcld |
โข ( ๐ โ ( โ โ ( ๐ / 4 ) ) โ โค ) |
31 |
4 30
|
eqeltrid |
โข ( ๐ โ ๐ โ โค ) |
32 |
31
|
peano2zd |
โข ( ๐ โ ( ๐ + 1 ) โ โค ) |
33 |
|
nnz |
โข ( ๐ โ โ โ ๐ โ โค ) |
34 |
|
oddm1d2 |
โข ( ๐ โ โค โ ( ยฌ 2 โฅ ๐ โ ( ( ๐ โ 1 ) / 2 ) โ โค ) ) |
35 |
33 34
|
syl |
โข ( ๐ โ โ โ ( ยฌ 2 โฅ ๐ โ ( ( ๐ โ 1 ) / 2 ) โ โค ) ) |
36 |
35
|
biimpa |
โข ( ( ๐ โ โ โง ยฌ 2 โฅ ๐ ) โ ( ( ๐ โ 1 ) / 2 ) โ โค ) |
37 |
1 21 36
|
3syl |
โข ( ๐ โ ( ( ๐ โ 1 ) / 2 ) โ โค ) |
38 |
2 37
|
eqeltrid |
โข ( ๐ โ ๐ป โ โค ) |
39 |
1 4 2
|
gausslemma2dlem0f |
โข ( ๐ โ ( ๐ + 1 ) โค ๐ป ) |
40 |
|
eluz2 |
โข ( ๐ป โ ( โคโฅ โ ( ๐ + 1 ) ) โ ( ( ๐ + 1 ) โ โค โง ๐ป โ โค โง ( ๐ + 1 ) โค ๐ป ) ) |
41 |
32 38 39 40
|
syl3anbrc |
โข ( ๐ โ ๐ป โ ( โคโฅ โ ( ๐ + 1 ) ) ) |
42 |
|
hashfz |
โข ( ๐ป โ ( โคโฅ โ ( ๐ + 1 ) ) โ ( โฏ โ ( ( ๐ + 1 ) ... ๐ป ) ) = ( ( ๐ป โ ( ๐ + 1 ) ) + 1 ) ) |
43 |
41 42
|
syl |
โข ( ๐ โ ( โฏ โ ( ( ๐ + 1 ) ... ๐ป ) ) = ( ( ๐ป โ ( ๐ + 1 ) ) + 1 ) ) |
44 |
38
|
zcnd |
โข ( ๐ โ ๐ป โ โ ) |
45 |
31
|
zcnd |
โข ( ๐ โ ๐ โ โ ) |
46 |
|
1cnd |
โข ( ๐ โ 1 โ โ ) |
47 |
44 45 46
|
nppcan2d |
โข ( ๐ โ ( ( ๐ป โ ( ๐ + 1 ) ) + 1 ) = ( ๐ป โ ๐ ) ) |
48 |
47 5
|
eqtr4di |
โข ( ๐ โ ( ( ๐ป โ ( ๐ + 1 ) ) + 1 ) = ๐ ) |
49 |
43 48
|
eqtrd |
โข ( ๐ โ ( โฏ โ ( ( ๐ + 1 ) ... ๐ป ) ) = ๐ ) |
50 |
49
|
oveq2d |
โข ( ๐ โ ( - 1 โ ( โฏ โ ( ( ๐ + 1 ) ... ๐ป ) ) ) = ( - 1 โ ๐ ) ) |
51 |
20 50
|
eqtrd |
โข ( ๐ โ โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) - 1 = ( - 1 โ ๐ ) ) |
52 |
51
|
oveq1d |
โข ( ๐ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) - 1 ยท โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ ยท 2 ) ) = ( ( - 1 โ ๐ ) ยท โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ ยท 2 ) ) ) |
53 |
17 52
|
eqtrd |
โข ( ๐ โ โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐ ยท 2 ) ) = ( ( - 1 โ ๐ ) ยท โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ ยท 2 ) ) ) |
54 |
53
|
oveq1d |
โข ( ๐ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐ ยท 2 ) ) mod ๐ ) = ( ( ( - 1 โ ๐ ) ยท โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ ยท 2 ) ) mod ๐ ) ) |
55 |
6 54
|
eqtrd |
โข ( ๐ โ ( โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐
โ ๐ ) mod ๐ ) = ( ( ( - 1 โ ๐ ) ยท โ ๐ โ ( ( ๐ + 1 ) ... ๐ป ) ( ๐ ยท 2 ) ) mod ๐ ) ) |