Metamath Proof Explorer


Theorem gausslemma2dlem5a

Description: Lemma for gausslemma2dlem5 . (Contributed by AV, 8-Jul-2021)

Ref Expression
Hypotheses gausslemma2d.p โŠข ( ๐œ‘ โ†’ ๐‘ƒ โˆˆ ( โ„™ โˆ– { 2 } ) )
gausslemma2d.h โŠข ๐ป = ( ( ๐‘ƒ โˆ’ 1 ) / 2 )
gausslemma2d.r โŠข ๐‘… = ( ๐‘ฅ โˆˆ ( 1 ... ๐ป ) โ†ฆ if ( ( ๐‘ฅ ยท 2 ) < ( ๐‘ƒ / 2 ) , ( ๐‘ฅ ยท 2 ) , ( ๐‘ƒ โˆ’ ( ๐‘ฅ ยท 2 ) ) ) )
gausslemma2d.m โŠข ๐‘€ = ( โŒŠ โ€˜ ( ๐‘ƒ / 4 ) )
Assertion gausslemma2dlem5a ( ๐œ‘ โ†’ ( โˆ ๐‘˜ โˆˆ ( ( ๐‘€ + 1 ) ... ๐ป ) ( ๐‘… โ€˜ ๐‘˜ ) mod ๐‘ƒ ) = ( โˆ ๐‘˜ โˆˆ ( ( ๐‘€ + 1 ) ... ๐ป ) ( - 1 ยท ( ๐‘˜ ยท 2 ) ) mod ๐‘ƒ ) )

Proof

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 ๐‘ƒ ) )