| 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 27380 | . 2 ⊢ (𝐴 ∈ 𝑆 ↔ ∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2)) |
| 3 | 1 | 2sqlem1 27380 | . 2 ⊢ (𝐵 ∈ 𝑆 ↔ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2)) |
| 4 | reeanv 3213 | . . 3 ⊢ (∃𝑥 ∈ ℤ[i] ∃𝑦 ∈ ℤ[i] (𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) ↔ (∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2) ∧ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2))) | |
| 5 | gzmulcl 16958 | . . . . . . 7 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (𝑥 · 𝑦) ∈ ℤ[i]) | |
| 6 | gzcn 16952 | . . . . . . . . . 10 ⊢ (𝑥 ∈ ℤ[i] → 𝑥 ∈ ℂ) | |
| 7 | gzcn 16952 | . . . . . . . . . 10 ⊢ (𝑦 ∈ ℤ[i] → 𝑦 ∈ ℂ) | |
| 8 | absmul 15313 | . . . . . . . . . 10 ⊢ ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (abs‘(𝑥 · 𝑦)) = ((abs‘𝑥) · (abs‘𝑦))) | |
| 9 | 6, 7, 8 | syl2an 596 | . . . . . . . . 9 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (abs‘(𝑥 · 𝑦)) = ((abs‘𝑥) · (abs‘𝑦))) |
| 10 | 9 | oveq1d 7420 | . . . . . . . 8 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ((abs‘(𝑥 · 𝑦))↑2) = (((abs‘𝑥) · (abs‘𝑦))↑2)) |
| 11 | 6 | abscld 15455 | . . . . . . . . . 10 ⊢ (𝑥 ∈ ℤ[i] → (abs‘𝑥) ∈ ℝ) |
| 12 | 11 | recnd 11263 | . . . . . . . . 9 ⊢ (𝑥 ∈ ℤ[i] → (abs‘𝑥) ∈ ℂ) |
| 13 | 7 | abscld 15455 | . . . . . . . . . 10 ⊢ (𝑦 ∈ ℤ[i] → (abs‘𝑦) ∈ ℝ) |
| 14 | 13 | recnd 11263 | . . . . . . . . 9 ⊢ (𝑦 ∈ ℤ[i] → (abs‘𝑦) ∈ ℂ) |
| 15 | sqmul 14137 | . . . . . . . . 9 ⊢ (((abs‘𝑥) ∈ ℂ ∧ (abs‘𝑦) ∈ ℂ) → (((abs‘𝑥) · (abs‘𝑦))↑2) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) | |
| 16 | 12, 14, 15 | syl2an 596 | . . . . . . . 8 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥) · (abs‘𝑦))↑2) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) |
| 17 | 10, 16 | eqtr2d 2771 | . . . . . . 7 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘(𝑥 · 𝑦))↑2)) |
| 18 | fveq2 6876 | . . . . . . . . 9 ⊢ (𝑧 = (𝑥 · 𝑦) → (abs‘𝑧) = (abs‘(𝑥 · 𝑦))) | |
| 19 | 18 | oveq1d 7420 | . . . . . . . 8 ⊢ (𝑧 = (𝑥 · 𝑦) → ((abs‘𝑧)↑2) = ((abs‘(𝑥 · 𝑦))↑2)) |
| 20 | 19 | rspceeqv 3624 | . . . . . . 7 ⊢ (((𝑥 · 𝑦) ∈ ℤ[i] ∧ (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘(𝑥 · 𝑦))↑2)) → ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
| 21 | 5, 17, 20 | syl2anc 584 | . . . . . 6 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
| 22 | 1 | 2sqlem1 27380 | . . . . . 6 ⊢ ((((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆 ↔ ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
| 23 | 21, 22 | sylibr 234 | . . . . 5 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆) |
| 24 | oveq12 7414 | . . . . . 6 ⊢ ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) | |
| 25 | 24 | eleq1d 2819 | . . . . 5 ⊢ ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → ((𝐴 · 𝐵) ∈ 𝑆 ↔ (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆)) |
| 26 | 23, 25 | syl5ibrcom 247 | . . . 4 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆)) |
| 27 | 26 | rexlimivv 3186 | . . 3 ⊢ (∃𝑥 ∈ ℤ[i] ∃𝑦 ∈ ℤ[i] (𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆) |
| 28 | 4, 27 | sylbir 235 | . 2 ⊢ ((∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2) ∧ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆) |
| 29 | 2, 3, 28 | syl2anb 598 | 1 ⊢ ((𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆) → (𝐴 · 𝐵) ∈ 𝑆) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ∧ wa 395 = wceq 1540 ∈ wcel 2108 ∃wrex 3060 ↦ cmpt 5201 ran crn 5655 ‘cfv 6531 (class class class)co 7405 ℂcc 11127 · cmul 11134 2c2 12295 ↑cexp 14079 abscabs 15253 ℤ[i]cgz 16949 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1795 ax-4 1809 ax-5 1910 ax-6 1967 ax-7 2007 ax-8 2110 ax-9 2118 ax-10 2141 ax-11 2157 ax-12 2177 ax-ext 2707 ax-sep 5266 ax-nul 5276 ax-pow 5335 ax-pr 5402 ax-un 7729 ax-cnex 11185 ax-resscn 11186 ax-1cn 11187 ax-icn 11188 ax-addcl 11189 ax-addrcl 11190 ax-mulcl 11191 ax-mulrcl 11192 ax-mulcom 11193 ax-addass 11194 ax-mulass 11195 ax-distr 11196 ax-i2m1 11197 ax-1ne0 11198 ax-1rid 11199 ax-rnegex 11200 ax-rrecex 11201 ax-cnre 11202 ax-pre-lttri 11203 ax-pre-lttrn 11204 ax-pre-ltadd 11205 ax-pre-mulgt0 11206 ax-pre-sup 11207 |
| This theorem depends on definitions: df-bi 207 df-an 396 df-or 848 df-3or 1087 df-3an 1088 df-tru 1543 df-fal 1553 df-ex 1780 df-nf 1784 df-sb 2065 df-mo 2539 df-eu 2568 df-clab 2714 df-cleq 2727 df-clel 2809 df-nfc 2885 df-ne 2933 df-nel 3037 df-ral 3052 df-rex 3061 df-rmo 3359 df-reu 3360 df-rab 3416 df-v 3461 df-sbc 3766 df-csb 3875 df-dif 3929 df-un 3931 df-in 3933 df-ss 3943 df-pss 3946 df-nul 4309 df-if 4501 df-pw 4577 df-sn 4602 df-pr 4604 df-op 4608 df-uni 4884 df-iun 4969 df-br 5120 df-opab 5182 df-mpt 5202 df-tr 5230 df-id 5548 df-eprel 5553 df-po 5561 df-so 5562 df-fr 5606 df-we 5608 df-xp 5660 df-rel 5661 df-cnv 5662 df-co 5663 df-dm 5664 df-rn 5665 df-res 5666 df-ima 5667 df-pred 6290 df-ord 6355 df-on 6356 df-lim 6357 df-suc 6358 df-iota 6484 df-fun 6533 df-fn 6534 df-f 6535 df-f1 6536 df-fo 6537 df-f1o 6538 df-fv 6539 df-riota 7362 df-ov 7408 df-oprab 7409 df-mpo 7410 df-om 7862 df-2nd 7989 df-frecs 8280 df-wrecs 8311 df-recs 8385 df-rdg 8424 df-er 8719 df-en 8960 df-dom 8961 df-sdom 8962 df-sup 9454 df-pnf 11271 df-mnf 11272 df-xr 11273 df-ltxr 11274 df-le 11275 df-sub 11468 df-neg 11469 df-div 11895 df-nn 12241 df-2 12303 df-3 12304 df-n0 12502 df-z 12589 df-uz 12853 df-rp 13009 df-seq 14020 df-exp 14080 df-cj 15118 df-re 15119 df-im 15120 df-sqrt 15254 df-abs 15255 df-gz 16950 |
| This theorem is referenced by: (None) |
| Copyright terms: Public domain | W3C validator |