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

Theorem 4sqlem4 16880
Description: Lemma for 4sq 16892. We can express the four-square property more compactly in terms of gaussian integers, because the norms of gaussian integers are exactly sums of two squares. (Contributed by Mario Carneiro, 14-Jul-2014.)
Hypothesis
Ref Expression
4sq.1 𝑆 = {𝑛 ∣ ∃𝑥 ∈ ℤ ∃𝑦 ∈ ℤ ∃𝑧 ∈ ℤ ∃𝑤 ∈ ℤ 𝑛 = (((𝑥↑2) + (𝑦↑2)) + ((𝑧↑2) + (𝑤↑2)))}
Assertion
Ref Expression
4sqlem4 (𝐴𝑆 ↔ ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
Distinct variable groups:   𝑤,𝑛,𝑥,𝑦,𝑧   𝑣,𝑛,𝐴,𝑢   𝑆,𝑛,𝑢,𝑣   𝑢,𝐴
Allowed substitution hints:   𝐴(𝑥,𝑦,𝑧,𝑤)   𝑆(𝑥,𝑦,𝑧,𝑤)

Proof of Theorem 4sqlem4
Dummy variables 𝑎 𝑏 𝑐 𝑑 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 4sq.1 . . . 4 𝑆 = {𝑛 ∣ ∃𝑥 ∈ ℤ ∃𝑦 ∈ ℤ ∃𝑧 ∈ ℤ ∃𝑤 ∈ ℤ 𝑛 = (((𝑥↑2) + (𝑦↑2)) + ((𝑧↑2) + (𝑤↑2)))}
214sqlem2 16877 . . 3 (𝐴𝑆 ↔ ∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ∃𝑐 ∈ ℤ ∃𝑑 ∈ ℤ 𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))))
3 gzreim 16867 . . . . . . . 8 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 + (i · 𝑏)) ∈ ℤ[i])
43adantr 482 . . . . . . 7 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (𝑎 + (i · 𝑏)) ∈ ℤ[i])
5 gzreim 16867 . . . . . . . 8 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (𝑐 + (i · 𝑑)) ∈ ℤ[i])
65adantl 483 . . . . . . 7 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (𝑐 + (i · 𝑑)) ∈ ℤ[i])
7 gzcn 16860 . . . . . . . . . . . 12 ((𝑎 + (i · 𝑏)) ∈ ℤ[i] → (𝑎 + (i · 𝑏)) ∈ ℂ)
83, 7syl 17 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 + (i · 𝑏)) ∈ ℂ)
98absvalsq2d 15385 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((abs‘(𝑎 + (i · 𝑏)))↑2) = (((ℜ‘(𝑎 + (i · 𝑏)))↑2) + ((ℑ‘(𝑎 + (i · 𝑏)))↑2)))
10 zre 12557 . . . . . . . . . . . . 13 (𝑎 ∈ ℤ → 𝑎 ∈ ℝ)
11 zre 12557 . . . . . . . . . . . . 13 (𝑏 ∈ ℤ → 𝑏 ∈ ℝ)
12 crre 15056 . . . . . . . . . . . . 13 ((𝑎 ∈ ℝ ∧ 𝑏 ∈ ℝ) → (ℜ‘(𝑎 + (i · 𝑏))) = 𝑎)
1310, 11, 12syl2an 597 . . . . . . . . . . . 12 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (ℜ‘(𝑎 + (i · 𝑏))) = 𝑎)
1413oveq1d 7418 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((ℜ‘(𝑎 + (i · 𝑏)))↑2) = (𝑎↑2))
15 crim 15057 . . . . . . . . . . . . 13 ((𝑎 ∈ ℝ ∧ 𝑏 ∈ ℝ) → (ℑ‘(𝑎 + (i · 𝑏))) = 𝑏)
1610, 11, 15syl2an 597 . . . . . . . . . . . 12 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (ℑ‘(𝑎 + (i · 𝑏))) = 𝑏)
1716oveq1d 7418 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((ℑ‘(𝑎 + (i · 𝑏)))↑2) = (𝑏↑2))
1814, 17oveq12d 7421 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (((ℜ‘(𝑎 + (i · 𝑏)))↑2) + ((ℑ‘(𝑎 + (i · 𝑏)))↑2)) = ((𝑎↑2) + (𝑏↑2)))
199, 18eqtrd 2773 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((abs‘(𝑎 + (i · 𝑏)))↑2) = ((𝑎↑2) + (𝑏↑2)))
20 gzcn 16860 . . . . . . . . . . . 12 ((𝑐 + (i · 𝑑)) ∈ ℤ[i] → (𝑐 + (i · 𝑑)) ∈ ℂ)
215, 20syl 17 . . . . . . . . . . 11 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (𝑐 + (i · 𝑑)) ∈ ℂ)
2221absvalsq2d 15385 . . . . . . . . . 10 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((abs‘(𝑐 + (i · 𝑑)))↑2) = (((ℜ‘(𝑐 + (i · 𝑑)))↑2) + ((ℑ‘(𝑐 + (i · 𝑑)))↑2)))
23 zre 12557 . . . . . . . . . . . . 13 (𝑐 ∈ ℤ → 𝑐 ∈ ℝ)
24 zre 12557 . . . . . . . . . . . . 13 (𝑑 ∈ ℤ → 𝑑 ∈ ℝ)
25 crre 15056 . . . . . . . . . . . . 13 ((𝑐 ∈ ℝ ∧ 𝑑 ∈ ℝ) → (ℜ‘(𝑐 + (i · 𝑑))) = 𝑐)
2623, 24, 25syl2an 597 . . . . . . . . . . . 12 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (ℜ‘(𝑐 + (i · 𝑑))) = 𝑐)
2726oveq1d 7418 . . . . . . . . . . 11 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((ℜ‘(𝑐 + (i · 𝑑)))↑2) = (𝑐↑2))
28 crim 15057 . . . . . . . . . . . . 13 ((𝑐 ∈ ℝ ∧ 𝑑 ∈ ℝ) → (ℑ‘(𝑐 + (i · 𝑑))) = 𝑑)
2923, 24, 28syl2an 597 . . . . . . . . . . . 12 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (ℑ‘(𝑐 + (i · 𝑑))) = 𝑑)
3029oveq1d 7418 . . . . . . . . . . 11 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((ℑ‘(𝑐 + (i · 𝑑)))↑2) = (𝑑↑2))
3127, 30oveq12d 7421 . . . . . . . . . 10 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (((ℜ‘(𝑐 + (i · 𝑑)))↑2) + ((ℑ‘(𝑐 + (i · 𝑑)))↑2)) = ((𝑐↑2) + (𝑑↑2)))
3222, 31eqtrd 2773 . . . . . . . . 9 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((abs‘(𝑐 + (i · 𝑑)))↑2) = ((𝑐↑2) + (𝑑↑2)))
3319, 32oveqan12d 7422 . . . . . . . 8 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2)) = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))))
3433eqcomd 2739 . . . . . . 7 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2)))
35 fveq2 6887 . . . . . . . . . . 11 (𝑢 = (𝑎 + (i · 𝑏)) → (abs‘𝑢) = (abs‘(𝑎 + (i · 𝑏))))
3635oveq1d 7418 . . . . . . . . . 10 (𝑢 = (𝑎 + (i · 𝑏)) → ((abs‘𝑢)↑2) = ((abs‘(𝑎 + (i · 𝑏)))↑2))
3736oveq1d 7418 . . . . . . . . 9 (𝑢 = (𝑎 + (i · 𝑏)) → (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2)))
3837eqeq2d 2744 . . . . . . . 8 (𝑢 = (𝑎 + (i · 𝑏)) → ((((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ↔ (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2))))
39 fveq2 6887 . . . . . . . . . . 11 (𝑣 = (𝑐 + (i · 𝑑)) → (abs‘𝑣) = (abs‘(𝑐 + (i · 𝑑))))
4039oveq1d 7418 . . . . . . . . . 10 (𝑣 = (𝑐 + (i · 𝑑)) → ((abs‘𝑣)↑2) = ((abs‘(𝑐 + (i · 𝑑)))↑2))
4140oveq2d 7419 . . . . . . . . 9 (𝑣 = (𝑐 + (i · 𝑑)) → (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2)) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2)))
4241eqeq2d 2744 . . . . . . . 8 (𝑣 = (𝑐 + (i · 𝑑)) → ((((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2)) ↔ (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2))))
4338, 42rspc2ev 3622 . . . . . . 7 (((𝑎 + (i · 𝑏)) ∈ ℤ[i] ∧ (𝑐 + (i · 𝑑)) ∈ ℤ[i] ∧ (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2))) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
444, 6, 34, 43syl3anc 1372 . . . . . 6 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
45 eqeq1 2737 . . . . . . 7 (𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → (𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ↔ (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
46452rexbidv 3220 . . . . . 6 (𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → (∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ↔ ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
4744, 46syl5ibrcom 246 . . . . 5 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
4847rexlimdvva 3212 . . . 4 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (∃𝑐 ∈ ℤ ∃𝑑 ∈ ℤ 𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
4948rexlimivv 3200 . . 3 (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ∃𝑐 ∈ ℤ ∃𝑑 ∈ ℤ 𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
502, 49sylbi 216 . 2 (𝐴𝑆 → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
5114sqlem4a 16879 . . . 4 ((𝑢 ∈ ℤ[i] ∧ 𝑣 ∈ ℤ[i]) → (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ∈ 𝑆)
52 eleq1a 2829 . . . 4 ((((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ∈ 𝑆 → (𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) → 𝐴𝑆))
5351, 52syl 17 . . 3 ((𝑢 ∈ ℤ[i] ∧ 𝑣 ∈ ℤ[i]) → (𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) → 𝐴𝑆))
5453rexlimivv 3200 . 2 (∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) → 𝐴𝑆)
5550, 54impbii 208 1 (𝐴𝑆 ↔ ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 397   = wceq 1542  wcel 2107  {cab 2710  wrex 3071  cfv 6539  (class class class)co 7403  cc 11103  cr 11104  ici 11107   + caddc 11108   · cmul 11110  2c2 12262  cz 12553  cexp 14022  cre 15039  cim 15040  abscabs 15176  ℤ[i]cgz 16857
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 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2704  ax-sep 5297  ax-nul 5304  ax-pow 5361  ax-pr 5425  ax-un 7719  ax-cnex 11161  ax-resscn 11162  ax-1cn 11163  ax-icn 11164  ax-addcl 11165  ax-addrcl 11166  ax-mulcl 11167  ax-mulrcl 11168  ax-mulcom 11169  ax-addass 11170  ax-mulass 11171  ax-distr 11172  ax-i2m1 11173  ax-1ne0 11174  ax-1rid 11175  ax-rnegex 11176  ax-rrecex 11177  ax-cnre 11178  ax-pre-lttri 11179  ax-pre-lttrn 11180  ax-pre-ltadd 11181  ax-pre-mulgt0 11182  ax-pre-sup 11183
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 847  df-3or 1089  df-3an 1090  df-tru 1545  df-fal 1555  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2535  df-eu 2564  df-clab 2711  df-cleq 2725  df-clel 2811  df-nfc 2886  df-ne 2942  df-nel 3048  df-ral 3063  df-rex 3072  df-rmo 3377  df-reu 3378  df-rab 3434  df-v 3477  df-sbc 3776  df-csb 3892  df-dif 3949  df-un 3951  df-in 3953  df-ss 3963  df-pss 3965  df-nul 4321  df-if 4527  df-pw 4602  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4907  df-iun 4997  df-br 5147  df-opab 5209  df-mpt 5230  df-tr 5264  df-id 5572  df-eprel 5578  df-po 5586  df-so 5587  df-fr 5629  df-we 5631  df-xp 5680  df-rel 5681  df-cnv 5682  df-co 5683  df-dm 5684  df-rn 5685  df-res 5686  df-ima 5687  df-pred 6296  df-ord 6363  df-on 6364  df-lim 6365  df-suc 6366  df-iota 6491  df-fun 6541  df-fn 6542  df-f 6543  df-f1 6544  df-fo 6545  df-f1o 6546  df-fv 6547  df-riota 7359  df-ov 7406  df-oprab 7407  df-mpo 7408  df-om 7850  df-2nd 7970  df-frecs 8260  df-wrecs 8291  df-recs 8365  df-rdg 8404  df-er 8698  df-en 8935  df-dom 8936  df-sdom 8937  df-sup 9432  df-pnf 11245  df-mnf 11246  df-xr 11247  df-ltxr 11248  df-le 11249  df-sub 11441  df-neg 11442  df-div 11867  df-nn 12208  df-2 12270  df-3 12271  df-n0 12468  df-z 12554  df-uz 12818  df-rp 12970  df-seq 13962  df-exp 14023  df-cj 15041  df-re 15042  df-im 15043  df-sqrt 15177  df-abs 15178  df-gz 16858
This theorem is referenced by:  mul4sq  16882
  Copyright terms: Public domain W3C validator