| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > tmsxpsmopn | Structured version Visualization version GIF version | ||
| Description: Express the product of two metrics as another metric. (Contributed by Mario Carneiro, 2-Sep-2015.) |
| Ref | Expression |
|---|---|
| tmsxps.p | ⊢ 𝑃 = (dist‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) |
| tmsxps.1 | ⊢ (𝜑 → 𝑀 ∈ (∞Met‘𝑋)) |
| tmsxps.2 | ⊢ (𝜑 → 𝑁 ∈ (∞Met‘𝑌)) |
| tmsxpsmopn.j | ⊢ 𝐽 = (MetOpen‘𝑀) |
| tmsxpsmopn.k | ⊢ 𝐾 = (MetOpen‘𝑁) |
| tmsxpsmopn.l | ⊢ 𝐿 = (MetOpen‘𝑃) |
| Ref | Expression |
|---|---|
| tmsxpsmopn | ⊢ (𝜑 → 𝐿 = (𝐽 ×t 𝐾)) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | tmsxps.1 | . . . . 5 ⊢ (𝜑 → 𝑀 ∈ (∞Met‘𝑋)) | |
| 2 | eqid 2760 | . . . . . 6 ⊢ (toMetSp‘𝑀) = (toMetSp‘𝑀) | |
| 3 | 2 | tmsxms 24712 | . . . . 5 ⊢ (𝑀 ∈ (∞Met‘𝑋) → (toMetSp‘𝑀) ∈ ∞MetSp) |
| 4 | 1, 3 | syl 18 | . . . 4 ⊢ (𝜑 → (toMetSp‘𝑀) ∈ ∞MetSp) |
| 5 | xmstps 24679 | . . . 4 ⊢ ((toMetSp‘𝑀) ∈ ∞MetSp → (toMetSp‘𝑀) ∈ TopSp) | |
| 6 | 4, 5 | syl 18 | . . 3 ⊢ (𝜑 → (toMetSp‘𝑀) ∈ TopSp) |
| 7 | tmsxps.2 | . . . . 5 ⊢ (𝜑 → 𝑁 ∈ (∞Met‘𝑌)) | |
| 8 | eqid 2760 | . . . . . 6 ⊢ (toMetSp‘𝑁) = (toMetSp‘𝑁) | |
| 9 | 8 | tmsxms 24712 | . . . . 5 ⊢ (𝑁 ∈ (∞Met‘𝑌) → (toMetSp‘𝑁) ∈ ∞MetSp) |
| 10 | 7, 9 | syl 18 | . . . 4 ⊢ (𝜑 → (toMetSp‘𝑁) ∈ ∞MetSp) |
| 11 | xmstps 24679 | . . . 4 ⊢ ((toMetSp‘𝑁) ∈ ∞MetSp → (toMetSp‘𝑁) ∈ TopSp) | |
| 12 | 10, 11 | syl 18 | . . 3 ⊢ (𝜑 → (toMetSp‘𝑁) ∈ TopSp) |
| 13 | eqid 2760 | . . . 4 ⊢ ((toMetSp‘𝑀) ×s (toMetSp‘𝑁)) = ((toMetSp‘𝑀) ×s (toMetSp‘𝑁)) | |
| 14 | eqid 2760 | . . . 4 ⊢ (TopOpen‘(toMetSp‘𝑀)) = (TopOpen‘(toMetSp‘𝑀)) | |
| 15 | eqid 2760 | . . . 4 ⊢ (TopOpen‘(toMetSp‘𝑁)) = (TopOpen‘(toMetSp‘𝑁)) | |
| 16 | eqid 2760 | . . . 4 ⊢ (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) = (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) | |
| 17 | 13, 14, 15, 16 | xpstopn 24038 | . . 3 ⊢ (((toMetSp‘𝑀) ∈ TopSp ∧ (toMetSp‘𝑁) ∈ TopSp) → (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) = ((TopOpen‘(toMetSp‘𝑀)) ×t (TopOpen‘(toMetSp‘𝑁)))) |
| 18 | 6, 12, 17 | syl2anc 596 | . 2 ⊢ (𝜑 → (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) = ((TopOpen‘(toMetSp‘𝑀)) ×t (TopOpen‘(toMetSp‘𝑁)))) |
| 19 | tmsxpsmopn.l | . . 3 ⊢ 𝐿 = (MetOpen‘𝑃) | |
| 20 | 13 | xpsxms 24760 | . . . . . 6 ⊢ (((toMetSp‘𝑀) ∈ ∞MetSp ∧ (toMetSp‘𝑁) ∈ ∞MetSp) → ((toMetSp‘𝑀) ×s (toMetSp‘𝑁)) ∈ ∞MetSp) |
| 21 | 4, 10, 20 | syl2anc 596 | . . . . 5 ⊢ (𝜑 → ((toMetSp‘𝑀) ×s (toMetSp‘𝑁)) ∈ ∞MetSp) |
| 22 | eqid 2760 | . . . . . 6 ⊢ (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) = (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) | |
| 23 | tmsxps.p | . . . . . . 7 ⊢ 𝑃 = (dist‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) | |
| 24 | 23 | reseq1i 5968 | . . . . . 6 ⊢ (𝑃 ↾ ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))))) = ((dist‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) ↾ ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))))) |
| 25 | 16, 22, 24 | xmstopn 24677 | . . . . 5 ⊢ (((toMetSp‘𝑀) ×s (toMetSp‘𝑁)) ∈ ∞MetSp → (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) = (MetOpen‘(𝑃 ↾ ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))))))) |
| 26 | 21, 25 | syl 18 | . . . 4 ⊢ (𝜑 → (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) = (MetOpen‘(𝑃 ↾ ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))))))) |
| 27 | eqid 2760 | . . . . . . 7 ⊢ (Base‘(toMetSp‘𝑀)) = (Base‘(toMetSp‘𝑀)) | |
| 28 | eqid 2760 | . . . . . . 7 ⊢ (Base‘(toMetSp‘𝑁)) = (Base‘(toMetSp‘𝑁)) | |
| 29 | 13, 27, 28, 4, 10, 23 | xpsdsfn2 24604 | . . . . . 6 ⊢ (𝜑 → 𝑃 Fn ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))))) |
| 30 | fnresdm 6651 | . . . . . 6 ⊢ (𝑃 Fn ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁)))) → (𝑃 ↾ ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))))) = 𝑃) | |
| 31 | 29, 30 | syl 18 | . . . . 5 ⊢ (𝜑 → (𝑃 ↾ ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))))) = 𝑃) |
| 32 | 31 | fveq2d 6882 | . . . 4 ⊢ (𝜑 → (MetOpen‘(𝑃 ↾ ((Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁))) × (Base‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁)))))) = (MetOpen‘𝑃)) |
| 33 | 26, 32 | eqtr2d 2796 | . . 3 ⊢ (𝜑 → (MetOpen‘𝑃) = (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁)))) |
| 34 | 19, 33 | eqtrid 2807 | . 2 ⊢ (𝜑 → 𝐿 = (TopOpen‘((toMetSp‘𝑀) ×s (toMetSp‘𝑁)))) |
| 35 | tmsxpsmopn.j | . . . . 5 ⊢ 𝐽 = (MetOpen‘𝑀) | |
| 36 | 2, 35 | tmstopn 24711 | . . . 4 ⊢ (𝑀 ∈ (∞Met‘𝑋) → 𝐽 = (TopOpen‘(toMetSp‘𝑀))) |
| 37 | 1, 36 | syl 18 | . . 3 ⊢ (𝜑 → 𝐽 = (TopOpen‘(toMetSp‘𝑀))) |
| 38 | tmsxpsmopn.k | . . . . 5 ⊢ 𝐾 = (MetOpen‘𝑁) | |
| 39 | 8, 38 | tmstopn 24711 | . . . 4 ⊢ (𝑁 ∈ (∞Met‘𝑌) → 𝐾 = (TopOpen‘(toMetSp‘𝑁))) |
| 40 | 7, 39 | syl 18 | . . 3 ⊢ (𝜑 → 𝐾 = (TopOpen‘(toMetSp‘𝑁))) |
| 41 | 37, 40 | oveq12d 7431 | . 2 ⊢ (𝜑 → (𝐽 ×t 𝐾) = ((TopOpen‘(toMetSp‘𝑀)) ×t (TopOpen‘(toMetSp‘𝑁)))) |
| 42 | 18, 34, 41 | 3eqtr4d 2805 | 1 ⊢ (𝜑 → 𝐿 = (𝐽 ×t 𝐾)) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 = wceq 1570 ∈ wcel 2145 × cxp 5653 ↾ cres 5657 Fn wfn 6528 ‘cfv 6533 (class class class)co 7413 Basecbs 17301 distcds 17351 TopOpenctopn 17506 ×s cxps 17592 ∞Metcxmet 21570 MetOpencmopn 21575 TopSpctps 23157 ×t ctx 23786 ∞MetSpcxms 24543 toMetSpctms 24545 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1828 ax-4 1842 ax-5 1943 ax-6 2000 ax-7 2041 ax-8 2147 ax-9 2155 ax-10 2178 ax-11 2194 ax-12 2213 ax-ext 2732 ax-rep 5232 ax-sep 5251 ax-nul 5263 ax-pow 5330 ax-pr 5398 ax-un 7736 ax-cnex 11180 ax-resscn 11181 ax-1cn 11182 ax-icn 11183 ax-addcl 11184 ax-addrcl 11185 ax-mulcl 11186 ax-mulrcl 11187 ax-mulcom 11188 ax-addass 11189 ax-mulass 11190 ax-distr 11191 ax-i2m1 11192 ax-1ne0 11193 ax-1rid 11194 ax-rnegex 11195 ax-rrecex 11196 ax-cnre 11197 ax-pre-lttri 11198 ax-pre-lttrn 11199 ax-pre-ltadd 11200 ax-pre-mulgt0 11201 ax-pre-sup 11202 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-tru 1573 df-fal 1583 df-ex 1813 df-nf 1817 df-sb 2100 df-mo 2564 df-eu 2594 df-clab 2739 df-cleq 2752 df-clel 2835 df-nfc 2909 df-ne 2956 df-nel 3062 df-ral 3077 df-rex 3087 df-rmo 3365 df-reu 3366 df-rab 3413 df-v 3452 df-sbc 3740 df-csb 3848 df-dif 3902 df-un 3904 df-in 3906 df-ss 3916 df-pss 3919 df-nul 4280 df-if 4483 df-pw 4559 df-sn 4585 df-pr 4587 df-tp 4589 df-op 4591 df-uni 4868 df-int 4908 df-iun 4953 df-iin 4954 df-br 5104 df-opab 5168 df-mpt 5187 df-tr 5213 df-id 5550 df-eprel 5555 df-po 5563 df-so 5564 df-fr 5608 df-se 5609 df-we 5610 df-xp 5661 df-rel 5662 df-cnv 5663 df-co 5664 df-dm 5665 df-rn 5666 df-res 5667 df-ima 5668 df-pred 6299 df-ord 6360 df-on 6361 df-lim 6362 df-suc 6363 df-iota 6489 df-fun 6535 df-fn 6536 df-f 6537 df-f1 6538 df-fo 6539 df-f1o 6540 df-fv 6541 df-isom 6542 df-riota 7370 df-ov 7416 df-oprab 7417 df-mpo 7418 df-of 7678 df-om 7863 df-1st 7986 df-2nd 7987 df-supp 8159 df-frecs 8280 df-wrecs 8311 df-recs 8360 df-rdg 8399 df-1o 8455 df-2o 8456 df-er 8696 df-map 8828 df-ixp 8905 df-en 8953 df-dom 8954 df-sdom 8955 df-fin 8956 df-fsupp 9332 df-fi 9381 df-sup 9412 df-inf 9413 df-oi 9482 df-card 9944 df-pnf 11269 df-mnf 11270 df-xr 11271 df-ltxr 11272 df-le 11273 df-sub 11467 df-neg 11468 df-div 11896 df-nn 12258 df-2 12327 df-3 12328 df-4 12329 df-5 12330 df-6 12331 df-7 12332 df-8 12333 df-9 12334 df-n0 12529 df-z 12616 df-dec 12737 df-uz 12888 df-q 12998 df-rp 13043 df-xneg 13163 df-xadd 13164 df-xmul 13165 df-icc 13405 df-fz 13562 df-fzo 13710 df-seq 14066 df-hash 14395 df-struct 17239 df-sets 17256 df-slot 17274 df-ndx 17286 df-base 17302 df-ress 17323 df-plusg 17355 df-mulr 17356 df-sca 17358 df-vsca 17359 df-ip 17360 df-tset 17361 df-ple 17362 df-ds 17364 df-hom 17366 df-cco 17367 df-rest 17507 df-topn 17508 df-0g 17526 df-gsum 17527 df-topgen 17528 df-pt 17529 df-prds 17532 df-xrs 17588 df-qtop 17593 df-imas 17594 df-xps 17596 df-mre 17670 df-mrc 17671 df-acs 17673 df-mgm 18730 df-sgrp 18821 df-mnd 18837 df-submnd 18892 df-mulg 19191 df-cntz 19444 df-cmn 19909 df-psmet 21577 df-xmet 21578 df-bl 21580 df-mopn 21581 df-top 23119 df-topon 23136 df-topsp 23158 df-bases 23171 df-cn 23452 df-cnp 23453 df-tx 23788 df-hmeo 23981 df-xms 24546 df-tms 24548 |
| This theorem is used by: txmetcnp 24773 |
| Copyright terms: Public domain | W3C validator |