Metamath Proof Explorer


Theorem gausslemma2d

Description: Gauss' Lemma (see also theorem 9.6 in ApostolNT p. 182) for integer 2 : Let p be an odd prime. Let S = {2, 4, 6, ..., p - 1}. Let n denote the number of elements of S whose least positive residue modulo p is greater than p/2. Then ( 2 | p ) = (-1)^n. (Contributed by AV, 14-Jul-2021)

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

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 gausslemma2d.n โŠข ๐‘ = ( ๐ป โˆ’ ๐‘€ )
6 1 2 3 4 5 gausslemma2dlem7 โŠข ( ๐œ‘ โ†’ ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = 1 )
7 eldifi โŠข ( ๐‘ƒ โˆˆ ( โ„™ โˆ– { 2 } ) โ†’ ๐‘ƒ โˆˆ โ„™ )
8 prmnn โŠข ( ๐‘ƒ โˆˆ โ„™ โ†’ ๐‘ƒ โˆˆ โ„• )
9 8 nnred โŠข ( ๐‘ƒ โˆˆ โ„™ โ†’ ๐‘ƒ โˆˆ โ„ )
10 prmgt1 โŠข ( ๐‘ƒ โˆˆ โ„™ โ†’ 1 < ๐‘ƒ )
11 9 10 jca โŠข ( ๐‘ƒ โˆˆ โ„™ โ†’ ( ๐‘ƒ โˆˆ โ„ โˆง 1 < ๐‘ƒ ) )
12 1 7 11 3syl โŠข ( ๐œ‘ โ†’ ( ๐‘ƒ โˆˆ โ„ โˆง 1 < ๐‘ƒ ) )
13 1mod โŠข ( ( ๐‘ƒ โˆˆ โ„ โˆง 1 < ๐‘ƒ ) โ†’ ( 1 mod ๐‘ƒ ) = 1 )
14 12 13 syl โŠข ( ๐œ‘ โ†’ ( 1 mod ๐‘ƒ ) = 1 )
15 14 eqcomd โŠข ( ๐œ‘ โ†’ 1 = ( 1 mod ๐‘ƒ ) )
16 15 eqeq2d โŠข ( ๐œ‘ โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = 1 โ†” ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) ) )
17 neg1z โŠข - 1 โˆˆ โ„ค
18 1 4 2 5 gausslemma2dlem0h โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ โ„•0 )
19 zexpcl โŠข ( ( - 1 โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„•0 ) โ†’ ( - 1 โ†‘ ๐‘ ) โˆˆ โ„ค )
20 17 18 19 sylancr โŠข ( ๐œ‘ โ†’ ( - 1 โ†‘ ๐‘ ) โˆˆ โ„ค )
21 2nn โŠข 2 โˆˆ โ„•
22 21 a1i โŠข ( ๐œ‘ โ†’ 2 โˆˆ โ„• )
23 1 2 gausslemma2dlem0b โŠข ( ๐œ‘ โ†’ ๐ป โˆˆ โ„• )
24 23 nnnn0d โŠข ( ๐œ‘ โ†’ ๐ป โˆˆ โ„•0 )
25 22 24 nnexpcld โŠข ( ๐œ‘ โ†’ ( 2 โ†‘ ๐ป ) โˆˆ โ„• )
26 25 nnzd โŠข ( ๐œ‘ โ†’ ( 2 โ†‘ ๐ป ) โˆˆ โ„ค )
27 20 26 zmulcld โŠข ( ๐œ‘ โ†’ ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) โˆˆ โ„ค )
28 27 zred โŠข ( ๐œ‘ โ†’ ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) โˆˆ โ„ )
29 1red โŠข ( ๐œ‘ โ†’ 1 โˆˆ โ„ )
30 28 29 jca โŠข ( ๐œ‘ โ†’ ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) โˆˆ โ„ โˆง 1 โˆˆ โ„ ) )
31 30 adantr โŠข ( ( ๐œ‘ โˆง ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) ) โ†’ ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) โˆˆ โ„ โˆง 1 โˆˆ โ„ ) )
32 1 gausslemma2dlem0a โŠข ( ๐œ‘ โ†’ ๐‘ƒ โˆˆ โ„• )
33 32 nnrpd โŠข ( ๐œ‘ โ†’ ๐‘ƒ โˆˆ โ„+ )
34 20 33 jca โŠข ( ๐œ‘ โ†’ ( ( - 1 โ†‘ ๐‘ ) โˆˆ โ„ค โˆง ๐‘ƒ โˆˆ โ„+ ) )
35 34 adantr โŠข ( ( ๐œ‘ โˆง ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) ) โ†’ ( ( - 1 โ†‘ ๐‘ ) โˆˆ โ„ค โˆง ๐‘ƒ โˆˆ โ„+ ) )
36 simpr โŠข ( ( ๐œ‘ โˆง ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) ) โ†’ ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) )
37 modmul1 โŠข ( ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) โˆˆ โ„ โˆง 1 โˆˆ โ„ ) โˆง ( ( - 1 โ†‘ ๐‘ ) โˆˆ โ„ค โˆง ๐‘ƒ โˆˆ โ„+ ) โˆง ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) ) โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) = ( ( 1 ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) )
38 31 35 36 37 syl3anc โŠข ( ( ๐œ‘ โˆง ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) ) โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) = ( ( 1 ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) )
39 38 ex โŠข ( ๐œ‘ โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) = ( ( 1 ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) ) )
40 20 zcnd โŠข ( ๐œ‘ โ†’ ( - 1 โ†‘ ๐‘ ) โˆˆ โ„‚ )
41 25 nncnd โŠข ( ๐œ‘ โ†’ ( 2 โ†‘ ๐ป ) โˆˆ โ„‚ )
42 40 41 40 mul32d โŠข ( ๐œ‘ โ†’ ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) = ( ( ( - 1 โ†‘ ๐‘ ) ยท ( - 1 โ†‘ ๐‘ ) ) ยท ( 2 โ†‘ ๐ป ) ) )
43 18 nn0cnd โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ โ„‚ )
44 43 2timesd โŠข ( ๐œ‘ โ†’ ( 2 ยท ๐‘ ) = ( ๐‘ + ๐‘ ) )
45 44 eqcomd โŠข ( ๐œ‘ โ†’ ( ๐‘ + ๐‘ ) = ( 2 ยท ๐‘ ) )
46 45 oveq2d โŠข ( ๐œ‘ โ†’ ( - 1 โ†‘ ( ๐‘ + ๐‘ ) ) = ( - 1 โ†‘ ( 2 ยท ๐‘ ) ) )
47 neg1cn โŠข - 1 โˆˆ โ„‚
48 47 a1i โŠข ( ๐œ‘ โ†’ - 1 โˆˆ โ„‚ )
49 48 18 18 expaddd โŠข ( ๐œ‘ โ†’ ( - 1 โ†‘ ( ๐‘ + ๐‘ ) ) = ( ( - 1 โ†‘ ๐‘ ) ยท ( - 1 โ†‘ ๐‘ ) ) )
50 18 nn0zd โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ โ„ค )
51 m1expeven โŠข ( ๐‘ โˆˆ โ„ค โ†’ ( - 1 โ†‘ ( 2 ยท ๐‘ ) ) = 1 )
52 50 51 syl โŠข ( ๐œ‘ โ†’ ( - 1 โ†‘ ( 2 ยท ๐‘ ) ) = 1 )
53 46 49 52 3eqtr3d โŠข ( ๐œ‘ โ†’ ( ( - 1 โ†‘ ๐‘ ) ยท ( - 1 โ†‘ ๐‘ ) ) = 1 )
54 53 oveq1d โŠข ( ๐œ‘ โ†’ ( ( ( - 1 โ†‘ ๐‘ ) ยท ( - 1 โ†‘ ๐‘ ) ) ยท ( 2 โ†‘ ๐ป ) ) = ( 1 ยท ( 2 โ†‘ ๐ป ) ) )
55 41 mullidd โŠข ( ๐œ‘ โ†’ ( 1 ยท ( 2 โ†‘ ๐ป ) ) = ( 2 โ†‘ ๐ป ) )
56 42 54 55 3eqtrd โŠข ( ๐œ‘ โ†’ ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) = ( 2 โ†‘ ๐ป ) )
57 56 oveq1d โŠข ( ๐œ‘ โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) = ( ( 2 โ†‘ ๐ป ) mod ๐‘ƒ ) )
58 40 mullidd โŠข ( ๐œ‘ โ†’ ( 1 ยท ( - 1 โ†‘ ๐‘ ) ) = ( - 1 โ†‘ ๐‘ ) )
59 58 oveq1d โŠข ( ๐œ‘ โ†’ ( ( 1 ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) )
60 57 59 eqeq12d โŠข ( ๐œ‘ โ†’ ( ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) = ( ( 1 ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) โ†” ( ( 2 โ†‘ ๐ป ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) ) )
61 2 oveq2i โŠข ( 2 โ†‘ ๐ป ) = ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) )
62 61 oveq1i โŠข ( ( 2 โ†‘ ๐ป ) mod ๐‘ƒ ) = ( ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) ) mod ๐‘ƒ )
63 62 eqeq1i โŠข ( ( ( 2 โ†‘ ๐ป ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) โ†” ( ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) )
64 2z โŠข 2 โˆˆ โ„ค
65 lgsvalmod โŠข ( ( 2 โˆˆ โ„ค โˆง ๐‘ƒ โˆˆ ( โ„™ โˆ– { 2 } ) ) โ†’ ( ( 2 /L ๐‘ƒ ) mod ๐‘ƒ ) = ( ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) ) mod ๐‘ƒ ) )
66 64 1 65 sylancr โŠข ( ๐œ‘ โ†’ ( ( 2 /L ๐‘ƒ ) mod ๐‘ƒ ) = ( ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) ) mod ๐‘ƒ ) )
67 66 eqcomd โŠข ( ๐œ‘ โ†’ ( ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) ) mod ๐‘ƒ ) = ( ( 2 /L ๐‘ƒ ) mod ๐‘ƒ ) )
68 67 eqeq1d โŠข ( ๐œ‘ โ†’ ( ( ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) โ†” ( ( 2 /L ๐‘ƒ ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) ) )
69 1 4 2 5 gausslemma2dlem0i โŠข ( ๐œ‘ โ†’ ( ( ( 2 /L ๐‘ƒ ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) โ†’ ( 2 /L ๐‘ƒ ) = ( - 1 โ†‘ ๐‘ ) ) )
70 68 69 sylbid โŠข ( ๐œ‘ โ†’ ( ( ( 2 โ†‘ ( ( ๐‘ƒ โˆ’ 1 ) / 2 ) ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) โ†’ ( 2 /L ๐‘ƒ ) = ( - 1 โ†‘ ๐‘ ) ) )
71 63 70 biimtrid โŠข ( ๐œ‘ โ†’ ( ( ( 2 โ†‘ ๐ป ) mod ๐‘ƒ ) = ( ( - 1 โ†‘ ๐‘ ) mod ๐‘ƒ ) โ†’ ( 2 /L ๐‘ƒ ) = ( - 1 โ†‘ ๐‘ ) ) )
72 60 71 sylbid โŠข ( ๐œ‘ โ†’ ( ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) = ( ( 1 ยท ( - 1 โ†‘ ๐‘ ) ) mod ๐‘ƒ ) โ†’ ( 2 /L ๐‘ƒ ) = ( - 1 โ†‘ ๐‘ ) ) )
73 39 72 syld โŠข ( ๐œ‘ โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = ( 1 mod ๐‘ƒ ) โ†’ ( 2 /L ๐‘ƒ ) = ( - 1 โ†‘ ๐‘ ) ) )
74 16 73 sylbid โŠข ( ๐œ‘ โ†’ ( ( ( ( - 1 โ†‘ ๐‘ ) ยท ( 2 โ†‘ ๐ป ) ) mod ๐‘ƒ ) = 1 โ†’ ( 2 /L ๐‘ƒ ) = ( - 1 โ†‘ ๐‘ ) ) )
75 6 74 mpd โŠข ( ๐œ‘ โ†’ ( 2 /L ๐‘ƒ ) = ( - 1 โ†‘ ๐‘ ) )