![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > mul2sq | Structured version Visualization version GIF version |
Description: Fibonacci's identity (actually due to Diophantus). The product of two sums of two squares is also a sum of two squares. We can take advantage of Gaussian integers here to trivialize the proof. (Contributed by Mario Carneiro, 19-Jun-2015.) |
Ref | Expression |
---|---|
2sq.1 | ⊢ 𝑆 = ran (𝑤 ∈ ℤ[i] ↦ ((abs‘𝑤)↑2)) |
Ref | Expression |
---|---|
mul2sq | ⊢ ((𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆) → (𝐴 · 𝐵) ∈ 𝑆) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | 2sq.1 | . . 3 ⊢ 𝑆 = ran (𝑤 ∈ ℤ[i] ↦ ((abs‘𝑤)↑2)) | |
2 | 1 | 2sqlem1 25556 | . 2 ⊢ (𝐴 ∈ 𝑆 ↔ ∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2)) |
3 | 1 | 2sqlem1 25556 | . 2 ⊢ (𝐵 ∈ 𝑆 ↔ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2)) |
4 | reeanv 3318 | . . 3 ⊢ (∃𝑥 ∈ ℤ[i] ∃𝑦 ∈ ℤ[i] (𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) ↔ (∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2) ∧ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2))) | |
5 | gzmulcl 16014 | . . . . . . 7 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (𝑥 · 𝑦) ∈ ℤ[i]) | |
6 | gzcn 16008 | . . . . . . . . . 10 ⊢ (𝑥 ∈ ℤ[i] → 𝑥 ∈ ℂ) | |
7 | gzcn 16008 | . . . . . . . . . 10 ⊢ (𝑦 ∈ ℤ[i] → 𝑦 ∈ ℂ) | |
8 | absmul 14412 | . . . . . . . . . 10 ⊢ ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (abs‘(𝑥 · 𝑦)) = ((abs‘𝑥) · (abs‘𝑦))) | |
9 | 6, 7, 8 | syl2an 591 | . . . . . . . . 9 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (abs‘(𝑥 · 𝑦)) = ((abs‘𝑥) · (abs‘𝑦))) |
10 | 9 | oveq1d 6921 | . . . . . . . 8 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ((abs‘(𝑥 · 𝑦))↑2) = (((abs‘𝑥) · (abs‘𝑦))↑2)) |
11 | 6 | abscld 14553 | . . . . . . . . . 10 ⊢ (𝑥 ∈ ℤ[i] → (abs‘𝑥) ∈ ℝ) |
12 | 11 | recnd 10386 | . . . . . . . . 9 ⊢ (𝑥 ∈ ℤ[i] → (abs‘𝑥) ∈ ℂ) |
13 | 7 | abscld 14553 | . . . . . . . . . 10 ⊢ (𝑦 ∈ ℤ[i] → (abs‘𝑦) ∈ ℝ) |
14 | 13 | recnd 10386 | . . . . . . . . 9 ⊢ (𝑦 ∈ ℤ[i] → (abs‘𝑦) ∈ ℂ) |
15 | sqmul 13221 | . . . . . . . . 9 ⊢ (((abs‘𝑥) ∈ ℂ ∧ (abs‘𝑦) ∈ ℂ) → (((abs‘𝑥) · (abs‘𝑦))↑2) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) | |
16 | 12, 14, 15 | syl2an 591 | . . . . . . . 8 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥) · (abs‘𝑦))↑2) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) |
17 | 10, 16 | eqtr2d 2863 | . . . . . . 7 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘(𝑥 · 𝑦))↑2)) |
18 | fveq2 6434 | . . . . . . . . 9 ⊢ (𝑧 = (𝑥 · 𝑦) → (abs‘𝑧) = (abs‘(𝑥 · 𝑦))) | |
19 | 18 | oveq1d 6921 | . . . . . . . 8 ⊢ (𝑧 = (𝑥 · 𝑦) → ((abs‘𝑧)↑2) = ((abs‘(𝑥 · 𝑦))↑2)) |
20 | 19 | rspceeqv 3545 | . . . . . . 7 ⊢ (((𝑥 · 𝑦) ∈ ℤ[i] ∧ (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘(𝑥 · 𝑦))↑2)) → ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
21 | 5, 17, 20 | syl2anc 581 | . . . . . 6 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
22 | 1 | 2sqlem1 25556 | . . . . . 6 ⊢ ((((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆 ↔ ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
23 | 21, 22 | sylibr 226 | . . . . 5 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆) |
24 | oveq12 6915 | . . . . . 6 ⊢ ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) | |
25 | 24 | eleq1d 2892 | . . . . 5 ⊢ ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → ((𝐴 · 𝐵) ∈ 𝑆 ↔ (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆)) |
26 | 23, 25 | syl5ibrcom 239 | . . . 4 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆)) |
27 | 26 | rexlimivv 3247 | . . 3 ⊢ (∃𝑥 ∈ ℤ[i] ∃𝑦 ∈ ℤ[i] (𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆) |
28 | 4, 27 | sylbir 227 | . 2 ⊢ ((∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2) ∧ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆) |
29 | 2, 3, 28 | syl2anb 593 | 1 ⊢ ((𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆) → (𝐴 · 𝐵) ∈ 𝑆) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 386 = wceq 1658 ∈ wcel 2166 ∃wrex 3119 ↦ cmpt 4953 ran crn 5344 ‘cfv 6124 (class class class)co 6906 ℂcc 10251 · cmul 10258 2c2 11407 ↑cexp 13155 abscabs 14352 ℤ[i]cgz 16005 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1896 ax-4 1910 ax-5 2011 ax-6 2077 ax-7 2114 ax-8 2168 ax-9 2175 ax-10 2194 ax-11 2209 ax-12 2222 ax-13 2391 ax-ext 2804 ax-sep 5006 ax-nul 5014 ax-pow 5066 ax-pr 5128 ax-un 7210 ax-cnex 10309 ax-resscn 10310 ax-1cn 10311 ax-icn 10312 ax-addcl 10313 ax-addrcl 10314 ax-mulcl 10315 ax-mulrcl 10316 ax-mulcom 10317 ax-addass 10318 ax-mulass 10319 ax-distr 10320 ax-i2m1 10321 ax-1ne0 10322 ax-1rid 10323 ax-rnegex 10324 ax-rrecex 10325 ax-cnre 10326 ax-pre-lttri 10327 ax-pre-lttrn 10328 ax-pre-ltadd 10329 ax-pre-mulgt0 10330 ax-pre-sup 10331 |
This theorem depends on definitions: df-bi 199 df-an 387 df-or 881 df-3or 1114 df-3an 1115 df-tru 1662 df-ex 1881 df-nf 1885 df-sb 2070 df-mo 2606 df-eu 2641 df-clab 2813 df-cleq 2819 df-clel 2822 df-nfc 2959 df-ne 3001 df-nel 3104 df-ral 3123 df-rex 3124 df-reu 3125 df-rmo 3126 df-rab 3127 df-v 3417 df-sbc 3664 df-csb 3759 df-dif 3802 df-un 3804 df-in 3806 df-ss 3813 df-pss 3815 df-nul 4146 df-if 4308 df-pw 4381 df-sn 4399 df-pr 4401 df-tp 4403 df-op 4405 df-uni 4660 df-iun 4743 df-br 4875 df-opab 4937 df-mpt 4954 df-tr 4977 df-id 5251 df-eprel 5256 df-po 5264 df-so 5265 df-fr 5302 df-we 5304 df-xp 5349 df-rel 5350 df-cnv 5351 df-co 5352 df-dm 5353 df-rn 5354 df-res 5355 df-ima 5356 df-pred 5921 df-ord 5967 df-on 5968 df-lim 5969 df-suc 5970 df-iota 6087 df-fun 6126 df-fn 6127 df-f 6128 df-f1 6129 df-fo 6130 df-f1o 6131 df-fv 6132 df-riota 6867 df-ov 6909 df-oprab 6910 df-mpt2 6911 df-om 7328 df-2nd 7430 df-wrecs 7673 df-recs 7735 df-rdg 7773 df-er 8010 df-en 8224 df-dom 8225 df-sdom 8226 df-sup 8618 df-pnf 10394 df-mnf 10395 df-xr 10396 df-ltxr 10397 df-le 10398 df-sub 10588 df-neg 10589 df-div 11011 df-nn 11352 df-2 11415 df-3 11416 df-n0 11620 df-z 11706 df-uz 11970 df-rp 12114 df-seq 13097 df-exp 13156 df-cj 14217 df-re 14218 df-im 14219 df-sqrt 14353 df-abs 14354 df-gz 16006 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |