![]() |
Intuitionistic Logic Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > ILE Home > Th. List > mul2sq | 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 14019 | . 2 ⊢ (𝐴 ∈ 𝑆 ↔ ∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2)) |
3 | 1 | 2sqlem1 14019 | . 2 ⊢ (𝐵 ∈ 𝑆 ↔ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2)) |
4 | reeanv 2644 | . . 3 ⊢ (∃𝑥 ∈ ℤ[i] ∃𝑦 ∈ ℤ[i] (𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) ↔ (∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2) ∧ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2))) | |
5 | gzmulcl 12341 | . . . . . . 7 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (𝑥 · 𝑦) ∈ ℤ[i]) | |
6 | gzcn 12335 | . . . . . . . . . 10 ⊢ (𝑥 ∈ ℤ[i] → 𝑥 ∈ ℂ) | |
7 | gzcn 12335 | . . . . . . . . . 10 ⊢ (𝑦 ∈ ℤ[i] → 𝑦 ∈ ℂ) | |
8 | absmul 11044 | . . . . . . . . . 10 ⊢ ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (abs‘(𝑥 · 𝑦)) = ((abs‘𝑥) · (abs‘𝑦))) | |
9 | 6, 7, 8 | syl2an 289 | . . . . . . . . 9 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (abs‘(𝑥 · 𝑦)) = ((abs‘𝑥) · (abs‘𝑦))) |
10 | 9 | oveq1d 5880 | . . . . . . . 8 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ((abs‘(𝑥 · 𝑦))↑2) = (((abs‘𝑥) · (abs‘𝑦))↑2)) |
11 | 6 | abscld 11156 | . . . . . . . . . 10 ⊢ (𝑥 ∈ ℤ[i] → (abs‘𝑥) ∈ ℝ) |
12 | 11 | recnd 7960 | . . . . . . . . 9 ⊢ (𝑥 ∈ ℤ[i] → (abs‘𝑥) ∈ ℂ) |
13 | 7 | abscld 11156 | . . . . . . . . . 10 ⊢ (𝑦 ∈ ℤ[i] → (abs‘𝑦) ∈ ℝ) |
14 | 13 | recnd 7960 | . . . . . . . . 9 ⊢ (𝑦 ∈ ℤ[i] → (abs‘𝑦) ∈ ℂ) |
15 | sqmul 10550 | . . . . . . . . 9 ⊢ (((abs‘𝑥) ∈ ℂ ∧ (abs‘𝑦) ∈ ℂ) → (((abs‘𝑥) · (abs‘𝑦))↑2) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) | |
16 | 12, 14, 15 | syl2an 289 | . . . . . . . 8 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥) · (abs‘𝑦))↑2) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) |
17 | 10, 16 | eqtr2d 2209 | . . . . . . 7 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘(𝑥 · 𝑦))↑2)) |
18 | fveq2 5507 | . . . . . . . . 9 ⊢ (𝑧 = (𝑥 · 𝑦) → (abs‘𝑧) = (abs‘(𝑥 · 𝑦))) | |
19 | 18 | oveq1d 5880 | . . . . . . . 8 ⊢ (𝑧 = (𝑥 · 𝑦) → ((abs‘𝑧)↑2) = ((abs‘(𝑥 · 𝑦))↑2)) |
20 | 19 | rspceeqv 2857 | . . . . . . 7 ⊢ (((𝑥 · 𝑦) ∈ ℤ[i] ∧ (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘(𝑥 · 𝑦))↑2)) → ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
21 | 5, 17, 20 | syl2anc 411 | . . . . . 6 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
22 | 1 | 2sqlem1 14019 | . . . . . 6 ⊢ ((((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆 ↔ ∃𝑧 ∈ ℤ[i] (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) = ((abs‘𝑧)↑2)) |
23 | 21, 22 | sylibr 134 | . . . . 5 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆) |
24 | oveq12 5874 | . . . . . 6 ⊢ ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) = (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2))) | |
25 | 24 | eleq1d 2244 | . . . . 5 ⊢ ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → ((𝐴 · 𝐵) ∈ 𝑆 ↔ (((abs‘𝑥)↑2) · ((abs‘𝑦)↑2)) ∈ 𝑆)) |
26 | 23, 25 | syl5ibrcom 157 | . . . 4 ⊢ ((𝑥 ∈ ℤ[i] ∧ 𝑦 ∈ ℤ[i]) → ((𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆)) |
27 | 26 | rexlimivv 2598 | . . 3 ⊢ (∃𝑥 ∈ ℤ[i] ∃𝑦 ∈ ℤ[i] (𝐴 = ((abs‘𝑥)↑2) ∧ 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆) |
28 | 4, 27 | sylbir 135 | . 2 ⊢ ((∃𝑥 ∈ ℤ[i] 𝐴 = ((abs‘𝑥)↑2) ∧ ∃𝑦 ∈ ℤ[i] 𝐵 = ((abs‘𝑦)↑2)) → (𝐴 · 𝐵) ∈ 𝑆) |
29 | 2, 3, 28 | syl2anb 291 | 1 ⊢ ((𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆) → (𝐴 · 𝐵) ∈ 𝑆) |
Colors of variables: wff set class |
Syntax hints: → wi 4 ∧ wa 104 = wceq 1353 ∈ wcel 2146 ∃wrex 2454 ↦ cmpt 4059 ran crn 4621 ‘cfv 5208 (class class class)co 5865 ℂcc 7784 · cmul 7791 2c2 8941 ↑cexp 10487 abscabs 10972 ℤ[i]cgz 12332 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-ia1 106 ax-ia2 107 ax-ia3 108 ax-in1 614 ax-in2 615 ax-io 709 ax-5 1445 ax-7 1446 ax-gen 1447 ax-ie1 1491 ax-ie2 1492 ax-8 1502 ax-10 1503 ax-11 1504 ax-i12 1505 ax-bndl 1507 ax-4 1508 ax-17 1524 ax-i9 1528 ax-ial 1532 ax-i5r 1533 ax-13 2148 ax-14 2149 ax-ext 2157 ax-coll 4113 ax-sep 4116 ax-nul 4124 ax-pow 4169 ax-pr 4203 ax-un 4427 ax-setind 4530 ax-iinf 4581 ax-cnex 7877 ax-resscn 7878 ax-1cn 7879 ax-1re 7880 ax-icn 7881 ax-addcl 7882 ax-addrcl 7883 ax-mulcl 7884 ax-mulrcl 7885 ax-addcom 7886 ax-mulcom 7887 ax-addass 7888 ax-mulass 7889 ax-distr 7890 ax-i2m1 7891 ax-0lt1 7892 ax-1rid 7893 ax-0id 7894 ax-rnegex 7895 ax-precex 7896 ax-cnre 7897 ax-pre-ltirr 7898 ax-pre-ltwlin 7899 ax-pre-lttrn 7900 ax-pre-apti 7901 ax-pre-ltadd 7902 ax-pre-mulgt0 7903 ax-pre-mulext 7904 ax-arch 7905 ax-caucvg 7906 |
This theorem depends on definitions: df-bi 117 df-dc 835 df-3or 979 df-3an 980 df-tru 1356 df-fal 1359 df-nf 1459 df-sb 1761 df-eu 2027 df-mo 2028 df-clab 2162 df-cleq 2168 df-clel 2171 df-nfc 2306 df-ne 2346 df-nel 2441 df-ral 2458 df-rex 2459 df-reu 2460 df-rmo 2461 df-rab 2462 df-v 2737 df-sbc 2961 df-csb 3056 df-dif 3129 df-un 3131 df-in 3133 df-ss 3140 df-nul 3421 df-if 3533 df-pw 3574 df-sn 3595 df-pr 3596 df-op 3598 df-uni 3806 df-int 3841 df-iun 3884 df-br 3999 df-opab 4060 df-mpt 4061 df-tr 4097 df-id 4287 df-po 4290 df-iso 4291 df-iord 4360 df-on 4362 df-ilim 4363 df-suc 4365 df-iom 4584 df-xp 4626 df-rel 4627 df-cnv 4628 df-co 4629 df-dm 4630 df-rn 4631 df-res 4632 df-ima 4633 df-iota 5170 df-fun 5210 df-fn 5211 df-f 5212 df-f1 5213 df-fo 5214 df-f1o 5215 df-fv 5216 df-riota 5821 df-ov 5868 df-oprab 5869 df-mpo 5870 df-1st 6131 df-2nd 6132 df-recs 6296 df-frec 6382 df-pnf 7968 df-mnf 7969 df-xr 7970 df-ltxr 7971 df-le 7972 df-sub 8104 df-neg 8105 df-reap 8506 df-ap 8513 df-div 8602 df-inn 8891 df-2 8949 df-3 8950 df-4 8951 df-n0 9148 df-z 9225 df-uz 9500 df-rp 9623 df-seqfrec 10414 df-exp 10488 df-cj 10817 df-re 10818 df-im 10819 df-rsqrt 10973 df-abs 10974 df-gz 12333 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |