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

Theorem cmetcusp 25306
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 25238 . . . . 5 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (Met‘𝑋))
2 metxmet 24273 . . . . 5 (𝐷 ∈ (Met‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
3 xmetpsmet 24287 . . . . 5 (𝐷 ∈ (∞Met‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
41, 2, 33syl 18 . . . 4 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
54anim2i 617 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)))
6 metuust 24499 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (metUnif‘𝐷) ∈ (UnifOn‘𝑋))
7 eqid 2735 . . . 4 (toUnifSp‘(metUnif‘𝐷)) = (toUnifSp‘(metUnif‘𝐷))
87tususp 24210 . . 3 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
95, 6, 83syl 18 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
10 simpll 766 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)))
1110simprd 495 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (CMet‘𝑋))
121, 2syl 17 . . . . . . . 8 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
1312ad3antlr 731 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (∞Met‘𝑋))
147tusbas 24206 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → 𝑋 = (Base‘(toUnifSp‘(metUnif‘𝐷))))
1514fveq2d 6880 . . . . . . . . . . 11 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (Fil‘𝑋) = (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷)))))
1615eleq2d 2820 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
175, 6, 163syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
1817biimpar 477 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
1918adantr 480 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
207tususs 24208 . . . . . . . . . . . . 13 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (metUnif‘𝐷) = (UnifSt‘(toUnifSp‘(metUnif‘𝐷))))
2120fveq2d 6880 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
225, 6, 213syl 18 . . . . . . . . . . 11 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
2322eleq2d 2820 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))))
2423biimpar 477 . . . . . . . . 9 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
2524adantlr 715 . . . . . . . 8 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
26 cfilucfil2 24500 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
275, 26syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
2827simplbda 499 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(metUnif‘𝐷))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
2910, 25, 28syl2anc 584 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
30 iscfil 25217 . . . . . . . 8 (𝐷 ∈ (∞Met‘𝑋) → (𝑐 ∈ (CauFil‘𝐷) ↔ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
3130biimpar 477 . . . . . . 7 ((𝐷 ∈ (∞Met‘𝑋) ∧ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))) → 𝑐 ∈ (CauFil‘𝐷))
3213, 19, 29, 31syl12anc 836 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFil‘𝐷))
33 eqid 2735 . . . . . . 7 (MetOpen‘𝐷) = (MetOpen‘𝐷)
3433cmetcvg 25237 . . . . . 6 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑐 ∈ (CauFil‘𝐷)) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
3511, 32, 34syl2anc 584 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
36 eqid 2735 . . . . . . . . . . 11 (unifTop‘(metUnif‘𝐷)) = (unifTop‘(metUnif‘𝐷))
377, 36tustopn 24209 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
385, 6, 373syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
3912anim2i 617 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)))
40 xmetutop 24507 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4139, 40syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4238, 41eqtr3d 2772 . . . . . . . 8 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (TopOpen‘(toUnifSp‘(metUnif‘𝐷))) = (MetOpen‘𝐷))
4342oveq1d 7420 . . . . . . 7 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) = ((MetOpen‘𝐷) fLim 𝑐))
4443neeq1d 2991 . . . . . 6 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅ ↔ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅))
4544biimpar 477 . . . . 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 412 . . 3 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
4847ralrimiva 3132 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
49 iscusp 24237 . 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 206  wa 395   = wceq 1540  wcel 2108  wne 2932  wral 3051  wrex 3060  wss 3926  c0 4308   × cxp 5652  cima 5657  cfv 6531  (class class class)co 7405  0cc0 11129  +crp 13008  [,)cico 13364  Basecbs 17228  TopOpenctopn 17435  PsMetcpsmet 21299  ∞Metcxmet 21300  Metcmet 21301  fBascfbas 21303  MetOpencmopn 21305  metUnifcmetu 21306  Filcfil 23783   fLim cflim 23872  UnifOncust 24138  unifTopcutop 24169  UnifStcuss 24192  UnifSpcusp 24193  toUnifSpctus 24194  CauFiluccfilu 24224  CUnifSpccusp 24235  CauFilccfil 25204  CMetccmet 25206
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-rep 5249  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-1st 7988  df-2nd 7989  df-frecs 8280  df-wrecs 8311  df-recs 8385  df-rdg 8424  df-1o 8480  df-er 8719  df-map 8842  df-en 8960  df-dom 8961  df-sdom 8962  df-fin 8963  df-sup 9454  df-inf 9455  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-4 12305  df-5 12306  df-6 12307  df-7 12308  df-8 12309  df-9 12310  df-n0 12502  df-z 12589  df-dec 12709  df-uz 12853  df-q 12965  df-rp 13009  df-xneg 13128  df-xadd 13129  df-xmul 13130  df-ico 13368  df-fz 13525  df-struct 17166  df-sets 17183  df-slot 17201  df-ndx 17213  df-base 17229  df-tset 17290  df-unif 17294  df-rest 17436  df-topn 17437  df-topgen 17457  df-psmet 21307  df-xmet 21308  df-met 21309  df-bl 21310  df-mopn 21311  df-fbas 21312  df-fg 21313  df-metu 21314  df-fil 23784  df-ust 24139  df-utop 24170  df-uss 24195  df-usp 24196  df-tus 24197  df-cfilu 24225  df-cusp 24236  df-cfil 25207  df-cmet 25209
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator