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

Theorem 4sqlem4 17011
Description: Lemma for 4sq 17023. 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 17008 . . 3 (𝐴𝑆 ↔ ∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ∃𝑐 ∈ ℤ ∃𝑑 ∈ ℤ 𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))))
3 gzreim 16998 . . . . . . . 8 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 + (i · 𝑏)) ∈ ℤ[i])
43adantr 485 . . . . . . 7 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (𝑎 + (i · 𝑏)) ∈ ℤ[i])
5 gzreim 16998 . . . . . . . 8 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (𝑐 + (i · 𝑑)) ∈ ℤ[i])
65adantl 486 . . . . . . 7 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (𝑐 + (i · 𝑑)) ∈ ℤ[i])
7 gzcn 16991 . . . . . . . . . . . 12 ((𝑎 + (i · 𝑏)) ∈ ℤ[i] → (𝑎 + (i · 𝑏)) ∈ ℂ)
83, 7syl 18 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (𝑎 + (i · 𝑏)) ∈ ℂ)
98absvalsq2d 15496 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((abs‘(𝑎 + (i · 𝑏)))↑2) = (((ℜ‘(𝑎 + (i · 𝑏)))↑2) + ((ℑ‘(𝑎 + (i · 𝑏)))↑2)))
10 zre 12594 . . . . . . . . . . . . 13 (𝑎 ∈ ℤ → 𝑎 ∈ ℝ)
11 zre 12594 . . . . . . . . . . . . 13 (𝑏 ∈ ℤ → 𝑏 ∈ ℝ)
12 crre 15164 . . . . . . . . . . . . 13 ((𝑎 ∈ ℝ ∧ 𝑏 ∈ ℝ) → (ℜ‘(𝑎 + (i · 𝑏))) = 𝑎)
1310, 11, 12syl2an 607 . . . . . . . . . . . 12 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (ℜ‘(𝑎 + (i · 𝑏))) = 𝑎)
1413oveq1d 7425 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((ℜ‘(𝑎 + (i · 𝑏)))↑2) = (𝑎↑2))
15 crim 15165 . . . . . . . . . . . . 13 ((𝑎 ∈ ℝ ∧ 𝑏 ∈ ℝ) → (ℑ‘(𝑎 + (i · 𝑏))) = 𝑏)
1610, 11, 15syl2an 607 . . . . . . . . . . . 12 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (ℑ‘(𝑎 + (i · 𝑏))) = 𝑏)
1716oveq1d 7425 . . . . . . . . . . 11 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((ℑ‘(𝑎 + (i · 𝑏)))↑2) = (𝑏↑2))
1814, 17oveq12d 7428 . . . . . . . . . 10 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (((ℜ‘(𝑎 + (i · 𝑏)))↑2) + ((ℑ‘(𝑎 + (i · 𝑏)))↑2)) = ((𝑎↑2) + (𝑏↑2)))
199, 18eqtrd 2796 . . . . . . . . 9 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → ((abs‘(𝑎 + (i · 𝑏)))↑2) = ((𝑎↑2) + (𝑏↑2)))
20 gzcn 16991 . . . . . . . . . . . 12 ((𝑐 + (i · 𝑑)) ∈ ℤ[i] → (𝑐 + (i · 𝑑)) ∈ ℂ)
215, 20syl 18 . . . . . . . . . . 11 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (𝑐 + (i · 𝑑)) ∈ ℂ)
2221absvalsq2d 15496 . . . . . . . . . 10 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((abs‘(𝑐 + (i · 𝑑)))↑2) = (((ℜ‘(𝑐 + (i · 𝑑)))↑2) + ((ℑ‘(𝑐 + (i · 𝑑)))↑2)))
23 zre 12594 . . . . . . . . . . . . 13 (𝑐 ∈ ℤ → 𝑐 ∈ ℝ)
24 zre 12594 . . . . . . . . . . . . 13 (𝑑 ∈ ℤ → 𝑑 ∈ ℝ)
25 crre 15164 . . . . . . . . . . . . 13 ((𝑐 ∈ ℝ ∧ 𝑑 ∈ ℝ) → (ℜ‘(𝑐 + (i · 𝑑))) = 𝑐)
2623, 24, 25syl2an 607 . . . . . . . . . . . 12 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (ℜ‘(𝑐 + (i · 𝑑))) = 𝑐)
2726oveq1d 7425 . . . . . . . . . . 11 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((ℜ‘(𝑐 + (i · 𝑑)))↑2) = (𝑐↑2))
28 crim 15165 . . . . . . . . . . . . 13 ((𝑐 ∈ ℝ ∧ 𝑑 ∈ ℝ) → (ℑ‘(𝑐 + (i · 𝑑))) = 𝑑)
2923, 24, 28syl2an 607 . . . . . . . . . . . 12 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (ℑ‘(𝑐 + (i · 𝑑))) = 𝑑)
3029oveq1d 7425 . . . . . . . . . . 11 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((ℑ‘(𝑐 + (i · 𝑑)))↑2) = (𝑑↑2))
3127, 30oveq12d 7428 . . . . . . . . . 10 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → (((ℜ‘(𝑐 + (i · 𝑑)))↑2) + ((ℑ‘(𝑐 + (i · 𝑑)))↑2)) = ((𝑐↑2) + (𝑑↑2)))
3222, 31eqtrd 2796 . . . . . . . . 9 ((𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ) → ((abs‘(𝑐 + (i · 𝑑)))↑2) = ((𝑐↑2) + (𝑑↑2)))
3319, 32oveqan12d 7429 . . . . . . . 8 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2)) = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))))
3433eqcomd 2767 . . . . . . 7 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2)))
35 fveq2 6881 . . . . . . . . . . 11 (𝑢 = (𝑎 + (i · 𝑏)) → (abs‘𝑢) = (abs‘(𝑎 + (i · 𝑏))))
3635oveq1d 7425 . . . . . . . . . 10 (𝑢 = (𝑎 + (i · 𝑏)) → ((abs‘𝑢)↑2) = ((abs‘(𝑎 + (i · 𝑏)))↑2))
3736oveq1d 7425 . . . . . . . . 9 (𝑢 = (𝑎 + (i · 𝑏)) → (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2)))
3837eqeq2d 2772 . . . . . . . 8 (𝑢 = (𝑎 + (i · 𝑏)) → ((((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ↔ (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2))))
39 fveq2 6881 . . . . . . . . . . 11 (𝑣 = (𝑐 + (i · 𝑑)) → (abs‘𝑣) = (abs‘(𝑐 + (i · 𝑑))))
4039oveq1d 7425 . . . . . . . . . 10 (𝑣 = (𝑐 + (i · 𝑑)) → ((abs‘𝑣)↑2) = ((abs‘(𝑐 + (i · 𝑑)))↑2))
4140oveq2d 7426 . . . . . . . . 9 (𝑣 = (𝑐 + (i · 𝑑)) → (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2)) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2)))
4241eqeq2d 2772 . . . . . . . 8 (𝑣 = (𝑐 + (i · 𝑑)) → ((((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘𝑣)↑2)) ↔ (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘(𝑎 + (i · 𝑏)))↑2) + ((abs‘(𝑐 + (i · 𝑑)))↑2))))
4338, 42rspc2ev 3593 . . . . . . 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 1396 . . . . . 6 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
45 eqeq1 2765 . . . . . . 7 (𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → (𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ↔ (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
46452rexbidv 3228 . . . . . 6 (𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → (∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ↔ ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
4744, 46syl5ibrcom 250 . . . . 5 (((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) ∧ (𝑐 ∈ ℤ ∧ 𝑑 ∈ ℤ)) → (𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
4847rexlimdvva 3220 . . . 4 ((𝑎 ∈ ℤ ∧ 𝑏 ∈ ℤ) → (∃𝑐 ∈ ℤ ∃𝑑 ∈ ℤ 𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2))))
4948rexlimivv 3205 . . 3 (∃𝑎 ∈ ℤ ∃𝑏 ∈ ℤ ∃𝑐 ∈ ℤ ∃𝑑 ∈ ℤ 𝐴 = (((𝑎↑2) + (𝑏↑2)) + ((𝑐↑2) + (𝑑↑2))) → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
502, 49sylbi 220 . 2 (𝐴𝑆 → ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
5114sqlem4a 17010 . . . 4 ((𝑢 ∈ ℤ[i] ∧ 𝑣 ∈ ℤ[i]) → (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ∈ 𝑆)
52 eleq1a 2856 . . . 4 ((((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) ∈ 𝑆 → (𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) → 𝐴𝑆))
5351, 52syl 18 . . 3 ((𝑢 ∈ ℤ[i] ∧ 𝑣 ∈ ℤ[i]) → (𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) → 𝐴𝑆))
5453rexlimivv 3205 . 2 (∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)) → 𝐴𝑆)
5550, 54impbii 212 1 (𝐴𝑆 ↔ ∃𝑢 ∈ ℤ[i] ∃𝑣 ∈ ℤ[i] 𝐴 = (((abs‘𝑢)↑2) + ((abs‘𝑣)↑2)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400   = wceq 1568  wcel 2141  {cab 2739  wrex 3087  cfv 6536  (class class class)co 7410  cc 11097  cr 11098  ici 11101   + caddc 11102   · cmul 11104  2c2 12294  cz 12590  cexp 14096  cre 15147  cim 15148  abscabs 15284  ℤ[i]cgz 16988
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1823  ax-4 1837  ax-5 1938  ax-6 1995  ax-7 2036  ax-8 2143  ax-9 2151  ax-10 2174  ax-11 2190  ax-12 2211  ax-ext 2733  ax-sep 5256  ax-nul 5268  ax-pow 5336  ax-pr 5404  ax-un 7732  ax-cnex 11155  ax-resscn 11156  ax-1cn 11157  ax-icn 11158  ax-addcl 11159  ax-addrcl 11160  ax-mulcl 11161  ax-mulrcl 11162  ax-mulcom 11163  ax-addass 11164  ax-mulass 11165  ax-distr 11166  ax-i2m1 11167  ax-1ne0 11168  ax-1rid 11169  ax-rnegex 11170  ax-rrecex 11171  ax-cnre 11172  ax-pre-lttri 11173  ax-pre-lttrn 11174  ax-pre-ltadd 11175  ax-pre-mulgt0 11176  ax-pre-sup 11177
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1102  df-3an 1103  df-tru 1571  df-fal 1581  df-ex 1808  df-nf 1812  df-sb 2095  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3744  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4487  df-pw 4563  df-sn 4589  df-pr 4591  df-op 4595  df-uni 4872  df-iun 4957  df-br 5109  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5556  df-eprel 5561  df-po 5569  df-so 5570  df-fr 5614  df-we 5616  df-xp 5667  df-rel 5668  df-cnv 5669  df-co 5670  df-dm 5671  df-rn 5672  df-res 5673  df-ima 5674  df-pred 6302  df-ord 6363  df-on 6364  df-lim 6365  df-suc 6366  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7367  df-ov 7413  df-oprab 7414  df-mpo 7415  df-om 7862  df-2nd 7986  df-frecs 8277  df-wrecs 8308  df-recs 8357  df-rdg 8396  df-er 8693  df-en 8943  df-dom 8944  df-sdom 8945  df-sup 9401  df-pnf 11244  df-mnf 11245  df-xr 11246  df-ltxr 11247  df-le 11248  df-sub 11442  df-neg 11443  df-div 11871  df-nn 12233  df-2 12302  df-3 12303  df-n0 12504  df-z 12591  df-uz 12862  df-rp 13016  df-seq 14037  df-exp 14097  df-cj 15149  df-re 15150  df-im 15151  df-sqrt 15285  df-abs 15286  df-gz 16989
This theorem is referenced by:  mul4sq  17013
  Copyright terms: Public domain W3C validator