MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  gausslemma2d Structured version   Visualization version   GIF version

Theorem gausslemma2d 26042
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.)
Hypotheses
Ref Expression
gausslemma2d.p (𝜑𝑃 ∈ (ℙ ∖ {2}))
gausslemma2d.h 𝐻 = ((𝑃 − 1) / 2)
gausslemma2d.r 𝑅 = (𝑥 ∈ (1...𝐻) ↦ if((𝑥 · 2) < (𝑃 / 2), (𝑥 · 2), (𝑃 − (𝑥 · 2))))
gausslemma2d.m 𝑀 = (⌊‘(𝑃 / 4))
gausslemma2d.n 𝑁 = (𝐻𝑀)
Assertion
Ref Expression
gausslemma2d (𝜑 → (2 /L 𝑃) = (-1↑𝑁))
Distinct variable groups:   𝑥,𝐻   𝑥,𝑃   𝜑,𝑥   𝑥,𝑀
Allowed substitution hints:   𝑅(𝑥)   𝑁(𝑥)

Proof of Theorem gausslemma2d
StepHypRef Expression
1 gausslemma2d.p . . 3 (𝜑𝑃 ∈ (ℙ ∖ {2}))
2 gausslemma2d.h . . 3 𝐻 = ((𝑃 − 1) / 2)
3 gausslemma2d.r . . 3 𝑅 = (𝑥 ∈ (1...𝐻) ↦ if((𝑥 · 2) < (𝑃 / 2), (𝑥 · 2), (𝑃 − (𝑥 · 2))))
4 gausslemma2d.m . . 3 𝑀 = (⌊‘(𝑃 / 4))
5 gausslemma2d.n . . 3 𝑁 = (𝐻𝑀)
61, 2, 3, 4, 5gausslemma2dlem7 26041 . 2 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1)
7 eldifi 4028 . . . . . . 7 (𝑃 ∈ (ℙ ∖ {2}) → 𝑃 ∈ ℙ)
8 prmnn 16055 . . . . . . . . 9 (𝑃 ∈ ℙ → 𝑃 ∈ ℕ)
98nnred 11674 . . . . . . . 8 (𝑃 ∈ ℙ → 𝑃 ∈ ℝ)
10 prmgt1 16078 . . . . . . . 8 (𝑃 ∈ ℙ → 1 < 𝑃)
119, 10jca 516 . . . . . . 7 (𝑃 ∈ ℙ → (𝑃 ∈ ℝ ∧ 1 < 𝑃))
121, 7, 113syl 18 . . . . . 6 (𝜑 → (𝑃 ∈ ℝ ∧ 1 < 𝑃))
13 1mod 13305 . . . . . 6 ((𝑃 ∈ ℝ ∧ 1 < 𝑃) → (1 mod 𝑃) = 1)
1412, 13syl 17 . . . . 5 (𝜑 → (1 mod 𝑃) = 1)
1514eqcomd 2765 . . . 4 (𝜑 → 1 = (1 mod 𝑃))
1615eqeq2d 2770 . . 3 (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1 ↔ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)))
17 neg1z 12042 . . . . . . . . . . 11 -1 ∈ ℤ
181, 4, 2, 5gausslemma2dlem0h 26031 . . . . . . . . . . 11 (𝜑𝑁 ∈ ℕ0)
19 zexpcl 13479 . . . . . . . . . . 11 ((-1 ∈ ℤ ∧ 𝑁 ∈ ℕ0) → (-1↑𝑁) ∈ ℤ)
2017, 18, 19sylancr 591 . . . . . . . . . 10 (𝜑 → (-1↑𝑁) ∈ ℤ)
21 2nn 11732 . . . . . . . . . . . . 13 2 ∈ ℕ
2221a1i 11 . . . . . . . . . . . 12 (𝜑 → 2 ∈ ℕ)
231, 2gausslemma2dlem0b 26025 . . . . . . . . . . . . 13 (𝜑𝐻 ∈ ℕ)
2423nnnn0d 11979 . . . . . . . . . . . 12 (𝜑𝐻 ∈ ℕ0)
2522, 24nnexpcld 13641 . . . . . . . . . . 11 (𝜑 → (2↑𝐻) ∈ ℕ)
2625nnzd 12110 . . . . . . . . . 10 (𝜑 → (2↑𝐻) ∈ ℤ)
2720, 26zmulcld 12117 . . . . . . . . 9 (𝜑 → ((-1↑𝑁) · (2↑𝐻)) ∈ ℤ)
2827zred 12111 . . . . . . . 8 (𝜑 → ((-1↑𝑁) · (2↑𝐻)) ∈ ℝ)
29 1red 10665 . . . . . . . 8 (𝜑 → 1 ∈ ℝ)
3028, 29jca 516 . . . . . . 7 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) ∈ ℝ ∧ 1 ∈ ℝ))
3130adantr 485 . . . . . 6 ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → (((-1↑𝑁) · (2↑𝐻)) ∈ ℝ ∧ 1 ∈ ℝ))
321gausslemma2dlem0a 26024 . . . . . . . . 9 (𝜑𝑃 ∈ ℕ)
3332nnrpd 12455 . . . . . . . 8 (𝜑𝑃 ∈ ℝ+)
3420, 33jca 516 . . . . . . 7 (𝜑 → ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈ ℝ+))
3534adantr 485 . . . . . 6 ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈ ℝ+))
36 simpr 489 . . . . . 6 ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃))
37 modmul1 13326 . . . . . 6 (((((-1↑𝑁) · (2↑𝐻)) ∈ ℝ ∧ 1 ∈ ℝ) ∧ ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈ ℝ+) ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃))
3831, 35, 36, 37syl3anc 1369 . . . . 5 ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃))
3938ex 417 . . . 4 (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃)))
4020zcnd 12112 . . . . . . . . 9 (𝜑 → (-1↑𝑁) ∈ ℂ)
4125nncnd 11675 . . . . . . . . 9 (𝜑 → (2↑𝐻) ∈ ℂ)
4240, 41, 40mul32d 10873 . . . . . . . 8 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) = (((-1↑𝑁) · (-1↑𝑁)) · (2↑𝐻)))
4318nn0cnd 11981 . . . . . . . . . . . . 13 (𝜑𝑁 ∈ ℂ)
44432timesd 11902 . . . . . . . . . . . 12 (𝜑 → (2 · 𝑁) = (𝑁 + 𝑁))
4544eqcomd 2765 . . . . . . . . . . 11 (𝜑 → (𝑁 + 𝑁) = (2 · 𝑁))
4645oveq2d 7159 . . . . . . . . . 10 (𝜑 → (-1↑(𝑁 + 𝑁)) = (-1↑(2 · 𝑁)))
47 neg1cn 11773 . . . . . . . . . . . 12 -1 ∈ ℂ
4847a1i 11 . . . . . . . . . . 11 (𝜑 → -1 ∈ ℂ)
4948, 18, 18expaddd 13547 . . . . . . . . . 10 (𝜑 → (-1↑(𝑁 + 𝑁)) = ((-1↑𝑁) · (-1↑𝑁)))
5018nn0zd 12109 . . . . . . . . . . 11 (𝜑𝑁 ∈ ℤ)
51 m1expeven 13511 . . . . . . . . . . 11 (𝑁 ∈ ℤ → (-1↑(2 · 𝑁)) = 1)
5250, 51syl 17 . . . . . . . . . 10 (𝜑 → (-1↑(2 · 𝑁)) = 1)
5346, 49, 523eqtr3d 2802 . . . . . . . . 9 (𝜑 → ((-1↑𝑁) · (-1↑𝑁)) = 1)
5453oveq1d 7158 . . . . . . . 8 (𝜑 → (((-1↑𝑁) · (-1↑𝑁)) · (2↑𝐻)) = (1 · (2↑𝐻)))
5541mulid2d 10682 . . . . . . . 8 (𝜑 → (1 · (2↑𝐻)) = (2↑𝐻))
5642, 54, 553eqtrd 2798 . . . . . . 7 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) = (2↑𝐻))
5756oveq1d 7158 . . . . . 6 (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((2↑𝐻) mod 𝑃))
5840mulid2d 10682 . . . . . . 7 (𝜑 → (1 · (-1↑𝑁)) = (-1↑𝑁))
5958oveq1d 7158 . . . . . 6 (𝜑 → ((1 · (-1↑𝑁)) mod 𝑃) = ((-1↑𝑁) mod 𝑃))
6057, 59eqeq12d 2775 . . . . 5 (𝜑 → (((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃) ↔ ((2↑𝐻) mod 𝑃) = ((-1↑𝑁) mod 𝑃)))
612oveq2i 7154 . . . . . . . 8 (2↑𝐻) = (2↑((𝑃 − 1) / 2))
6261oveq1i 7153 . . . . . . 7 ((2↑𝐻) mod 𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃)
6362eqeq1i 2764 . . . . . 6 (((2↑𝐻) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ ((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃))
64 2z 12038 . . . . . . . . . 10 2 ∈ ℤ
65 lgsvalmod 25984 . . . . . . . . . 10 ((2 ∈ ℤ ∧ 𝑃 ∈ (ℙ ∖ {2})) → ((2 /L 𝑃) mod 𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃))
6664, 1, 65sylancr 591 . . . . . . . . 9 (𝜑 → ((2 /L 𝑃) mod 𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃))
6766eqcomd 2765 . . . . . . . 8 (𝜑 → ((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((2 /L 𝑃) mod 𝑃))
6867eqeq1d 2761 . . . . . . 7 (𝜑 → (((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ ((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃)))
691, 4, 2, 5gausslemma2dlem0i 26032 . . . . . . 7 (𝜑 → (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))
7068, 69sylbid 243 . . . . . 6 (𝜑 → (((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))
7163, 70syl5bi 245 . . . . 5 (𝜑 → (((2↑𝐻) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))
7260, 71sylbid 243 . . . 4 (𝜑 → (((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))
7339, 72syld 47 . . 3 (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))
7416, 73sylbid 243 . 2 (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1 → (2 /L 𝑃) = (-1↑𝑁)))
756, 74mpd 15 1 (𝜑 → (2 /L 𝑃) = (-1↑𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 400   = wceq 1539  wcel 2112  cdif 3851  ifcif 4413  {csn 4515   class class class wbr 5025  cmpt 5105  cfv 6328  (class class class)co 7143  cc 10558  cr 10559  1c1 10561   + caddc 10563   · cmul 10565   < clt 10698  cmin 10893  -cneg 10894   / cdiv 11320  cn 11659  2c2 11714  4c4 11716  0cn0 11919  cz 12005  +crp 12415  ...cfz 12924  cfl 13194   mod cmo 13271  cexp 13464  cprime 16052   /L clgs 25962
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1912  ax-6 1971  ax-7 2016  ax-8 2114  ax-9 2122  ax-10 2143  ax-11 2159  ax-12 2176  ax-ext 2730  ax-rep 5149  ax-sep 5162  ax-nul 5169  ax-pow 5227  ax-pr 5291  ax-un 7452  ax-inf2 9122  ax-cnex 10616  ax-resscn 10617  ax-1cn 10618  ax-icn 10619  ax-addcl 10620  ax-addrcl 10621  ax-mulcl 10622  ax-mulrcl 10623  ax-mulcom 10624  ax-addass 10625  ax-mulass 10626  ax-distr 10627  ax-i2m1 10628  ax-1ne0 10629  ax-1rid 10630  ax-rnegex 10631  ax-rrecex 10632  ax-cnre 10633  ax-pre-lttri 10634  ax-pre-lttrn 10635  ax-pre-ltadd 10636  ax-pre-mulgt0 10637  ax-pre-sup 10638
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 846  df-3or 1086  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2071  df-mo 2558  df-eu 2589  df-clab 2737  df-cleq 2751  df-clel 2831  df-nfc 2899  df-ne 2950  df-nel 3054  df-ral 3073  df-rex 3074  df-reu 3075  df-rmo 3076  df-rab 3077  df-v 3409  df-sbc 3694  df-csb 3802  df-dif 3857  df-un 3859  df-in 3861  df-ss 3871  df-pss 3873  df-nul 4222  df-if 4414  df-pw 4489  df-sn 4516  df-pr 4518  df-tp 4520  df-op 4522  df-uni 4792  df-int 4832  df-iun 4878  df-br 5026  df-opab 5088  df-mpt 5106  df-tr 5132  df-id 5423  df-eprel 5428  df-po 5436  df-so 5437  df-fr 5476  df-se 5477  df-we 5478  df-xp 5523  df-rel 5524  df-cnv 5525  df-co 5526  df-dm 5527  df-rn 5528  df-res 5529  df-ima 5530  df-pred 6119  df-ord 6165  df-on 6166  df-lim 6167  df-suc 6168  df-iota 6287  df-fun 6330  df-fn 6331  df-f 6332  df-f1 6333  df-fo 6334  df-f1o 6335  df-fv 6336  df-isom 6337  df-riota 7101  df-ov 7146  df-oprab 7147  df-mpo 7148  df-om 7573  df-1st 7686  df-2nd 7687  df-wrecs 7950  df-recs 8011  df-rdg 8049  df-1o 8105  df-2o 8106  df-oadd 8109  df-er 8292  df-map 8411  df-en 8521  df-dom 8522  df-sdom 8523  df-fin 8524  df-sup 8924  df-inf 8925  df-oi 8992  df-dju 9348  df-card 9386  df-pnf 10700  df-mnf 10701  df-xr 10702  df-ltxr 10703  df-le 10704  df-sub 10895  df-neg 10896  df-div 11321  df-nn 11660  df-2 11722  df-3 11723  df-4 11724  df-5 11725  df-6 11726  df-n0 11920  df-xnn0 11992  df-z 12006  df-uz 12268  df-q 12374  df-rp 12416  df-ioo 12768  df-fz 12925  df-fzo 13068  df-fl 13196  df-mod 13272  df-seq 13404  df-exp 13465  df-fac 13669  df-hash 13726  df-cj 14491  df-re 14492  df-im 14493  df-sqrt 14627  df-abs 14628  df-clim 14878  df-prod 15293  df-dvds 15641  df-gcd 15879  df-prm 16053  df-phi 16143  df-pc 16214  df-lgs 25963
This theorem is referenced by:  2lgs  26075
  Copyright terms: Public domain W3C validator