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

Theorem cmetcusp 23884
Description: The uniform space generated by a complete metric is a complete uniform space. (Contributed by Thierry Arnoux, 5-Dec-2017.)
Assertion
Ref Expression
cmetcusp ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp)

Proof of Theorem cmetcusp
Dummy variables 𝑥 𝑐 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 cmetmet 23816 . . . . 5 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (Met‘𝑋))
2 metxmet 22871 . . . . 5 (𝐷 ∈ (Met‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
3 xmetpsmet 22885 . . . . 5 (𝐷 ∈ (∞Met‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
41, 2, 33syl 18 . . . 4 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
54anim2i 616 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)))
6 metuust 23097 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (metUnif‘𝐷) ∈ (UnifOn‘𝑋))
7 eqid 2818 . . . 4 (toUnifSp‘(metUnif‘𝐷)) = (toUnifSp‘(metUnif‘𝐷))
87tususp 22808 . . 3 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
95, 6, 83syl 18 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
10 simpll 763 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)))
1110simprd 496 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (CMet‘𝑋))
121, 2syl 17 . . . . . . . 8 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
1312ad3antlr 727 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (∞Met‘𝑋))
147tusbas 22804 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → 𝑋 = (Base‘(toUnifSp‘(metUnif‘𝐷))))
1514fveq2d 6667 . . . . . . . . . . 11 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (Fil‘𝑋) = (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷)))))
1615eleq2d 2895 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
175, 6, 163syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
1817biimpar 478 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
1918adantr 481 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
207tususs 22806 . . . . . . . . . . . . 13 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (metUnif‘𝐷) = (UnifSt‘(toUnifSp‘(metUnif‘𝐷))))
2120fveq2d 6667 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
225, 6, 213syl 18 . . . . . . . . . . 11 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
2322eleq2d 2895 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))))
2423biimpar 478 . . . . . . . . 9 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
2524adantlr 711 . . . . . . . 8 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
26 cfilucfil2 23098 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
275, 26syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
2827simplbda 500 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(metUnif‘𝐷))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
2910, 25, 28syl2anc 584 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
30 iscfil 23795 . . . . . . . 8 (𝐷 ∈ (∞Met‘𝑋) → (𝑐 ∈ (CauFil‘𝐷) ↔ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
3130biimpar 478 . . . . . . 7 ((𝐷 ∈ (∞Met‘𝑋) ∧ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))) → 𝑐 ∈ (CauFil‘𝐷))
3213, 19, 29, 31syl12anc 832 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFil‘𝐷))
33 eqid 2818 . . . . . . 7 (MetOpen‘𝐷) = (MetOpen‘𝐷)
3433cmetcvg 23815 . . . . . 6 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑐 ∈ (CauFil‘𝐷)) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
3511, 32, 34syl2anc 584 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
36 eqid 2818 . . . . . . . . . . 11 (unifTop‘(metUnif‘𝐷)) = (unifTop‘(metUnif‘𝐷))
377, 36tustopn 22807 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
385, 6, 373syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
3912anim2i 616 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)))
40 xmetutop 23105 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4139, 40syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4238, 41eqtr3d 2855 . . . . . . . 8 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (TopOpen‘(toUnifSp‘(metUnif‘𝐷))) = (MetOpen‘𝐷))
4342oveq1d 7160 . . . . . . 7 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) = ((MetOpen‘𝐷) fLim 𝑐))
4443neeq1d 3072 . . . . . 6 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅ ↔ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅))
4544biimpar 478 . . . . 5 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)
4610, 35, 45syl2anc 584 . . . 4 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)
4746ex 413 . . 3 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
4847ralrimiva 3179 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
49 iscusp 22835 . 2 ((toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp ↔ ((toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp ∧ ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)))
509, 48, 49sylanbrc 583 1 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396   = wceq 1528  wcel 2105  wne 3013  wral 3135  wrex 3136  wss 3933  c0 4288   × cxp 5546  cima 5551  cfv 6348  (class class class)co 7145  0cc0 10525  +crp 12377  [,)cico 12728  Basecbs 16471  TopOpenctopn 16683  PsMetcpsmet 20457  ∞Metcxmet 20458  Metcmet 20459  fBascfbas 20461  MetOpencmopn 20463  metUnifcmetu 20464  Filcfil 22381   fLim cflim 22470  UnifOncust 22735  unifTopcutop 22766  UnifStcuss 22789  UnifSpcusp 22790  toUnifSpctus 22791  CauFiluccfilu 22822  CUnifSpccusp 22833  CauFilccfil 23782  CMetccmet 23784
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1787  ax-4 1801  ax-5 1902  ax-6 1961  ax-7 2006  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2151  ax-12 2167  ax-ext 2790  ax-rep 5181  ax-sep 5194  ax-nul 5201  ax-pow 5257  ax-pr 5320  ax-un 7450  ax-cnex 10581  ax-resscn 10582  ax-1cn 10583  ax-icn 10584  ax-addcl 10585  ax-addrcl 10586  ax-mulcl 10587  ax-mulrcl 10588  ax-mulcom 10589  ax-addass 10590  ax-mulass 10591  ax-distr 10592  ax-i2m1 10593  ax-1ne0 10594  ax-1rid 10595  ax-rnegex 10596  ax-rrecex 10597  ax-cnre 10598  ax-pre-lttri 10599  ax-pre-lttrn 10600  ax-pre-ltadd 10601  ax-pre-mulgt0 10602  ax-pre-sup 10603
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 842  df-3or 1080  df-3an 1081  df-tru 1531  df-ex 1772  df-nf 1776  df-sb 2061  df-mo 2615  df-eu 2647  df-clab 2797  df-cleq 2811  df-clel 2890  df-nfc 2960  df-ne 3014  df-nel 3121  df-ral 3140  df-rex 3141  df-reu 3142  df-rmo 3143  df-rab 3144  df-v 3494  df-sbc 3770  df-csb 3881  df-dif 3936  df-un 3938  df-in 3940  df-ss 3949  df-pss 3951  df-nul 4289  df-if 4464  df-pw 4537  df-sn 4558  df-pr 4560  df-tp 4562  df-op 4564  df-uni 4831  df-int 4868  df-iun 4912  df-br 5058  df-opab 5120  df-mpt 5138  df-tr 5164  df-id 5453  df-eprel 5458  df-po 5467  df-so 5468  df-fr 5507  df-we 5509  df-xp 5554  df-rel 5555  df-cnv 5556  df-co 5557  df-dm 5558  df-rn 5559  df-res 5560  df-ima 5561  df-pred 6141  df-ord 6187  df-on 6188  df-lim 6189  df-suc 6190  df-iota 6307  df-fun 6350  df-fn 6351  df-f 6352  df-f1 6353  df-fo 6354  df-f1o 6355  df-fv 6356  df-riota 7103  df-ov 7148  df-oprab 7149  df-mpo 7150  df-om 7570  df-1st 7678  df-2nd 7679  df-wrecs 7936  df-recs 7997  df-rdg 8035  df-1o 8091  df-oadd 8095  df-er 8278  df-map 8397  df-en 8498  df-dom 8499  df-sdom 8500  df-fin 8501  df-sup 8894  df-inf 8895  df-pnf 10665  df-mnf 10666  df-xr 10667  df-ltxr 10668  df-le 10669  df-sub 10860  df-neg 10861  df-div 11286  df-nn 11627  df-2 11688  df-3 11689  df-4 11690  df-5 11691  df-6 11692  df-7 11693  df-8 11694  df-9 11695  df-n0 11886  df-z 11970  df-dec 12087  df-uz 12232  df-q 12337  df-rp 12378  df-xneg 12495  df-xadd 12496  df-xmul 12497  df-ico 12732  df-fz 12881  df-struct 16473  df-ndx 16474  df-slot 16475  df-base 16477  df-sets 16478  df-tset 16572  df-unif 16576  df-rest 16684  df-topn 16685  df-topgen 16705  df-psmet 20465  df-xmet 20466  df-met 20467  df-bl 20468  df-mopn 20469  df-fbas 20470  df-fg 20471  df-metu 20472  df-fil 22382  df-ust 22736  df-utop 22767  df-uss 22792  df-usp 22793  df-tus 22794  df-cfilu 22823  df-cusp 22834  df-cfil 23785  df-cmet 23787
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator